Viewer StateのHDAでUIのパラメータの値が変更された時に呼び出される関数をつくる。
# ユーザーがStateに入ると呼び出される(エンターキーを押すと入る)
def onEnter(self, kwargs):
# パラメータが変更された時に呼び出すイベントの追加
self.event_callback = self.node.addEventCallback([hou.nodeEventType.ParmTupleChanged], self.onParmChanged)
# パラメータが変更された時に呼び出される
def onParmChanged(self,**kwargs):
changed_parm = kwargs["parm_tuple"]
if changed_parm.name() == "showCollision":
isShowCollision = self.node.parm("showCollision").eval()
if(isShowCollision):
self.showGeometry(True)
else:
self.showGeometry(False)
showCollisionというトグルをオンオフするとonParmChanged()という関数が呼び出されるようにしている。