Bitmap Shaders w/ ACES & C4D Material Conversion

Bitmap Shaders w/ ACES & C4D Material Conversion

brandonwinslow
Contributor Contributor
1,030 Views
12 Replies
Message 1 of 13

Bitmap Shaders w/ ACES & C4D Material Conversion

brandonwinslow
Contributor
Contributor

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?

0 Likes
Accepted solutions (1)
1,031 Views
12 Replies
Replies (12)
Message 2 of 13

Stephen.Blair
Community Manager
Community Manager

You could generate the tx files yourself, either on the command line or with the Asset/Tx Manager, with the right color conversion.



// Stephen Blair
// Arnold Renderer Support
0 Likes
Message 3 of 13

peter.horvath6V6K3
Advisor
Advisor
Accepted solution

"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.

0 Likes
Message 4 of 13

brandonwinslow
Contributor
Contributor

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! 🙂

0 Likes
Message 5 of 13

brandonwinslow
Contributor
Contributor
Actually, a quick follow-up question when you have a minute:


I seem to be missing it, but the one thing I would like to add to this script is the material replace function that's in the current Utilities>Material menu - where the material conversion happens and then the newly created Arnold material replaces the C4D material and the C4D material is deleted, all in one fell swoop.


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!

0 Likes
Message 6 of 13

peter.horvath6V6K3
Advisor
Advisor
Instead of the conversions I was actually thinking of adding the color space option to the Bitmap shader. That would solve your issue, right?
0 Likes
Message 7 of 13

peter.horvath6V6K3
Advisor
Advisor
Don't think there's a function for that in the API, you have to do all steps:
  • Creating the Arnold material.
  • Replace the C4D material in all tags.
  • Remove the C4D material.
0 Likes
Message 8 of 13

brandonwinslow
Contributor
Contributor
It would, yes! Would totally remove the need for all of the other workarounds, since the bitmap shader maps to an image shader anyway. 🙂
0 Likes
Message 9 of 13

brandonwinslow
Contributor
Contributor
3.3.6.1? 🙂
0 Likes
Message 10 of 13

peter.horvath6V6K3
Advisor
Advisor
3.3.7, more likely. But I have no ETA yet. If you need it quick, please contact support@arnoldrenderer.com referring to this thread and I'll send you a wip build.
0 Likes
Message 11 of 13

peter.horvath6V6K3
Advisor
Advisor

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).

0 Likes
Message 12 of 13

brandonwinslow
Contributor
Contributor
Got the 3.3.7 update. Thanks again for adding this! Huge time-saver w/ importing non-Arnold C4D materials!
0 Likes
Message 13 of 13

peter.horvath6V6K3
Advisor
Advisor
Glad it helps. Please note that there was an issue with imagers in the 3.3.7 release, so I recommend to update to 3.3.7.1.
0 Likes