Render.ru

Юниты 3ds max и Zbrush

Рейтинг
79
#1
Суть траблы....

Вот есть модель в 3ds max, перегоняю я ее в збраш и если включить отображения grid (пола) то он совсем крохотный, а это значит, что размер модели в 3ds max и в zbrush разные, оно бы нечего, но если выкрутить размер кисти на максимальный ее все равно не хватает чтобы покрыть всю модель ибо юниты громадные. И тут возникает еще одна проблема, если в самом збраше ее уменьшить все нормально, а вдруг придется опять из макса экспортить чего, придется опять уменьшать и подставлять это не удобно. Я пробовал решить проблему уменьшая модель в самом максе до малюсеньких размеров и все нормально, но это запарно и не удобно.
Хотелось бы узнать как эту проблему можно решать, пробовал в максе поменять систему юнитов но результата не дало.
 
Рейтинг
64
#2
Это старая проблема.Без гемороя не лечиться.Проще создать обьект в максе уменьшить его раз в 500 чтобы в браше кисть и динамешь нормально работали и работать с этим маштабом...экспортить или через гоз кидать.В самом конце проекта если нужно будет отмаштабировать в максе до нормального размера.(после снятия карт и т.д когда хай поли уже не нужена) Маштабы и там и там совпадают браш некоректно с большими моделями(маштабом) работает
 
Рейтинг
64
#4
Scaling Issues (GoZ, Blender, Max, etc.) Solution and explanation.
This post contains solutions to some of the scaling issues between Zbrush and other programs. It also contains some of the explanation, or the why, behind what's going on. I believe in teaching the why as it helps others to think of other solutions and problem solving better ways to doing things in their future projects. Teach a man to fish and all that.

The information and solutions in this post may not be 100% correct. It is based on my own observations and experimentation. If anyone finds an error or false information let me know and I'll update the corrections.



Some Explanation:

Usually in 3D the output is a rendering. This means the actual units of the model is not important but the proportions are, i.e., a character sitting in a car needs to be properly porportioned to the car. However sometimes in 3D it's just as important (or sometimes more important) that the actual units are correct, for example making a 3d print of the car at exact physical dimensions required by a client.

The Zbrush floor grid is only 14x14 units or +/- 7 units from the origin point of 0,0.

If you look at the example models that come with Zbrush you'll notice their dimensions are within a small area of Zbrush units.

Listed below are a few models' rough estimate size in Zbrush units:
Demo Head: 1 x 2 x 2
Demo Solder: 5 x 2 x 8
Dog: .5 x 2 x 2

You'll notice that even with high details these models are fairly small in dimension. Most of Zbrush's 3D Meshes (Cube, Cone, Ring, Polymesh star, etc.) are within 2 x 2 units. You'll also notice they look good in the Tool->Preview window.

Zbrush's brushes, transpose, and other tools work best at certain range of scale. This is great if your model fits within these units. However if you work on a model much larger than this range you may notice a problem with different brushes and tools. On a very large model brushes like the move brush don't have the full effect of the intended stroke. In other words a very long stroke of the move brush may only move points on the model a small amount as if the stroke were much shorter. The same effect happens with tools like the transpose scale. The opposite effect also happens when a model much smaller, i.e., the transpose scale will scale much bigger than the intended stroke. Some brushes and tools are not affected as they are dependent on the screen scale and not the model scale. Some brushes are dependent on both screen and model scale, i.e., the move brush will only move points within the brush size but only move them based on the model's actual scale.

To prevent these issues and to keep brushes and tools working consistently as intended your model needs to be within a reasonable range of units inside Zbrush. As noted above this range is reasonably small in terms of Zbrush units. This is fine if a model is 14mm x 14mm (1 unit = 1mm) but what if a model is 100mm x 100mm?

How does Zbrush get around this issue? Simple, it automatically readjusts the scale of the model to fit within Zbrush's ideal unit range for its brushes and toolset. At least it usually automatically make these adjustments. GoZ is one of those processes that does not make these adjustments.

To find these automatic settings try the following:

1. Select the Polymesh 3D star tool.
2. Check the Tool->Export section settings.
*The settings should be Scale: 0, X Offset: 0, Y Offset: 0, Z Offset: 0
3. Import an .obj file.
4. Check the same scaling and offset settings under the Tool->Export section.

You'll notice the Scale, X Offset, Y Offset, Z Offset now have different values. These new values are calculated when the model is imported into Zbrush. The scale and offset settings will vary based on your .obj model. The auto scaling will usually adjust the model to fit a 2x2 area. The offset is to set the model's center point to be the same as Zbrush's origin point.

