I checked practically every thread in the forum I could find on this topic, and have not had any luck. I import my .c4d project, and drag it out to the scene, and it comes up. However, I just can’t get the textures to appear. In my assets, I just have the model, and a folder called materials containing one called “random-noname” (random.c4d is the name of the file). The textures are all named in C4D, but only this “noname” comes up. I can bake the textures, but it takes absolutely forever (took 6 hours last time) and I’m going to be making modifications to the file most likely. Can anyone provide any help?
Are you using layers? There was a bug related to material import from C4D, when using using multiple layers - it would import materials only from first layer. IIRC, it is fixed in Unity 3.2.
Where are your textures located? I think you have to keep them in Assets folder. See “Textures” section on:
http://unity3d.com/support/documentation/Manual/Meshes.html
And this might be useful (although it’s a bit outdated):
http://unity3d.com/support/documentation/Manual/HOWTO-ImportObjectCinema4D.html
If nothing helps, send me your model.
My problem is, I can’t really find where my textures are. I figured Unity would import them automatically; apparently that’s not the case. Is there any way I can export all of my textures from C4D for Unity?
Here’s my project file: http://dl.dropbox.com/u/10466568/random.zip The C4D is in the Assets folder.
I use export an fbx file from Unity with C4D 11.5. Then I copy the fbx file and my models texture folder to my Unity assets. Unity is then able to recognize the model and textures. Might not be a great solution but it works.
When you export to FBX, does it create a models texture folder for you? I can’t make C4D do that for me.
No. I copy my texture folder over to the Unity assets directory in the same relative location to my fbx file as the c4d model file is to the texture folder i.e. so all the links are still valid in the assets location. Previously, I have used the automatic updating of a c4d model, but this has failed at times depending on version combinations I have used between C4D 9.5 and 11.5 and Unity 2.5, 2.6 and 3.0 so fbx has been the back up plan.
My complete procedure is this. Create a C4D model file and include a tex folder where all my textures go. I save a copy of the C4D model file and delete things that don’t get translated to Unity or are otherwise superfluous. Export the copy of the C4D model as an fbx file with Export Textures and Materials Checked and Save Normals checked, the rest unchecked (I haven’t tried exporting animations).
I copy the fbx file and the tex folder to my Unity Assets folder. Unity then imports the fbx, links to the tex folder, and creates materials. Unity is quite successful at linking and using the materials as they are used and come from C4D. You can even just update materials from your C4D tex folder to your Unity assets tex folder without updating the fbx if only the texture has changed, but the model has not.
Some notes. Use unique names for your C4D materials. Also, Unity only imports the basic material attributes from C4D materials. If I make many changes to the materials, I delete the Unity copies of the materials in the project folder first before copying over the new fbx with new materials. I’m not sure Unity always updates existing materials with the new material settings. I only have experience using UV mapping for my textures, so don’t know how the other mapping modes translate.
Its kinda of a manual method, but is relatively quick and reliable.
Unity 2.x did fine the importation process using the Cinema4D propietary format .c4d. Don’t know why with the 3.x versions all the models you import doesn’t have their textures applied. It works fine if you use the fbx format, but with .c4d format unity get lost his magic. (pwned!)
So in short, you just copy the tex folder and the FBX to Unity, right? I’m doing just that, and it still won’t link to the tex folder.
Some things to check:
General Options:Export Textures and Materials needs to be checked in the fbx export.
Your textures must be linked to the color attribute for the material. Most other attributes get ignored by Unity. In fact, I create my own material in Unity for doing transparency, but I can use the alpha texture I created and used for the alpha attribute in a C4D material.
Your folder/file layout needs to be something like:
C4D
project:model.c4d
project:tex
Unity
assets:mode.fbx
assets:tex
I’ve done this a lot so it does work and it updates fairly easily.
It’s so frustrating, I really have no idea what I’m doing wrong, haha. I’m doing exactly as you say, but for whatever reason, it just doesn’t work. Would you mind taking a quick look at my file for me? It’d be much appreciated.
I was able load your model and to get materials with textures in Unity 3.1. Here’s what I did. I copied the C4D file and tex folder to a folder NOT in the Unity project. I deleted from within Unity all the model parts, the two random objects in the project hiearchy, the tex folder, and the materials folder leaving only Standard Assets. I opened the model in C4D 11.5 and saved as fbx 2010.2 with only export textures and save normals checked. I then copied the fbx file and your tex folder to the Unity project assets folder. The materials and model imported when I switched back to Unity with many materials created in the materials folder. I created a light in unity and dragged the random object from the project hiearchy to the scene. In the scene, the sand texture displayed on the ground, wood on the post, etc.
I didn’t test it, but your current issue might be having the C4D model and the fbx in the assets folder. Otherwise, it was odd that your model only had the one material created in Unity, there should be many.
One other tip. The C4D shaders default to rgb of 204. This tends to make textured objects dark in Unity. I crank up the rgb to 256.