CV-Convert to PBR Material: Convert Color and Specular to Diffuse and Reflection

Photo of Donovan Keith

Instructor Donovan Keith

Share this video
  • Duration: 04:09
  • Views: 7655
  • Made with Release: 19
  • Works with Release: 19 and greater

Easily switch from simple color materials to a reflectance-based workflow.

A Cinema 4D Script for easily converting materials to a reflectance-based workflow.

  • Converts selected color + spec materials to the "New PBR Material" template.

  • Useful for updating imported materials (via FBX, OBJ, etc) to something that is more Cinema 4D R19 friendly.

  • Limited support for updating "Reflection (Legacy)" single reflectance layers to PBR.

Known Limitations
  • No support for Animated parameters.

  • Specular -> Reflectance and back again is lossy.

  • Fresnel won’t match source if you’re using a Fresnel shader



CV-ConvertToPBR Material is a script that makes it easy to take simple color based materials and convert them to a reflectance based workflow. To use it, just select the materials you want to convert, go to Script, User Scripts, and locate the CV-ConvertToPBR script. You may find it inside of a subdirectory. Once you've done this, you'll notice that your materials have changed in appearance. Now, I'm going to hit Undo and step through this a little bit more slowly. If I open up my material right here. You'll notice that in the Color channel, I've got a color that has been preset and in the Reflectance channel, I have the Default Specular layer. When I hit CV-ConvertToPBR Material, what it does is take the color value from my Color channel and inject it into a new layer called Default Diffuse. My Specular channel is replaced with a Default Reflection and that's overlaid on top. Now, why these names? Well, they're the exact same ones that you see when you create a new PBR base material. And the advantage of doing this is that, if I were to multi-select two materials with different reflectance set ups, you'd see that I can't multi-edit them. However, if I select two materials with the same reflectance style set up, I can go in here and adjust their properties together. Well, why would I want to do this? Let's say you've imported a model from another application. When it comes in, you're going to see, in your Color channel, your Texture, and in your Reflectance channel, just this Default Specular, and your preview's not going to look very good. When I choose just the CV-ConvertToPBR Material, you'll see that we now have a Default Reflection layer, whose roughness I can adjust. And in my view port, I'm getting a real-time preview of what my reflection of my environment might look like. So if I was just to swap in a different HDRI, we'd see that as well. Now, here is a slightly more challenging case from an import. In this case, Cinema 4D struggled to convert the values that were saved in the file, in part because the other application probably set them up differently. I could certainly try and build this all up manually or I can select these and just choose CV-convertToPBR Material and now I have something that looks much better. Now, my dish here is looking a little bit soft, so what I can do is go to my Default Reflection layer and just adjust the Roughness value down to make it look a little bit harder in appearance, same for my sushi. And my sticks here, you'll notice don't actually have a Reflection layer that's active, and that's because they didn't have any Specular. But if I turn on Default Reflection, I can throw a lacquer coat on top of them and lower this down and really shine them up. So this is a pretty huge difference in terms of the quality of our editor preview, as well as the look of our final render here. Now, that's all well and good when you're converting one or two materials. What happens when you've got dozens of images that need to be updated to this new PBR based workflow? Well, just select all of them and choose CV-ConvertToPBR Material and it all works out quite well. Now, as useful as CV-ConvertToPBR Material is, it is still just a simple workflow script. It was designed for a very specific use case, which is to take what you get when you create new material and convert it into what you get when you create a new PBR material. Specular goes to Reflectance. Color goes to Diffuse. If you've got a complex material set up, especially if you've got shaders inside of your reflectance, multiple Reflectance layers, this conversion is not going to work in the way that you expect. And in those situations, I would just say hit Undo and convert individually and if something goes array, go ahead and take a closer look and perhaps you'll need to manually convert between the two. I hope that you find this useful. Thank you very much. Bye bye.
Resume Auto-Scroll?