Jump to content

hindukush

Members
  • Content count

    47
  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Community Reputation

0 Neutral

About hindukush

  • Rank
    Peon

Personal Information

  • Name
    carlo
  1. Subfragments constraints

    Yessss!That is the result! As usual is the name attribute making me go crazy!I should have bet on it!;-) Thanks alot! C.
  2. Subfragments constraints

    Hello! Can anybody give a look into the scene attached? I'm failing setting hard constraints between subfragments. Looks like the solver (bullet sop version)completely ignore them..maybe is just because is too late and my brain disconnected:-) Thakns alot!!! Carlo SEC_FRAGMENTS_CONSTRAINTS.hip
  3. Subsequently animating boxes to target position

    Found a solution with popSteerSeek. Here is the scene, maybe it can be usefull to someone. C. fragmets_to original_P.hip
  4. Get normal from viewport pick

    Thanks alot!
  5. Hello! Can anybody give me a hint;-) I need to animate some fragments from a point in the space to their original position. I would like to animate them one after other so the shape starts to form from the bottom. I can't menage the animation per fragment, like setting random start frame for each one based on id. Thanks alot! Carlo
  6. (SOLVED)New RBD switch low res to hi res

    Ty Ultraman! Yes i wasn't passing the name attribute after rbd sim. Finally i got it working using the transform pieces, plugging as template points the last output from rbd solver(the sop version), instead the simulated geo. thanks alot!
  7. Hi everybody, there is a way to switch from low res to hi res with the new rbd tool?Using with proxy geometry if i change edge details the sim changes too. I would like to keep the same sim and change geo after like using dop/io and transform pieces. No success with transform pieces, and i menaged to get translation with copy attribute by name but no rotation. Carlo
  8. New RBD switch low res to hi res

    Hi everybody, there is a way to switch from low res to hi res with the new rbd tool?Using with proxy geometry if i change edge details the sim changes too. I would like to keep the same sim and change geo after like using dop/io and transform pieces. No success with transform pieces, and i menaged to get translation with copy attribute by name but no rotation. Carlo
  9. Helloo! I was wondering if is possile to get the normal at a certain point on a geo just picking it from viewport, as a sclupt tool would do aligning the brush to the surface.And of course if is possible pass that normal to another geo. Thanks guys! Carlo
  10. 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:-)
  11. 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]
  12. 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)
  13. 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
  14. 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
  15. 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.
×