How do I load a textured model created in Cheetah3D into Unity, such that it retains its texture?
I’ve just gotten Cheetah3D, and learned that Unity can read its native file format (.jas) directly, which is awesome. I have a nice ragdoll model that I bought from Turbosquid, and it has a great plaid texture map that appears just fine in Cheetah3d. But when I save this file (in .jas format) in one of my Unity project folders, and examine it in Unity, it has just the smooth gray look (no texture). When I twist open the model file in Unity, I see the Mesh and Avatar created (as I understand it) by the Unity importer, plus two other objects, which correspond to objects I see in Cheetah3D: one “mesh” (which is what I named the geometry), and one “root” (the root node of the rigging).
When I select the geometry “mesh” in Unity, there is a material component called SKINDOLL attached. That material has no texture, however.
So. If I could figure out how to export textures from Cheetah3D (which has so far also stumped me), I’m sure I could just load that into my Unity project as a separate file, and hook it all up within Unity. But I’d much prefer to just use the texture which must be inside that .jas file, and have one less file to get lost or out of sync.
I am having the same problem. I specifically chose Cheetah for modelling because I thought it was easy to import objects into Unity. this has turned out to not quite be the case.
Here is my object as rendered in Cheetah. The textures are all set.
First things first I had to combine all the objects into one mesh, using Import Children. I dragged all the objects under the main Tank cylinder just like it was a group. I also had to make the polygonal objects editable to collapse their meshes from Subdivisions, etc. otherwise the rounded edges would be lost.
The Import Children command copied all the objects on top of one another but with none of their materials (this is okay). I selected Bake Texture from the Render menu and clicked “Baking UV Coords” in the left menu that popped up. After clicking the Bake icon (the oven, next to Render) I waited twenty minutes and got this. I saved it as a 1024x1024 png.
So far so hoopy. I cleaned up my model, so that it was just the single tank mesh and imported it into Unity. The auto-importing materials did not work as I was expecting to use the baked mesh texture I had created and saved to a png file. But no matter what I do, when I try to import this png as a texture or a material or click and drag it onto the mesh or whatever, I get this. (sad trombone sound)
It has to be something stupid I am not doing. It has nothing to do with ‘repeat’ or ‘clamp’ in the texture import because I am doing that and still no dice.
Can anyone help with this ridiculously simple problem? I am 90% sure it’s something in Unity as Cheetah is baking and exporting the textures just fine.
I did it once with a cube and it worked but I am not entirely sure what I did to make it work that was any different than this situation. Just a more complicated mesh.
I’ve learned a lot since I wrote that first post above. The textures are not inside the .jas file, after all; they must be saved as a separate PNG file, and either hooked up manually, or found automatically by Unity if they have the right name and location. This is all working fine for me now.
But I’ve never tried the “Bake Texture” thing you’re using; I use manual UV mapping. I’m not sure what that tool does. From the output, it looks to me like the UVs are all wrong.
My suggestion is to post over on the Cheetah3D forum, where I’ve always found someone will post a very quick and helpful answer. And once you’ve got it figured out, please close the loop and post the answer here too, for other Unity/C3D users who run into the same thing in the future!
I have the same problem and nowhere on any forum is it explained how to solve it.
If I make a mesh in Cheetah with multiple textures, it is not clear to me how to get Unity to apply the baked texture to it within Unity.
It works for me with a single texture on the model in Cheetah, but I have not figured out how to do it as in your example where the object in Cheetah has several textures on it.