jigarmistry wrote: Sun Sep 14, 2025 4:21 am
I tried to manually connect it to a diffuse slot in an octane material and ran some script to get the shader details in console and got this
Code: Select all
Shader: Decal texture | TypeID: 1064614 | Object: <c4d.BaseShader object called Decal texture/OctaneShader with ID 1064614 at 2970237923648>
However the ID shown doesn't create that node when i use it in these methods
or
Instead it creates some empty "Octane Shader" wrapper node, which is not what I want.
As suggested by someone on forums I even searched for the ID in c4doctane/res/c4d_symbols.h but there is no mention of it there either.
ID_OCTANE_NODE/1064614 is the new octane node/octaneshader object that can be any octane node. To turn it into a decal node you will need to set its type (OCTANE_NODE_TYPE/1000) to NT_TEX_DECAL, which is value 478.
I suspect this would work, but python is not supported at the moment. We will be adding improved support at some later date. But for now its default values will not be set using this method.
Pin values, pin links and attribute values are all stored in sub-basecontainers so that their IDs dont clash with eachother.
So for example the path to the linked node in the "Base Texture" input is OCTANE_NODE_PIN_LINKS -> OCTANE_P_TEXTURE
The default value would be OCTANE_NODE_PIN_VALUES -> OCTANE_P_TEXTURE
You can find the IDs for octane nodes in <OctanePluginPath>/res/OctaneNode.h
Some of the decal pin IDs have not been added to OctaneNode.h yet, so here is the list of ID values you need for the decal node:
OCTANE_P_DECAL_TEXTURE_INDEX/12597
OCTANE_P_BLEND_MODE/10636
OCTANE_P_TEXTURE/10240