Exporting Fbx/Obj. with materials/textures.
Hello, I know this question is asked for many times.
But none has helped to resolve my questions.
My questions are,
1.-How does sellers of CGtrader export their models that has material/texture? I know some people zip the textures so buyer can put it (I don't know if it's correct), but how exactly does people do it? I use blender, but you can give me any example.
2.-How does buyers import the models that has material/texture (Or how do they prefer)? This question is the same like above, but any information is good since I'm not sure how buyer wants the file come.
3.- How does someone export fbx. since it doesn't has a mtl. like obj. file?
4.- For people who uses blender with other software: I know when you export obj. it contains a mtl. file, I won't be able to see the texture of the model in blender Cycles (Someone says that it automacally add the texture when you open the obj., I only did this). But the question is, will people see this texture in other 3D software?
I can share my experience, which not necessarily could be applied to you or anybody else.
1. generally i provide only two exchange formats - FBX and OBJ. The former is exported with basic material (usually only diffuse, glossiness and bump/normal textures) and the latter is exported without materials whatsoever. I clearly write in model description about material support status and never had any complaints from the buyers so far.
2. first of all, you have to understand that exchange formats has very limited ability to transfer materials. No procedurals, no complex composite or mix shaders are supported. Only plain textures and limited amount map slots. If buyer can't open your native file, then he will have to recreate material on his own. Usually that's very easy in case of PBR material, because one only has to plug provided textures into according slots to faithfully recreate original material. In case of classic (oldschool) materials, the task might be significantly harder, sometimes even impossible. Best thing that you can do as a seller, is to clearly write that in the description.
3. FBX doesn't need external mtl file - it carries all the needed information within itself. You can even embed texture files within FBX, although i wouldn't recommend to do that.
4. i can only tell how it is in 3ds max. If textures are in the same folder as FBX or OBJ, or in its subfolders, then max will hook up textures automatically (OBJ file has to have mtl file for this to work). Otherwise user will have to point program to correct path where textures are located.
Hope that helps to clear things a bit.
LemonadeCG already provided a good explanation and I would mostly recommend the same but also consider some renderers provide interchangeable shader formats.
For example I use Octane render for 3ds max but Octane also has plugins for Maya, C4D, Blender, Houdini and long list of others. The shader graph you create with it (in whatever app) can be saved to the .ORBX format and it is interchangeable between all versions of Octane, they basically can be used in all apps that are equipped with the Octane plugin. For example, if you have Octane for blender then you can import OBJ or FBX models and import corresponding .orbx shader and that's it. The only thing you need to keep in mind is that OBJ does not support material ID (something you use for assigning multi sub materials), FBX has no problems with that.
This is for example how the materials get imported in 3ds max (https://render.otoy.com/forum/viewtopic.php?f=98&t=67839) probably is a bit different for every DCC plugin but basically its just a few steps.
I usually put all scene files, model files, shader files in one folder having the name of the object/scene and one sub folder named Maps (containing all the textures) then zip it. No matter where users place that model folder the textures will come along with it and they get no errors on missing textures because everything points to that Maps folder one step up.
Also keep in mind that .mtl files will indeed work for most apps and it basically puts diffuse maps and bump maps, etc. in the right slot for basic native materials but most users are using more advanced render engines not native to the program they are using, so they still need to recreate the shader for the renderer they are using (you cannot know upfront what they use).
Its not a cut clear answer to your questions but it illustrates there are just more options then cut clear answers. Most sellers cannot maintain support for all the different apps and thus support the one they use most and provide OBJ and FBX formats for all the others and maybe add some shader types like ORBX or substance designer materials.
I recently had a request for one of my models in FBX. What I did took some work, but made the buyer happy.
I exported the model from blender as FBX and imported it into Unity. I recreated the materials in Unity and then exported them as FBX again. This required a Unity addon.
It was time consuming because I have only used Unity a couple of times. Hopefully the time will be reduced when I improve the workflow.
In order to post an answer, you need to sign in.