Author Topic: Many material variations on the same complex model in one 3ds max scene.  (Read 2070 times)

2018-05-25, 06:51:33

OccultMonk

  • Active Users
  • **
  • Posts: 94
    • View Profile
What would be the best, most durable way to have many versions of assigned materials in one scene, so that I can easily switch between a version of the vehicle with green paint with white plastic and the same model with metal and dark plastic. Making it extra complex is the fact that not all materials will be assigned precisely at the same location/subobjects.

Example: A vehicle (same model) with many colors/material variations, where for example in one version some parts are of a painted material and in another version some parts are plastic or metal. (And then with about 50 materials on thousands of objects) How would you manage that on complex scenes? None of the solutions I found is flexible enough:

  • Splitting the scene in multiple 3dsmax scenes (The Problem with this is that if the model changes you have to import it in all scenes).
  • Using multiple 'containing' scenes with the material variations and only import objects as XREF objects and re-auto assign the materials from that scene to the XREF objects. So the material variations/assignments exist in the 'containing scene' but the models in the xref file. (I have not gotten this to work properly because when I (re)import the Xref objects materials are not automatically assigned.
  • Only importing materials from an external file or material library and merging that file with the scene each time I want to change the materials, overwriting the existing materials. In that case, I would have multiple scenes containing only the assigned materials that I can use to overwrite the materials. But the slate material editor with all my tabs and material node trees assignments will not stay ordered.
  • Using multi/subobject ID materials and creating one (or more) for each material combination. Then assigning that to the objects all at once for each color/material variation of the objects. the disadvantage is that when I assign a new material to certain (sub)objects I have to update all those subobject materials.
  • Using State Sets: This records material assignment (but I do not want to reassign each material like that). That would take too long. Also, state sets is not always that stable in my experience and hard to use with a recording states / making scene wide changes. Therefore state sets are better suited for batch rendering in my opinion.
  • Using Scene states: Not good to use for assigning materials. Because of recording states interferes with modeling.

2018-05-25, 11:28:06
Reply #1

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12708
  • Marcin
    • View Profile
Isn't this a perfect case for using the CoronaMultiMap?

Let's say you have 1 car model which consists of various parts. You assign various material IDs to those parts. Some of them are using a carpaint material, some of them are plastic, others leather, etc.
You assign a multi/sub-object material to this car and make sure that each part has a correct Corona Mtl applied to it.
Then you plug the CoronaMultiMap into the CoronaMtls' diffuse, reflectivity, or whatever you need.
You set the MultiMap's mode to per-instance randomization.

You clone the car 100 times.

You end up with 100 cars using various combinations of carpaint, plastic, leather, and other colors take from the multimap.

For additional control you may change MultiMap mode for example to object ID, so that you can decide which specific car should have which color scheme.

Does it make sense, or do you need something completely different?
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2018-05-25, 16:21:38
Reply #2

OccultMonk

  • Active Users
  • **
  • Posts: 94
    • View Profile
Thanks, though I was not really looking for a random solution in this case. Good idea though.

2018-05-25, 21:08:24
Reply #3

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
The perfect solution would be if Corona devs integrated (Master)Material that let's you choose which one is being applied. Sort of like Shell...but with as many arbitrary amount as you want.

Multimaterial which wouldn't need to change or even assign any IDs.

They actually had prototype half a year ago but didn't move forward with it in any way since : /. So let's bother them as well.
Seriously, this should take them less than day to make correctly, Rawalanche already made perfect GUI for it. Not sure why it got stuck in limbo.
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2018-05-26, 08:09:37
Reply #4

OccultMonk

  • Active Users
  • **
  • Posts: 94
    • View Profile
The perfect solution would be if Corona devs integrated (Master)Material that let's you choose which one is being applied. Sort of like Shell...but with as many arbitrary amount as you want.

Sound really nice, that would be great!