Community
Arnold for Cinema 4D Forum
Rendering with Arnold in CINEMA 4D using the C4DtoA plug-in.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Arnold Shader to C4D standard material

10 REPLIES 10
SOLVED
Reply
Message 1 of 11
edenexposito
1903 Views, 10 Replies

Arnold Shader to C4D standard material

Hello!,

An easy to solve problem.

Now it's possible to convert a C4D material to Arnold Standard Shader with scripts placed in utility -> Materials -> ....

But a ver big problem is how reverse this operation, I mean from Standard Shader to C4D Shaders.... Why? When yo export an scene in FBX with Arnold Shaders Materials applied seems that any assignation will be preserved. But with C4D standard materials all assignations become stored in FBX file.

This is a big problem if you have hundred of Arnold shaders materials assigned and you need pass those assignation throught FBX files. I have not found a method to convert an Arnold Shader to C4D material, It's not necesary preserve Arnold Shader appareancy (altought a random color by each C4D material restored would be great) in this case with a solid it's ok if like me you only need preserve material assignations.

It would be nice a script in utility -> Materials -> "Restore selection to C4D material"

Thanks!

Tags (1)
Labels (1)
10 REPLIES 10
Message 2 of 11

The FBX contains the Standard Surface parameter settings? I'd be surprised.

Sounds like you need to replace a do-nothing stub material with a CINEMA 4D material, so you don't need any Arnold-specific expertise, just CINEMA 4D scripting?



// Stephen Blair
// Arnold Renderer Support
Message 3 of 11
edenexposito
in reply to: edenexposito

Thanks for your response @Stephen Blair

No, FBX seems not store any Arnold Shader assignation from C4D. If you open FBX saved from a file with Arnold Shaders applied to objects, you can see that is like none material assignation was be applied.

If you need export fbx and need sort objects by material assignation and you had work with Arnold Shaders you are in a problem. Unless you have a Cinema 4D script to revert all Arnold Shaders to Standard C4D materials (due that this assignation are preserved in FBX).

Sure that with CINEMA 4D scripting an expert could do a custom script that solve this issue. (I don't find a script available on Internet to do it).

It would be great that this script become as part os C4toA in:

utility -> Materials -> "Replace Arnold Shader selection with C4D Standard material"

It's possible convert a big selection of C4D Standard materials easily and automatically to Arnold Shader with:

utility -> Materials -> "Convert the Selected C4D material to an Arnold Shader"

But reverse operation can be a pain if you have hundreds of Arnold Shaders and need to restore to C4D Materials. If you don't have a script it's a lot of manual work.

It is as if C4toA provided the automatic key to enter the wonderful world of Arnold materials in an easy way, from which it is then impossible to leave with the same ease.

Message 4 of 11

If I understand correctly your goal is to preserve the material assignments in the FBX and the look is not relevant. What's your workflow? Where and how do you use the FBX? Does it have to be FBX? Arnold supports MaterialX to export material assignments (looks).

Message 5 of 11
edenexposito
in reply to: edenexposito

Thanks for your response @Peter Horvath

Yes, I want maintain material assignation only, look is not relevant. It's not possible transfer look 1:1 from Arnold Shader to Standard C4D material due both are completely different.

I need a fbx file with material assignments due that I import scene to TwinMotion (Unreal engine) and in this step I can sort all assets by materials. So I only need apply a material once time in TwinMotion... Think about if you need reapply "glass" material on every window of a big house or hotel... In my case this tedious work was done in C4toA, if you need to do again due material assignment are not preserved in FBX... you need do it twice.

Thanks!

Message 6 of 11

I see, makes sense. I can write a script for you which replaces the Arnold materials with some placeholder C4D materials to preserve the assignments.

Message 7 of 11

It would be nice! @Peter Horvath thaaaank you!!!

Maybe it can be added in future releases of C4toA for others users with same problems.

Message 8 of 11

Please check the attached script. It will iterate over the objects and replace the assigned Arnold materials with C4D materials. If the Arnold material has a standard_surface root shader, it will use its base color in the C4D material, otherwise the look is not preserved.

replace_arnold_materials.zip

Message 9 of 11

Thank you!

Message 10 of 11

Hello!
Is this script is still working in C4D R23? If yes, what I have to do to usei it?
Thank you!


Message 11 of 11

The script had to updated to python3, but otherwise it's working.

To run the script, open Extensions > Script Manager... (Shift + F11), load the script and press Execute. Or copy the script to the library/scripts folder and it will be listed in the Command Manager (Shift + F12).

Note, that this script is very basic, it works only with legacy Arnold materials and converts only standard surface base color.

 


// Peter Horvath
// C4DtoA developer

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report