Hey guys– appreciate the webinar, amazingly clear direction compared to some other learning materials I tried. Looking forward to more.
I have a question about taking the example with the trees one step further. I'd like the trees to be thicker based on pscale but I'm having a hard time making it work.
First I changed my L-System geometry type to ‘Tube.’ In the Tube tab I see there is an input for Thickness but I am having a problem getting the pscale value “back up the flow.” I tried going in the Copy node to the Stamp tab and creating a new Variable called trThick. For the Value I put .1 as a placeholder. Then in the L-System's Thickness input I put stamp(“../copy1”, “trThick”, 0).
So this works, obviously all the trees are a consistent .1 thickness. My next step was to put pscale in the Value for trThick and everything disappeared. I get error an error message “Unable to evaluate expression.”
Can someone point me in the right direction? I'm assuming I have to use $PT somehow, to find pscale for each point, but I can't figure out the right syntax. Thank you!!
First Steps Webinar -- Taking the Tree Example Further
4859 4 1- Escape--Goat
- Member
- 2 posts
- Joined: March 2012
- Offline
- buki
- Member
- 1773 posts
- Joined: Dec. 2006
- Offline
hi!
dont use the tube option on lsystem, leave it on skeleton, instead turn on point attributes on it, so you will have bunch of point attributes, then use the polywire SOP, and stamp the width attribute.
dont use the tube option on lsystem, leave it on skeleton, instead turn on point attributes on it, so you will have bunch of point attributes, then use the polywire SOP, and stamp the width attribute.
daniel bukovec | senior fx td | weta digital
qLib -- http://qlab.github.io/qLib/ [qlab.github.io]
qLib -- http://qlab.github.io/qLib/ [qlab.github.io]
- Escape--Goat
- Member
- 2 posts
- Joined: March 2012
- Offline
hi Buki– thanks for the response. I bet that is a much better alternative for what I'm doing, but I'm really interested in the basic mechanics of getting pscale upstream in a really straight forward way. I've gave up on Houdini a few times because of this (relatively simple, I think) gap in knowledge.
I attached my .hipnc if that helps.
After I figure this out I'll try your way :] Cheers!
I attached my .hipnc if that helps.
After I figure this out I'll try your way :] Cheers!
- sadhu
- Member
- 112 posts
- Joined: Feb. 2010
- Offline
In copy sop, you create a variable for stamping.
Variable - write the name of the variable here. You can use any point attribute on the template points. Or you can write the name of the variable which you want to create, like what you have done trThick.
Value - You are suppose to write a function or access the value of variable or any constant value here. You have created pscale attribute, to access its value you should write $PSCALE
PSCALE($PT) will not work as it is not a function like, say rand() function. pscale is an attribute .To access its value write $PSCALE. If you want to relate pscale value with point, go to attribute create where you have created pscale attrib. Instead of setting its value to 1 write, for example, rand($PT).
You dont need to stamp pscale. It's point uniform scale. When Houdini finds
it on template point it uses that value to scale the geometry which it is going to cpoy on it. You will see trees of different height. If you observe closely any tree it has same thickness on any of its part. So variation in scale is along the different copies.
Variable - write the name of the variable here. You can use any point attribute on the template points. Or you can write the name of the variable which you want to create, like what you have done trThick.
Value - You are suppose to write a function or access the value of variable or any constant value here. You have created pscale attribute, to access its value you should write $PSCALE
PSCALE($PT) will not work as it is not a function like, say rand() function. pscale is an attribute .To access its value write $PSCALE. If you want to relate pscale value with point, go to attribute create where you have created pscale attrib. Instead of setting its value to 1 write, for example, rand($PT).
You dont need to stamp pscale. It's point uniform scale. When Houdini finds
it on template point it uses that value to scale the geometry which it is going to cpoy on it. You will see trees of different height. If you observe closely any tree it has same thickness on any of its part. So variation in scale is along the different copies.
- Terry Trefry
- Member
- 15 posts
- Joined:
- Offline
-
- Quick Links