Hello.
I want to add an ability for my video-game players to modify (or mod) and add some files.
The procedure is that players can use 3DS Max or Blender to add their cars to the video game by exporting it as an FBX file. I've designed everything for this use case - including scripting setup and animations - but there is one problem left unsolved; The players who are adding their cars must assign appropriate materials to the models, speaking of which, they should use predefined shaders. The shaders are made within Unity3D via Shader Forge.
Ideally, I have to use the exact shader in 3D Max but I have no clue how to do so. Players have to assign appropriate shaders to each object, For example, they have to assign Glass material to car windshield, Or CarPaint material to car bodies. If they use standard shader of 3DS Max then it is not possible to save and send necessary data to Unity3D.
I would like to know what your solution for this use case could be.
Best.
Replies
"Unity imports meshes from 3ds Max. ... Materials with diffuse texture and color. Multiple materials per mesh." https://docs.unity3d.com/Manual/HOWTO-ImportObjectMax.html
It's pretty simplistic. But if you set up your materials with the same names in both Max and Unity, then Unity will try to re-use the existing Unity material when you re-import the mesh.
https://docs.unity3d.com/Manual/class-Mesh.html
If you want the shaders to look the same in 3ds Max as they do in Unity, then you will need to generate custom viewport shaders in 3ds Max. You can do this with the Shader FX shader editor; it works similarly to Shader Forge. I have an example here: http://ericchadwick.com/img/robot_rising.html#utility_shader