This is great as it puts a much larger model within the ideal scale for Zbrush's brushes and tools. However if you transfer the model as is to another 3d package the size and position will now be different than the original. To set the model back to its original size and location Zbrush looks at the export settings (Tool->Export).

Example:

A model 100mm x 100mm x 100mm imported into Zbrush will be scaled down to 2 x 2 x 2 Zbrush units. The Tool->Export settings will have a scale set to 50 (50 x 2 = 100). When exported the 2x model will be scaled at 50 back its original 100mm size.

*Note: The scale setting also applies to the offset number. So a scale of 2 and an offset of 1 would be the same as a scale of 1 and an offset of 2.

This automatic adjustment can be turned off but the setting isn't where you would expect it to be.

1. Select the PolyMesh 3D star tool.
2. Change the Tool->Export->Scale setting to 1 instead of 0.
3. Import the same .obj model as before.
Check the Tool->Export scale settings and instead of being automatically adjusted it will be whatever settings you set for the PolyMesh3D tool.

*Caution!
Once you change this setting to anything above 0 it won't let you change it back to 0. To change this setting back to 0 you need to reset or initialize Zbrush. It also means you don't want to save ui or other custom settings when this value is not set to 0.

On import Zbrush will do one of two options:

If you don't have a polymesh selected as your current tool, such as one of Zbrush's standard 3D shapes or even any of the 2.5 brushes, then Zbrush will clone the PolyMesh3D star and then import the model using the settings from the PolyMesh3D star. The cloned PolyMesh is replaced with the imported model.

If you have a polymesh selected then it will use the currently selected polymesh Tool->Export settings and replace the current polymesh with the imported model.

When a standard Zbrush shape is converted to a Polymesh (Tool->Make PolyMesh3D) its Tool->Export settings are set to a default of 0.

On import Zbrush will check to the Tool->Export Scale setting. If it is set to 0. then it will run the automatic adjustment and set the settings according to the model. If the scale is anything greater than 0 it skips the automatic adjustment and leaves the settings as they're currently set. Even a scale of 0.00000000001 will ignore the automatic adjustment even though the setting may display a single 0 due to too many zeros after the decimal.

However GoZ ignores the automatic scaling and adjustment step. Instead it just sets the scale to 1 and has no offset (or a setting of 0).

This means our 100mm model when imported will get a scale of 50 a model transfered through GoZ will get a scale of 1.


Also note that changing the Tool->Export scale settings will adjust your Zbrush units when measuring with the transpose tool. My 100mm model is 100 Zbrush units at a scale of 1 but too large to work properly with Zbrush's brushes and tools. My same 100mm model at a scale of 50 will show up as 2 units on the floor grid but will still show at 100 units while measuring with the transpose tool.






SOLUTIONS:
Solution 1: Export the model out of your other 3d software first and then use GoZ between them.

1. Save or Export the model at actual size into an .obj file in separate 3d package.
2. In Zbrush import the model.
3. GoZ from Zbrush back to original 3d software.

Once you do these steps you should be able to GoZ back and forth between Zbrush and your other software without any issues.

On import the model is scaled to be within Zbrush's ideal unit range of work (approximately 2x2). The settings are saved in the Tool->Export section. When GoZ out of Zbrush the model is scaled according to its scale settings back to its original size. When you GoZ back into Zbrush it replaces the named subtool, which should already have the correct scaling options.


Solution 2: Setup a .ZTL with preset settings and append models as subtools.

1. Open your presaved Ztool file:
2. Import or GoZ a model into Zbrush.
3. Append the imported model as a subtool of the original Ztool file opened in step 1.

Once you do this you can select the subtool and GoZ as neccessary.

When you append a model as a subtool it checks the models' Tool->Export settings and adjusts the model back to its original size. It then adjusts the subtool to match the appropriate size of the tool it is being appended to.

For my models I've created a .ZTL file with a 100mm x 100mm x 10mm cylinder. I set the Tool->Export Scale to 50 and the X,Y,and Z offset to 0.



Solution 3: Manually set your scale option

1. Select the PolyMesh3D star tool
2. Change the Tool->Export->Scale setting as desired.
3. Import your .obj or Append a GoZ model.

To find a proper scale setting take your actual model size (or close approximate) and divide by 2. Remember the 2x2 range of most default Zbrush models? That's where the 2 comes from.

Example:

A model that is 100mm x 100mm x 75mm would be a scale setting of 50 (100mm / 2 = 50).






