Hello! I want to create a field of tall grass that an animated character could walk through. I don't want the grass to simply be flattened to the ground, but rather to bend out of the way of the character.
How should I approach this? Fur simulation or using the wire solver? I am using Houdini 16.5, so any Vellum solutions wouldn't work for me.
I couldn't find any, but if you know of tutorials or forum questions that already answer this, please point me to them.
Thanks!
Found 10 posts.
Search results Show results as topic list.
Technical Discussion » Deforming Tall Grass
- jderry2019
- 10 posts
- Offline
Houdini Indie and Apprentice » Interactive Tall Grass
- jderry2019
- 10 posts
- Offline
Hello! I want to create a field of tall grass that an animated character could walk through. I don't want the grass to simply be flattened to the ground, but rather to bend out of the way of the character.
How should I approach this? Fur simulation or using the wire solver? I am using Houdini 16.5, so any Vellum solutions wouldn't work for me.
I couldn't find any, but if you know of tutorials or forum questions that already answer this, please point me to them.
Thanks!
How should I approach this? Fur simulation or using the wire solver? I am using Houdini 16.5, so any Vellum solutions wouldn't work for me.
I couldn't find any, but if you know of tutorials or forum questions that already answer this, please point me to them.
Thanks!
Houdini Indie and Apprentice » Parameters and Python
- jderry2019
- 10 posts
- Offline
goldfarb
change the button callback to this:hou.pwd().hdaModule().executeButton(kwargs)
and change your code to this:def executeButton(kwargs): node = kwargs["node"]
there are other errors but this will get you past the first ones
Thanks so much! Changing the callback (along with some other code cleanup) was what did the trick!
Houdini Indie and Apprentice » Parameters and Python
- jderry2019
- 10 posts
- Offline
I'm creating a digital asset that exports data from the geometry spreadsheet into a CSV. However, whenever trying to reference in parameters from the digital asset, I get errors about “NoneType has no attribute ____”. I know that this is due to the hou.node() function messing up, but there's no clear way for me to resolve it. I've attached my hip file and hda file, where I can explain further. Any help is appreciated. If you want me to explain in more detail in the thread, just let me know!
EDIT: To elaborate a little more, all of my code is in the Scripts tab of the Type properties of my digital asset. The asset can be run by hitting the “GO” button, and then that's when you get the errors.
EDIT: To elaborate a little more, all of my code is in the Scripts tab of the Type properties of my digital asset. The asset can be run by hitting the “GO” button, and then that's when you get the errors.
Edited by jderry2019 - June 28, 2018 15:47:43
Houdini Indie and Apprentice » Normalized Time
- jderry2019
- 10 posts
- Offline
Thank you! I'll try the backticks method.
I'm using a wrangle node, not a VOP node, so the the text isn't referred to as a snippet in that case?
I'm using a wrangle node, not a VOP node, so the the text isn't referred to as a snippet in that case?
Houdini Indie and Apprentice » Normalized Time
- jderry2019
- 10 posts
- Offline
Thank you for the quick reply. This is what I have currently implemented. However, I was wondering if there was a piece of VEX code that would automatically put in the end frame, similar to $FEND when you're working with parameters
Houdini Indie and Apprentice » Normalized Time
- jderry2019
- 10 posts
- Offline
I'm building a VEX snippet and I want a way to represent the current frame as a float between 0 and 1, 0 being the first frame and 1 being the frame range. I know that @frame can give me the current frame, but what VEX snippet do I need to get the last frame in my time slider?
Houdini Indie and Apprentice » Initial Velocity Particle Simulation
- jderry2019
- 10 posts
- Offline
Hello
I am trying to do a simple VEX expression for a simple particle simulation. All I want is to change the initial velocity based on its position along the line that the particles are emitting from, so points that are towards the left shoot towards the left, and points on the right shoot towards the right. I have tried multiple methods, all of them leaving me stuck up against the same wall. Here's what I've done so far.
Setup:
Creating a line with 30 points. Creating a particle emitter that emits particles from those points
Plan:
For every point on the line, calculate the X distance from the origin, take that number on a scale of 0 to 10 and remap it from -20 to 20, and then use that for the velocity (probably using a fit function)
Method 1: Adding an expression to the X value of the Velocity in the POP source node
This doesn't seem to work because I can't change the velocity for each point that's on the line. $PT or $PTX were my initial attempts, but they give errors
Method 2: Creating a POP VOP, doing my calculations in there, and using a bindexport
This is a problem because to my knowledge, I can't plug the resulting attribute upstream into the POP Source node.
Method 3: Creating a pop velocity node and using vex to change the x value based on the distance from the origin
This is an issue because simply saying “@vx = @pointx” gives a “Read-only expression on left side of the assignment” error. Referencing the attribute I created in the POP VOP seems impossible as well.
I feel like I'm one keystroke away from the solution and I can't seem to find it. I've uploaded my file in case that's more helpful
I am trying to do a simple VEX expression for a simple particle simulation. All I want is to change the initial velocity based on its position along the line that the particles are emitting from, so points that are towards the left shoot towards the left, and points on the right shoot towards the right. I have tried multiple methods, all of them leaving me stuck up against the same wall. Here's what I've done so far.
Setup:
Creating a line with 30 points. Creating a particle emitter that emits particles from those points
Plan:
For every point on the line, calculate the X distance from the origin, take that number on a scale of 0 to 10 and remap it from -20 to 20, and then use that for the velocity (probably using a fit function)
Method 1: Adding an expression to the X value of the Velocity in the POP source node
This doesn't seem to work because I can't change the velocity for each point that's on the line. $PT or $PTX were my initial attempts, but they give errors
Method 2: Creating a POP VOP, doing my calculations in there, and using a bindexport
This is a problem because to my knowledge, I can't plug the resulting attribute upstream into the POP Source node.
Method 3: Creating a pop velocity node and using vex to change the x value based on the distance from the origin
This is an issue because simply saying “@vx = @pointx” gives a “Read-only expression on left side of the assignment” error. Referencing the attribute I created in the POP VOP seems impossible as well.
I feel like I'm one keystroke away from the solution and I can't seem to find it. I've uploaded my file in case that's more helpful
Edited by jderry2019 - June 20, 2018 12:05:09
Houdini Indie and Apprentice » Exporting Data from Geometry Spreadsheet
- jderry2019
- 10 posts
- Offline
Thanks for the speedy reply! Cooking the SOP was what did the trick! I have the final script just in case anyone is running into a similar problem. So now all I have to do is select the display flag and hit play, and a new csv file is generated per frame directly onto my Desktop (pretty messy, but manageable)
Thanks so much!
Thanks so much!
Edited by jderry2019 - June 15, 2018 14:09:50
Houdini Indie and Apprentice » Exporting Data from Geometry Spreadsheet
- jderry2019
- 10 posts
- Offline
I want to take a particle simulation and export the particle attributes in the geometry spreadsheet as a simple file format like .csv or .txt
My current approach is from this forum post [www.sidefx.com]: a Python script that will loop through the attributes and write it out to a file, but the script always returns an error “'module' object has no attribute ‘writeFireworks’”. The forum post was from Houdini 2011, and trying to load the .hip example file results in a 404 error.
So my question is this: is the script valid, and I'm just placing the node in the incorrect place? Is the script invalid since it's from Houdini 2011 and there's a new way to access the data? Or is Python scripting the wrong approach altogether?
I'm using the Houdini Apprentice 15.5.473, and below are some screenshots of the Python shell and my node network (I just plopped down the Location Particle Emitter shelf tool)
My current approach is from this forum post [www.sidefx.com]: a Python script that will loop through the attributes and write it out to a file, but the script always returns an error “'module' object has no attribute ‘writeFireworks’”. The forum post was from Houdini 2011, and trying to load the .hip example file results in a 404 error.
So my question is this: is the script valid, and I'm just placing the node in the incorrect place? Is the script invalid since it's from Houdini 2011 and there's a new way to access the data? Or is Python scripting the wrong approach altogether?
I'm using the Houdini Apprentice 15.5.473, and below are some screenshots of the Python shell and my node network (I just plopped down the Location Particle Emitter shelf tool)
-
- Quick Links