question

Adam Chabane avatar image
Adam Chabane asked ·

[HtoA 4.0.0] Custom Operator HDA/OTL Inclusion

Hello, I want to create my own custom operators, in particular one for the "assign_material" operator and I'm having trouble figuring out how i'm going to get the custom operator to be included at render time.


I noticed in the python for "assignMaterial" that there was a hard coded hou.node().type().name() in the if statement before running the assignMaterial() function.


Line 370 in python/htoa/operator.py

if parent_type == 'arnold_assign_material':


I tried duplicating the assign_material HDA and not changing the operator name and then it was included just fine at render time - but I'm wondering if there is a way around this, since I don't particularly want my custom operator to have the exact same name as the standard one. Is there a way to tell arnold that my custom operator is in fact an "arnold_assign_material"?

houdinihtoa arnold houdinipythonoperator
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

1 Answer

· Write an Answer
Julian Hodgson avatar image
Julian Hodgson answered ·

Hi Adam,

The code in operator.py is there to make sure that the material isn't translated more than once in the case of rop networks with diamond connections for example.

What is your HDA, does it still contain a set_parameter operator? How is it different from the AssignMaterial ROP and what are you trying to achieve?

Best,

Julian


1 comment Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Hey Julian,

I want to make an HDA that works in the same way as the assign_material, but with additional controls to only set the displacement shader or surface shader based off the toggle parameters the user selects, as well as if I do set the displacement shader be able to set the displacement geometry properties (subdiv, height, padding) all in the same rop HDA.



0 Likes 0 · ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Welcome to the Arnold Answers community.

This is the place for Arnold renderer users everywhere to ask and answer rendering questions, and share knowledge about using Arnold, Arnold plugins, workflows and developing tools with Arnold.

If you are a new user to Arnold Answers, please first check out our FAQ and User Guide for more information.

When posting questions, please be sure to select the appropriate Space for your Arnold plugin and include the plugin version you are using.

Please include images, scene and log files whenever possible as this helps the community answer your questions.

Instructions for generating full verbosity log files are available for MtoA, MaxtoA, C4DtoA, HtoA, KtoA, and Kick.

If you are looking for Arnold Documentation and Support please visit the Arnold Support site.

To try Arnold please visit the Arnold Trial page.

Bottom No panel present for this section.