Hope this helps and again post any corrections or point out misinformation and I'll update the post. I may also update some of the formatting if this is hard to read.
Last edited by MentalFrog; 04-26-12 at 12:15 AM.
Reply With Quote



04-26-12
#2
Strandli
New Member
User Gallery
Join Date:
Jan 2008
Posts:
6

Thank you so much for this long in-depth post! It will be very useful for future use. After I made the thread asking for help regarding this issue, someone from Pixologic Support tried to answer me as well. I figured I might as well share the answer I got here as well.

You are right for what you are describing, ZBrush doesn't like massive files. That's why we have the Unify command in the Tool >> Deformation palette to "reset" the files transformation information.

We are thinking of adding in GoZ a scale I/O factor for the target application and make such behavior disappearing. But unfortunately, it won't be possible before the next major update of ZBrush (5)
So while nothing is set in stone, hopefully this will no longer be an issue in future versions.

But again, thanks for the help! Having some solutions to the problem is fantastic.
Reply With Quote



04-26-12
#3
AbelOroz
New Member
User Gallery
Join Date:
Sep 2011
Location:
Madrid, Spain
Posts:
11

Yay, that was an awesome help. A million thanks

Kudos
CGHub
Reply With Quote



04-26-12
#4
MentalFrog
Senior Member
User Gallery
Join Date:
Sep 2010
Posts:
546

Originally Posted by Strandli
Thank you so much for this long in-depth post! It will be very useful for future use. After I made the thread asking for help regarding this issue, someone from Pixologic Support tried to answer me as well. I figured I might as well share the answer I got here as well.

You are right for what you are describing, ZBrush doesn't like massive files. That's why we have the Unify command in the Tool >> Deformation palette to "reset" the files transformation information.

We are thinking of adding in GoZ a scale I/O factor for the target application and make such behavior disappearing. But unfortunately, it won't be possible before the next major update of ZBrush (5)


So while nothing is set in stone, hopefully this will no longer be an issue in future versions.

But again, thanks for the help! Having some solutions to the problem is fantastic.
The problem with Unify is that it changes your model size. My 100mm object is now 2mm. If I GoZ a unified model it's going to be too small in my other 3d software. Unify doesn't change the Tool->Export scale settings but the actual model.

So it's a solution only if you need to quickly re-size and offset your model to Zbrush's ideal unit range and don't need to transfer it back to another program or scene.
Last edited by MentalFrog; 04-26-12 at 04:47 AM.
Reply With Quote



04-26-12
#5
Strandli
New Member
User Gallery
Join Date:
Jan 2008
Posts:
6

Originally Posted by MentalFrog
The problem with Unify is that it changes your model size. My 100mm object is now 2mm. If I GoZ a unified model it's going to be too small in my other 3d software. Unify doesn't change the Tool->Export scale settings but the actual model.

So it's a solution only if you need to quickly re-size and offset your model to Zbrush's ideal unit range and don't need to transfer it back to another program or scene.
Yupp, I am well aware of that. Just thought the answer was worth sharing so we know there isn't a "official fix" we've overlooked. Unify is nice to know about anyway though.

hopefully this won't be a problem when Zbrush 5 launches some day in the distant future.
Reply With Quote



04-26-12
#6
Zeddicus
Senior Member
User Gallery
Join Date:
Jan 2003
Location:
Midlands
Posts:
501

In 3ds Max 2012:

Customize > Units Setup > Display Unit Scale > Metric > Centimeters
Customize > Units Setup > System Unit Setup > 1 Unit = 1.0 Centimeters (Distance from origin: 1.0cm)
Tools > Grids and Snaps > Grid and Snap Settings > Home Grid (Grid Spacing = 1.0cm)
Tools > Grids and Snaps > Grid and Snap Settings > Home Grid (Perspective View Grid Extents = 10)
OBJ scale settings in both the export and import dialogs = 1.0 (YZ flip enabled in both too)

In ZBrush 4R3:

Tool > Export > Scale = 10 (will say 9.9999) - use ZB's value if you don't want your mesh resized to preview size

=================================

Those are the settings I start a new project with. They're for manually exporting without GoZ. When using the perspective view in Max, the visible grid will be the exact same size as the Tool > Preview window in ZBrush which seems to be the size it prefers to work with (the unify option will automatically resize a mesh to fit within this window for example). It gives me a reasonable space to work in that I know won't give me any trouble and I don't do any resizing until I'm finished and ready to put the model into the final scene. It doesn't actually have to be centimeters in Max. Any choice will do so long as both the system unit and display unit types match (inches in both, meters in both, feet for both, and so on). To simply the setup process for beginning a new project, I created my own UV'd non-polar primitives which fit within this space and saved them in .max .ztl and .obj formats. Remembering the size relationship is pretty easy too. For example moving something 5 grid spaces in Max is the equivalent of offsetting 50 units in ZBrush (20x20 grid spaces in Max equals 200x200 deformation units in ZBrush, the exact size of its preview window. Just have to move the decimal point over).

