Hello all,
I use ACES for pretty much everything I do now, and an issue (or perceived issue) that I continually run into is that, when I use a pre-existing asset that has native C4D shaders, for example, I have the option to convert them to / replace them with Arnold Shaders. And this is fine and good, but this utility always converts the image textures to bitmap shaders rather than image shaders. Which would be fine, except that I can't seem to find a way to set the color profiles for the bitmaps in the same way that I can w/ image nodes, so - as far as I understand it - I can't render those assets correctly without first creating image nodes for each bitmap and then copying the path over (or dragging the images in and reconnecting them to the appropriate shader inputs on the Standard Surface Shader.) So I'm wondering two things:
1) Can color profiles be assigned to bitmap shaders to make them ACES compatible?
2) Is there a way to convert bitmap shaders to image shaders?
or an alternate
3) Is there a way to modify the material conversion utility (through some preferences or a custom script?) that converts C4D shaders to Arnold Shaders, to make it use image nodes instead of bitmap nodes?
Solved! Go to Solution.
Solved by peter.horvath6V6K3. Go to Solution.
You could generate the tx files yourself, either on the command line or with the Asset/Tx Manager, with the right color conversion.
"1) Can color profiles be assigned to bitmap shaders to make them ACES compatible?"
Unfortunately not, but it would be a nice addition in a future release.
"2) Is there a way to convert bitmap shaders to image shaders?"
No automated way unfortunately. You can write a python script to do it. Not straightforward, but you can find some examples at the bottom of the docs here: https://docs.arnoldrenderer.com/display/A5AFCUG/Shader+Network+%7C+Python
"3) Is there a way to modify the material conversion utility (through some preferences or a custom script?) that converts C4D shaders to Arnold Shaders, to make it use image nodes instead of bitmap nodes?"
There is not, but since the image shader supports everything a Bitmap Shader can do, it would make sense to convert them automatically by the utility tool.
Thanks so much for the detailed reply! As it turns out, one of the scripts at the bottom of the link that you sent does the C4D material conversion to image nodes, so that's exactly what I need, as far as I can tell. I'm going to add it to my Arnold layout and start testing it out!
Would be awesome to have this script - or a version of it - added to the Utilities>Material menu - maybe have one that converts images to bitmap shaders and another that converts them to image shaders?
Either way, this script alone should save me a lot of time, so thanks again! 🙂
Any insight into where the replace function is in the API? I'm looking through the doc, but it's eluded me so far.
Thanks again!
Custom color space option added to the Bitmap shader in C4DtoA 3.3.7.
Please note that you have to update to S24.111, the plugin won't load in older S24 versions (e.g. S24.035).