Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by Atom

  1. That is normal, if you deform or change the surface you are scattering the points onto, it's similar to changing the seed on the scatter. You will get a different result every time the surface changes. Read the help card on the PointDeform node to lock down the point set before you CopyToPoints. There are a lot of example on this forum, try the search bar.
  2. Moana Water Separation Scene

    An ocean with a bend and a mirror gets you close. You might even be able to mask the white water where the bend occurs.
  3. Importing attributes with Opinput

    That looks like an assignment, not a fetch. I'm not sure if you can issue assignment via @opinput. (wouldn't that be @opoutput, which doesn't exist?) Try... vector my_v = @opinput1_v; float my_v_z = my_v.z;
  4. I am using Houdini on Ubuntu, and quite frankly, I don't experience any "noticible" difference in using Linux over Windows. If anything, you loose options with Linux, because some software tools that you might want to use with Houdini run may only on Windows or Mac. There is also the added frustration of dealing with Linux based installers that require knowledge of command codes that you may have to look up on the internet. You could easily waste a day or two, trying to get something to work when on Windows, you simply run an installer.
  5. AI Volume Effect

    I just pulled down qLib, from GitHub, to try this out and I am still getting a bad HDA reference. Do you happen to know how to solve this?
  6. I am still on 18.04, but I don't have those clipboard issues. Maybe there is something in the 19.10 packages causing this glitch?
  7. Interaction between Crowd and FLIP Solvers

    It does seem like the pop solution is causing the bad deformations. I disabled the pop section. I sorted the agents along the Z-axis. You may be able to automate triggering if they are in a linear order. Instead I took the hard coded approach which offers art direction. Place the Crowd Trigger node into Custom VEXpression mode. Use if statements to turn on the trigger, based upon individual point #s. // setting i@trigger to 1 will enable // setting i@trigger to 0 will disable int result = 0; // Stagger transition to ragdoll. if((@Frame == 13) && (@ptnum==0)){result=1;} if((@Frame == 15) && (@ptnum==1)){result=1;} if((@Frame == 17) && (@ptnum==2)){result=1;} if((@Frame == 28) && (@ptnum==3)){result=1;} if((@Frame == 29) && (@ptnum==4)){result=1;} if((@Frame == 31) && (@ptnum==5)){result=1;} if((@Frame == 37) && (@ptnum==6)){result=1;} if((@Frame == 39) && (@ptnum==7)){result=1;} if((@Frame == 42) && (@ptnum==8)){result=1;} if((@Frame == 46) && (@ptnum==9)){result=1;} i@trigger = result; For the ragdoll state, I dropped down a PopSteerSeek to make the agents move in the down stream direction. You can adjust the force on this node to match the agent speed to the fluid motion. ap_crowdFLIPtest_v1.hiplc
  8. Blender is attribute challenged, that's for sure. I can't get attributes to transfer, except @Cd for vertex color (which Blender still doesn't use - it just shows up under the mesh data context). What few attributes that Blender can recognize are "hard coded". I don't foresee any change in this workflow, unless you alter the Blender code, itself.
  9. Pipe/duct generator

    I think most people just run through the tutorial and make their own HDA. https://www.sidefx.com/tutorials/procedural-generated-pipes-part-4/
  10. What if, instead of creating an AddSop, you create a Python SOP and install the above code? The code can read from your file and create the point and attribute at the same time. def code (): """ import os,re,random node = hou.pwd() geo = node.geometry() attrib_orient = geo.addAttrib(hou.attribType.Point, "orient", {0,0,0,0}) # Create the point pt0 = geo.createPoint() # INSERT CODE TO READ XYZ and python_orient from file. pt0.setPosition(hou.Vector3(X,Y,Z)) # Store data_height, now_lat and now long with this point. pt0.setAttribValue(attrib_orient, python_orient) """ # Create python sop and populater code box with code from the def, up above. node_python = node_geo.createNode("python") if node_python != None: # Install code that will detect and create materials from shop_materialpath. node_python.parm("python").set(code.__doc__)
  11. I think it is possible in pure python. If I remember right, you have to create the attribute on the geometry first. Once the .geo() knows about the existence of the attributes you can set values on the points. attrib_Cd = geo.addAttrib(hou.attribType.Point, "Cd", (1.0,1.0,1.0)) height_attrib = geo.addAttrib(hou.attribType.Point, "dem_height", 0.0) now_lat_attrib = geo.addAttrib(hou.attribType.Point, "now_latitude", 0.0) now_long_attrib = geo.addAttrib(hou.attribType.Point, "now_longitude", 0.0) # Create the point pt0 = geo.createPoint() pt0.setPosition(hou.Vector3(X,Y,Z)) if color_min: pt0.setAttribValue(attrib_Cd, (0.0,0.0,0.5)) if color_max: pt0.setAttribValue(attrib_Cd, (0.5,0.0,0.0)) # Store data_height, now_lat and now long with this point. pt0.setAttribValue(height_attrib, data_height) pt0.setAttribValue(now_lat_attrib, float(now_lat)) pt0.setAttribValue(now_long_attrib, float(now_long))
  12. You could create a VEX node after the Add sop and wire it in. Then you can assign the @orient attribute inside the code block (snippet) of the newly created VEX node. wrangle_node = hou.node("/obj/%s/%s/%s" % (node.parent().parent(), node.parent(),"attribwrangle1")) if wrangle_node == None: # Create a wrangle to define our orient. wrangle_node = node.parent().createNode("attribwrangle","attribwrangle1") wrangle_node.parm('snippet').set('@orient = {0,0,0,0};') wrangle_node.parm('class').set(1) wrangle_node.setInput(0,addsop_node) wrangle_node.moveToGoodPosition()
  13. This came up a while back on the forum. Feel free to take a look at this older file to review the concept. ap_flip_fluid_unfolding_collision.hipnc
  14. I went through this, trying to melt an iPhone model. Basically you promote all attributes to point, then after the simulation, you promote the attributes back to their appropriate context (i.e. UVs->Points->Vertex). Make sure you adjust the attribute forwarding fields on the compress node, as well as the surfacing node.
  15. One way is to try the opposite approach. Instead of trying to copy your UVs to new geometry, use the new geometry to deform the source model, which already has "good" UVs in place. ap_UV_Melting_010120.hipnc
  16. Check out the drag by distance example file.
  17. Hi All, I was playing around with the new height fields in H16 and I wondered if there is a way to convert the grid into a sphere and still have all the tools work as normal? I am basically thinking procedural planet generator.
  18. Try a Fuse Polyfill combo to seal up any holes in the original mesh.
  19. Crop your background image to match the camera resolution. You could also parent a grid to the camera. Match the size of the grid to the width/height of your image and use a UVQuick shade to load the image into the viewport. Make sure to remember to turn off the grid before you render, though.
  20. Try Blendswap. You can download .blend files, open them up in Blender(free) and export them as .OBJ, .FBX or even .ABC (Alembics). They vary in quality, but there are quite a few to choose from. https://www.blendswap.com/blends/category/3
  21. expand individual Ballon [Vellum]

    There is a lot of useful info in the video. It is long. Here is a mashup between two of the example files from the Masterclass. They inflate, then they rise. ap_balloons_on_strings_source.hipnc
  22. expand individual Ballon [Vellum]

    If you haven't watched the master class check it out. (around 2:40:00 for multiple balloon inflation).
  23. How to get All the bgeo.sc used in scene

    I think you would have to recursively scan all nodes in the system for node types that are known to reference files. Look for the File node, and the FileCache node. Once you have those nodes, you can review their .parm value to extract the filename they reference.
  24. I have noticed that Most AdobeCC documents I receive are in the Adobe 1998 color space, for some reason. I think it is the default color space, unless you alter your account. Color Space mismatch can cause color shifts like that.
  25. $ variables are on their way out. Try to get used to leveraging VEX functions. In this case I calculated the bounding box for the original cube and saved it on the points. Then after the extrude I fetch value from getbbox_size and use half the X axis length to position the pivot. ap_how to move the pivot.hipnc