Edit: If starting out in ZBrush instead, export with a scale of 1 and use an OBJ import scale of 10.0 in Max. That way you can avoid using the scale tool in Max (which usually requires the reset x-from modifier to fix).
Last edited by Zeddicus; 04-27-12 at 12:00 AM.
Reply With Quote



05-18-12
#7
Nolan_R
Senior Member
User Gallery
Join Date:
Oct 2005
Location:
Liverpool, UK
Posts:
121

Thanks for the information, this thread has been a big help.

At our studio we recently decided to standardise the System Units Scale in 3DS Max across all projects, setting it to 1 Unit = 1cm. This resulted in models that appear huge in ZBrush when they're transferred across using GoZ (I'd noticed some strange behavior when attempting to use NoiseMaker and the Deformation controls).

Setting the System Units Scale in 3DS Max to 1 Unit = 1m appears to bring the models across at a much more ZBrush-friendly scale, so I think I'll be recommending that we use that scale setting going forward.
Nolan Rowles

CGPortfolio
Reply With Quote



05-30-13
#8
Elden
New Member
User Gallery
Join Date:
Oct 2012
Location:
Gothenburg, Sweden
Posts:
21

A million thanks for this clarification!
________________

w w w . f e i n e r a r t s . c o m
Reply With Quote



09-14-13
#9
Adnan
New Member
User Gallery
Join Date:
Apr 2004
Location:
USA
Posts:
2
How to fix model scale and retain sculpted levels
Hi,

I have a model that originally began at a much smaller scale in 3DS Max. I sculpted multiple subtools in zbrush and finished up the character. Using GoZ I took it to 3DS Max, rescaled all parts of the model at once using the xform modifier, then GoZ'd that back to Zbrush. The model scaled up as I had wanted, but now the brushes don't behave as desired, since the model is so large.

I looked at this thread to learn more: http://www.zbrushcentral.com/showthr...ighlight=scale

However, the solutions presented here require that I export an obj from 3ds max and then import that into zbrush. How can I do this with multiple subtools and get the higher subdivisions with sculpted details back onto the imported model? Or is there some other way to fix the scale on this?

Thank you,

Adnan Hussain
http://www.madguru.com
Reply With Quote



3 Days Ago
#10
ayth1
New Member
User Gallery
Join Date:
Apr 2012
Location:
NYC
Posts:
9

This is a great post. I tried the methods explained, particularly solution 3. It works fine but it unfortunately will not work with the multi map exporter. Has anybody had success using any of these solutions with the multi map exporter?


Originally Posted by MentalFrog
Solution 3: Manually set your scale option

1. Select the PolyMesh3D star tool
2. Change the Tool->Export->Scale setting as desired.
3. Import your .obj or Append a GoZ model.

To find a proper scale setting take your actual model size (or close approximate) and divide by 2. Remember the 2x2 range of most default Zbrush models? That's where the 2 comes from.

Example:

A model that is 100mm x 100mm x 75mm would be a scale setting of 50 (100mm / 2 = 50).

Site http://eric-lane.com/
 
Рейтинг
22
#5
В Zbrush есть параметр Tools\Expotr\Scale

По умолчанию его значение 1. При экспорте импорте через GOZ с таким параметром действительно неприемлемая разница в масштабах. Я ставлю значение 50 или 100, и тогда все ок.
 

Ngonic

Активный участник
Рейтинг
7
#6
Вот есть модель в 3ds max, перегоняю я ее в збраш и если включить отображения grid (пола) то он совсем крохотный
Customize>Units Setup>System Unit Setup,если установить в метрах,то и размер импортированой в ZBrush из макса геометрии будет нормальный.
 

Ngonic

Активный участник
Рейтинг
7
#8
опишу опытным методом.

При указанных выше настройках юнитов,создаем бокс 200 смХ200см .Отправляем его в ZBrush с помощью GoZ.Как можно увидеть, бокс нормально вписывается в пределы пола ZBrush,а не превышает его размеры во много раз.

