A Free custom api helper for Octane/Redshift/Arnold

Hi community!

This is my free python api hleper for most popular third-part render engines. Now renderEngine support Octane /Redshift /Arnold .You can find it on my github : renderEngine

I try to keep it as same as possible, but each renderer has their own logic, so there are some compromises.

If you like it, please hit me a github star and also very welcome for your contributions.:blush:

Cheers~
DunHou


renderEngine

This is a custom api for most popular render engine like Octane\Redshift\Arnold in Cinema 4D, which is also wiil contains in 'boghma' library.

All the boghma plugins and boghma library is FREE.

Installation

To use this library, you have two options:

  1. Download the source and import it to your Cinema 4D
  2. (Recommend) You can also download Boghma Plugin Manager and install any plugin, the boghma lib will auto installed.

Limit

  • Due to Otoy use a custom userarea for the node editor, and don't support python. We can not get the selection of the node edtor, so it is not possible to interact with node editor.
  • Redshift and Arnold material helper only support NodeGragh, so the Cinema 4D before R26 is not support.
  • AddChild() and AddTextureTree() may return a not auto-layout node network now.
  • GetID() is broken, wait Maxon fix it, GetParamDataTypeID() can not get vector id
  • Arnold mask tag SetPrameter has a refresh bug.

Examples

Class Presentation and Highlights

node_helper

  • NodeGraghHelper : helper class for Cinema 4D NodeGragh.
  • TexPack : helper class to get texture data.
  • methods : helper functions.

octane_helper

  • octane_id : unique ids for octane object, and name map of aovs.
  • octane_helper : all the helper class and function.
    • methods
    • VideoPostHelper (class)
    • AOVHelper (class)
    • NodeHelper (class)
    • MaterialHelper (class)
    • SceneHelper (class)

redshift_helper

  • redshift : unique ids for redshift object, and name map of aovs.
  • redshift_helper : all the helper class and function.
    • methods
    • VideoPostHelper (class)
    • AOVHelper (class)
    • MaterialHelper (class)
    • RSMaterialTransaction (class)
    • SceneHelper (class)

arnold_helper

  • arnold : unique ids for arnold object, and name map of aovs.
  • arnold_helper : all the helper class and function.
    • methods
    • VideoPostHelper (class)
    • AOVHelper (class)
    • MaterialHelper (class)
    • SceneHelper (class)
    • ArnoldShaderLinkCustomData (class)
    • ArnoldVColorCustomData (class)

Version & Updates

Hey @Dunhou,

This looks AWESOME! Thank you so much for all the awesome stuff you create!

I have pinned this topic, so that it remains visible.

Cheers,
Ferdinand

MAXON SDK Specialist
developers.maxon.net

this looks amazing. Can't wait to see arnold / RS

Hey @ferdinand , that's very honor to contribute to the community, and also thanks for your pin, that inspire me a lot too.

And a little plan I want to take your advice, what do you think the next update I should post, should I edit the first post, or just update the links when redshift/arnold is ready, and reply to the topic to show the main changes? which is better for more read convinence?

Cheers~
DunHou

Hey @thomas , thanks for your like, redshift_helper is 80% for beta I think, I will try to post ASAP.

Cheers~
DunHou

Hi community!

the renderEngine helper is beta now, I set version number to 1.0.0, it contains three renderer now:

  • Octane
  • Arnold ( MaterialHelper only support NodeGragh )
  • Redshift ( MaterialHelper only support NodeGragh )

I personally not use Vray and Corona quite often, if anyone is a pro user of these , very welcome to add them to renderEngine

You can modify the aovs/materials with renderEngine quickly and easliy . See the examples above this topic.

Hope you can have fun with it, and any improvement and fix is very appreciated.

Cheers~
DunHou

@Dunhou is it possible to get in touch for you for freelance development? I couldn't find any email or socials.

@thomas Hi, I had update my github readme file, and put my email on it:blush:

Cheers~
DunHou

Hi community!

Th renderEngine library has been updated to the 1.0.4 version, there are some re-write functions and may not incompatible with older versions,see the main changes as follows:

  • rename all node & material functions to Capitalize style.
  • remove transaction in node_helper, use it in the final scripts.
  • organize the functions in node_helper with comments ( node\port\wire\util )
  • add some functions to check node or port info, like if it is connected , see the README.
  • add a InserShader function to create a shader into a wire.
  • re-write RemoveConnection in node_helper and support one argument(port) to remove connection.
  • see the Version & Updates

Cheers~
DunHou