Impacts

Exercise-Getting Id from Python module

  • at Python Module

def impacts(id):

curId = int(id-1)

d = hou.pwd().simulation()

obj = d.objects()[curId]

return obj.objid()

  • at Parameter

id = int(hou.hscript("echo $OBJID")[0].strip())

test= hou.node('.').parent().hdaModule().impacts(id)

return test

When Touching to OBJ

  • at Python Module

def impactsOn(id, curNode):

curId = id-1

d = curNode.simulation()

obj = d.objects()[curId]

sub = obj.findSubData("Impacts")

impactGroup = curNode.parm("impactGroup").evalAsString() + " infection"

impGrp = d.findAllObjects(impactGroup)

impObjList = []

for imp in impGrp:

impObjList.append(imp.objid())

impactIdList = []

active = 0

if sub is not None:

for i in sub.records("Impacts"):

if i.field("otherobjid") in impObjList:

active = 1

break

else:

active = 0

else:

active = 0

return active

  • at Parameter

Group -contact

Value

id = int(hou.expandString('$OBJID'))

activeCol = hou.node('.').parent().hdaModule().impactsOn(id,hou.node('.').parent())

activeVal = hou.parm('../activation').eval()

active = activeCol * activeVal

return active

Group -infection

Value

dopoption("..",$OBJID,"Position","contact") * ch("../infection")

Motion

Activation

dopoption("..",$OBJID,"Position","contact")