Не знаю у кого как,но у меня и кисти и дайнамеш и все остальные фичи ZBrush при таких настройках системных юнитов Макса, работают корректно.
Надеюсь это помогло.Удачи!
P.S. Кстати,если экспортировать стандартный Збрашевский куб в modo, его размеры будут 2м х 2м х 2м.В максе же ,при стандартных настройках системных юнитов (дюймы если не ошибаюсь), размер куба будет примерно 5 см (2 х 2,54 см),такие же, примерно, размеры будут у SuperAverageMan_low_1.ZTL,что достаточно мало для среднестатистической фигуры человека :)
 
Рейтинг
64
#9
Я даже не знаю что на это ответить))Ты читал статью на английском выше?Создай куб не 200 на 200 а 2000 на 2000 и кинь в браш.По поводу модели Зукарелло конечно же она меньше реальных размеров иначе в браше с ней невозможно былобы работать
 

Ngonic

Активный участник
Рейтинг
7
#10
Ты читал статью на английском выше?
Читал конечно.Вон там же чел писал,тоже самое.

Setting the System Units Scale in 3DS Max to 1 Unit = 1m appears to bring the models across at a much more ZBrush-friendly scale, so I think I'll be recommending that we use that scale setting going forward.
Nolan Rowles
А насчет предложения кинуть куб 2000Х2000 см...так может вообще для пущей жути закинуть 5км х5км? ;)))Тогда уж точно предложеные автором свистопляски с маштабом внутри ZBrush прийдется использовать).
 
Рейтинг
64
#12
Я непойму что ты пытаешься доказать.Программа некоректно работает с большим маштабом это факт.Я делаю в браше и инвиру и 5 на 5 с удовольствием бы делал в реальном маштабе но это невозможно
 

M.R.K.

Модератор форума
Команда форума
Рейтинг
349
#13
Когда переносишь в модо по дефолту Ник_хьюман_мале, то получается его рост 182 метра. Изменяю размер и все ок становится при переносе туда-сюда.
Пол в браше адаптивный и ни как не показатель размера.
 

Ngonic

Активный участник
Рейтинг
7
#14
Я непойму что ты пытаешься доказать
У меня нет необходимости что либо доказывать в данной ситуации.Я просто отвечаю на твои же вопросы.А так вообще копипаста с zbrushcentral достаточно полезная,спасибо.
 
Рейтинг
64
#15
на мои вопросы?Читай внимательнее ветку.Статья с централа но чтобы ее найти топикстартеру нужно там зарегаться сначала.
 

LuVeNa

Активный участник
Рейтинг
7
#16
всем привет
столкнулся с этой же проблемой, после долгих поисков нашел вот такое решение на одном из форумов. не совсем удобно, но схема работает!

That technique is not exact. In order to get your meshes exact do the following:
1. In 3DSMAX you can use GoZ or just export your model as a OBJ.
2. Load your obj into Zbrush or if you used GoZ from 3DSMAX it will already be a tool in ZBRUSH
3. In ZBRUSH draw out your tool or mesh if you will onto the screen and hit EDIT. Then go to Deformation roll out in ZBRUSH.
(DO NOT HIT UNIFY as stated in other posts) You can hit UNIFY but your scale back to 3DSMAX will be wrong!!!
4. Instead of UNIFY I want you to use the SIZE Slider. The Size Slider only goes in 100 units at full slide to the LEFT to get smaller or RIGHT to get larger.
(I used the Size slider to the left 3 full times. which was 300 units) The only thing I wanted to do here is to reduce the size of the 3DSMAX model to a comfortable size for ZBRUSH.)
5. REMEMBER HOW MANY TIMES you moved the SIZE Slider!!!! Very important!!!
6. Do your MOJO or whatever you are detailing in ZBRUSH.
7. Decimate your mesh in ZBRUSH
8. Finally use the SIZE Slider back to the right 3 times.
(This will bring your model back to the the size of what originally came from 3DSMAX)
9. Export as a OBJ or GoZ your mesh back into 3DSMAX
10. IT WILL MATCH PERFECTLY!!!!
11. Have FUN!!!
 

cgprodesign

Пользователь сайта
Рейтинг
2
#17
В Zbrush есть параметр Tools\Expotr\Scale

По умолчанию его значение 1. При экспорте импорте через GOZ с таким параметром действительно неприемлемая разница в масштабах. Я ставлю значение 50 или 100, и тогда все ок.
Работает! Если изначально выставить большее значение, то GoZ работает в оба направления правильно. То есть можно из макса через гоз отправить в браш модель и она появиться в уменьшенном масштабе и после редактирования через гоз из браша в макс возвращается в увеличенном, исходном масштабе!

Весь день ушел на эту проблему. В браше самый упоротый UI...
 
Сверху