Jump to content

hindukush

Members
  • Content count

    38
  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Community Reputation

0 Neutral

About hindukush

  • Rank
    Peon

Personal Information

  • Name
    carlo
  1. Hi everybody i'm stuck orienting light copies to the point onto i scatter. Can anybody tell me what is wrong with this opiece of code? for pt in scatterGeo.points(): euler = pt.findPointAttrib(“N”) dir = hou.Vector3((0,1,0)) * hou.hmath.buildRotate(euler) instances.parm('rx').setAttributeValue('N ',dir[0] ) I think there are some basic python stuff error in there:-)
  2. Arnold lights instances normal

    Maibe adding something like this? dirx: euler = hou.parmTuple("r").eval() dir = hou.Vector3((0,1,0)) * hou.hmath.buildRotate(euler) return dir[0] diry: euler = hou.parmTuple("r").eval() dir = hou.Vector3((0,1,0)) * hou.hmath.buildRotate(euler) return dir[1] dirz: euler = hou.parmTuple("r").eval() dir = hou.Vector3((0,1,0)) * hou.hmath.buildRotate(euler) return dir[2]
  3. Hi everybody, i'm facing issues orienting Arnold lights copy to points normal.I'm actually using this .hda (https://www.artstation.com/artwork/zA3BVd) But no chance to get orientation.I should get the point normal and convert to degrees for the light. Can anybody point me in the right direction? Anyone knows a better way to copy arnold lights to points? Thank you sooo much! Carlo The python script that is used is : from math import sqrt def destroyInstance(kwargs): # Define Variable node = kwargs['node'] try: scatterNodePath = node.parm('scatterPath').eval() scatterNode = hou.node(scatterNodePath) scatterGeo = scatterNode.geometry() except: hou.ui.displayMessage('I can\'t find the scatter node "' + scatterNodePath + '" !') exit() scatterNodePath = node.parm('scatterPath').eval() scatterNode = hou.node(scatterNodePath) scatterGeo = scatterNode.geometry() instanceName = node.parm('instanceName').eval() # Instance Loop try: for pt in scatterGeo.points(): nameInstance = instanceName + '_' + str(pt.number()) instances = hou.node('/obj/' + nameInstance) instances.destroy() hou.item('/obj/networkInst').destroy() hou.item('/obj/networkMain').destroy() except: pass def createInstance(kwargs): node = kwargs['node'] # Define Variable try: scatterNodePath = node.parm('scatterPath').eval() scatterNode = hou.node(scatterNodePath) scatterGeo = scatterNode.geometry() except: hou.ui.displayMessage('I can\'t find the scatter node "' + scatterNodePath + '" !') exit() try: instanceNodeName = node.parm('nameNode').eval() test = hou.node('/obj/').createNode(instanceNodeName, "test") test.destroy() except: hou.ui.displayMessage('The name of node "' + instanceNodeName + '" doesn\'t exist ! ') exit() linkPosPts = node.parm('linkPosPts').eval() instanceName = node.parm('instanceName').eval() linkAttribPt = node.parm('linkAttribPt').eval().split() copyPtAttribValue = node.parm('copyPtAttribValue').eval().split() linkParmFirstInstance = node.parm('linkParmFirstInstance').eval().split() revertParmValue = node.parm('revertParmValue').eval().split() parmList = revertParmValue + linkParmFirstInstance + copyPtAttribValue +linkAttribPt attribList = linkAttribPt + copyPtAttribValue # Instance Loop for pt in scatterGeo.points(): # Create Light nameInstance = instanceName + '_' + str(pt.number()) try: test = hou.node('/obj/' + nameInstance).name() networkBoxMain = hou.node('/obj/' + 'networkMain') instances = hou.node('/obj/' + nameInstance) firstRun = 0 except: # Create Node firstRun = 1 instances = hou.node('/obj/').createNode(instanceNodeName, nameInstance) #TEST if nameInstance == instanceName + '_0': for p in parmList: try: instances.parm(p).eval() except: hou.ui.displayMessage('The parameter "' + p + '" doesn\'t exit !') if(firstRun == 1): instances.destroy() exit() for a in attribList: try: pt.attribValue(a) except: hou.ui.displayMessage('The Attribut "' + a + '" doesn\'t exit !') if(firstRun == 1): instances.destroy() exit() # Position Light if linkPosPts == 1: instances.parm('tx').setExpression('point("' + scatterNodePath + '", ' + str(pt.number()) + ', "' + 'P' + '", 0)') instances.parm('ty').setExpression('point("' + scatterNodePath + '", ' + str(pt.number()) + ', "' + 'P' + '", 1)') instances.parm('tz').setExpression('point("' + scatterNodePath + '", ' + str(pt.number()) + ', "' + 'P' + '", 2)') else : instances.parm('tx').deleteAllKeyframes() instances.parm('tx').set(pt.position()[0]) instances.parm('ty').deleteAllKeyframes() instances.parm('ty').set(pt.position()[1]) instances.parm('tz').deleteAllKeyframes() instances.parm('tz').set(pt.position()[2]) # Revert parm value to default value for rpv in revertParmValue: instances.parm(rpv).deleteAllKeyframes() instances.parm(rpv).revertToDefaults() # Copy Points Value in Paramaters for cap in copyPtAttribValue: instances.parm(cap).deleteAllKeyframes() instances.parm(cap).set(pt.attribValue(cap)) # Link Points Value in Paramaters for lap in linkAttribPt: type = scatterGeo.findPointAttrib(lap).dataType() if str(type) == "attribData.String" : print(type) instances.parm(lap).setExpression('points("' + scatterNodePath + '", ' + str(pt.number()) + ', "' + lap + '")') else : instances.parm(lap).setExpression('point("' + scatterNodePath + '", ' + str(pt.number()) + ', "' + lap + '", 0)') if pt.number() == 0 : # Color Node instances.setColor(hou.Color((1.0, 0.72, 0))) else : instances.setColor(hou.Color((1, 0.98, 0.67))) # Link Paramaters To First Instance's paramaters for lpfi in linkParmFirstInstance: instances.parm(lpfi).setExpression('chs("/obj/' + instanceName + '_0/' + lpfi + '")') # NetworkBox networkBoxMain = hou.item('/obj/networkMain') networkBoxInst = hou.item('/obj/networkInst') try: if networkBoxMain.comment() == instanceName: networkBoxMain.destroy(False) except: pass try: if networkBoxInst.comment() == (instanceName + "_Instance"): networkBoxInst.destroy(False) except: pass networkBoxMain = hou.node('/obj/').createNetworkBox('networkMain') networkBoxMain.setComment(instanceName) networkBoxMain.setColor(hou.Color((0.98, 0.78, 0.26))) networkBoxMain.setMinimized(1) networkBoxInst = hou.node('/obj/').createNetworkBox('networkInst') networkBoxInst.setComment(instanceName + "_Instance") networkBoxInst.setColor(hou.Color((1, 0.98, 0.67))) networkBoxInst.setMinimized(1) col = round(sqrt(len(scatterGeo.points()))) for pt in scatterGeo.points(): nameInstance = instanceName + '_' + str(pt.number()) i = pt.number() node = hou.node('/obj/' + instanceName + '_' + str(i)) if i == 0: node.setPosition([.2, .8]) networkBoxMain.addItem(node) networkBoxMain.addNetworkBox(networkBoxInst) else : networkBoxInst.addItem(node) tmpPos = [i%col*3, round((col*col-i / col)-.5)] node.setPosition(tmpPos) networkBoxInst.resize([1, 1]) networkBoxInst.setPosition([1.5, 0]) networkBoxMain.resize([1, 1]) tmpPos = scatterNode.parent().position() tmpPos[0] += 4 networkBoxMain.setPosition(tmpPos) networkBoxMain.setMinimized(0)
  4. Pyro avoid color blending

    Thanks man! Im not skilled enough to get what you did there:-(Where do you feed color in that volume? And also can't find that example file...ty again..and sorry for noobness:-) Carlo
  5. Pyro avoid color blending

    Yes, in your example i see much less blending.May you try to add rgb colors and see if it works properly? How did you acheive that? Thakns alot! Carlo
  6. Pyro copy Cd field from previous frame (SOLVED)

    With furter inspections i found the issue.Is the OPNECL, enabling it in the sim gives that problem in the advection of Cd.Using the gas advect field bypass that.In fact using OPENCL in the gas advect field too make the issue come back again.
  7. Pyro avoid color blending

    Hi everybody! I'm working on a soap bubble effect. The result using 2d pyro is pretty good but i would like to avoid color blending.Like would be if was pops sim. Both results are attached. Ty in advance! Carlo
  8. Pyro copy Cd field from previous frame (SOLVED)

    Hi! Ty for the reply!Finally i managed it with a gas advect field.Not sure why otherwise was't working.But now is quite perfect.I just would avoid color blending but not sure if is possible. Carlo
  9. Hi everybody! It is possible to copy Cd field from previous frame in a pyro simulation?I'm doing a 2d fluid sim and somehow the i have yellow color wich keep accumulating.Maybe copy color from prev frame solve this. Thanks in advance. Carlo
  10. Rbd subfracturing

    Hi everybody, i'm tryng to subfracture some rbd pieces created with the rbdMaterialFracture node. Like the big chunks in this video. How can i create constraint between the subfractured fragments?I think i'm missing something about the new rbd set of tools... Thanks alot, Carlo -EDIT- I FINALLY SWITCHED TO CLASSIC RBD INSIDE DOP NETWORK..OLD SCHOOL METHOD LOOKS LIKE WORKING......ANY SUGGESTION ABOUT RECURSIVE FRACTURING WITH THE NEW RBD SET?
  11. Whitewater artifacts

    Hi everybody, i'm facing some weird artifacts in whitewater when increasing guided ocean particle separation to 0.01, if i use 0.02 everything works as expected. I did also try to play with whitewater resolution but no change in that artifact.
  12. Powder splash

    Yeah!it works just perfectly!!:-)))))
  13. Powder splash

    Hey Librarian, yes exactly! i think going to use pop fluid instead of flips for this one.With point replaicate to add density...let's see:-) C.
  14. Powder splash

    Hello forum! I need to create a powder splash, so the powder behave like water creating a crown. I did try a straightorward approach just converting flip particles, the look is ok but the "id" of every point change in time so the random pscale make the scale of each point change each frame. I also created extra powder emitting from fastest point some more particles. Can anybody suggest me a workaround for random pscale and maybe a more elegant overall approach to this? Thanks alot! Carlo
  15. Polygon from vdb topology problem

    Sorry my bad..didn't thank you!! Ill do it now!! Thanks alot for the tip!!
×