|
|
|
Tell us what you think of the site.
|
Autodesk Media & Entertainment User Community
|
Autodesk® 3ds Max®
|
|
Autodesk® Maya®
|
|
Autodesk® Softimage®
|
|
Autodesk® MotionBuilder®
|
|
Autodesk® Mudbox™
|
|
Autodesk® ImageModeler™
|
|
Autodesk® Sketchbook® Pro
|
|
Autodesk® Smoke on Mac®
|
| ICE feathers attempt, upvector and normal issues
|
|
|
Hi guys,
I’ve been pouring through the threads on feather systems (and everything else) in ice and seeing some amazing work so far. I’m somewhat experienced in Houdini and have created some wing feather systems there, but I’m still trying to get my head around ICE to do the same thing.
One thing I am having a tough time with is easily controlling the upvector and normal of points. In Houdini, its as simple as: add an upvector attribute, add a normal attribute, plug it into a copy sop, and you have total control over your instanced geometry’s orientation.
A common Houdini technique I’m trying to use (without total success in ICE) is driving the orientation of instances by subtracting the Point Positions of two objects with identical geometry. For some reason, in ICE the instances are just not cooperating for me, they’re not pointing the way I would expect (toward the other object). Please see the attached scene and take a look at the ICE tree in the point cloud.
My goal is to have them behave like feathers on a wing, basically following the tangency of the “wing” while pointing toward the other curve in the scene.
Thanks for taking a look at this guys, I’ve been trying to get my head around this for a couple of days now! I think I’ve looked at most of the threads and examples on this so far…
|
|
|
|
Actually that ICE tree I made, isn’t working correctly… but glad you found it useful :)
|
|
|
|
so the “direction to rotation” node doesn’t do it for you? you can query any surface attribute you want to drive the upvector and your position to look at would be whatever you want…
downloading your scene now…
|
|
|
|
here ya go!
one point cloud
two curves… one for emission another for a ‘look at’
no custom attributes need to be made on either of the curves
emit particles on curve
get closest location from each particle to a location on the ‘look at’ curve
get the pointposition and pointtangent at emit location.
subtract the emit pointposition from the position found on the ‘look at’ curve
plug that result into the ‘point at’ port on ‘direction to rotation’ node
then plug the pointtangent into the ‘up vector’ port on ‘direction to rotation’ node
set the particles orientation attribute, ‘self.orientation’
open this scene, press play
|
|
|
|
Yeah, I was unaware of the direction to rotation node. That solved the issue. Thanks Scaron!
|
|
|
|
i am pretty sure its more than that…
you had many ice graphs working together, you only need one.
you had custom attributes, you should use the standard attributes
you still need to get a direction vector from the particle to the point on the look at curve, using the subtract node before plugging into the point at port on the direction to rotation node.
|
|
|
|
Actually I did find an issue with the current setup. Right now it is only calculating the nearest point. What I’d like to do is calculate the direction based on the normalized U value of both curves, meaning for example, when a particle’s location is at a place of 0.3 U value along the emit curve, it will point to 0.3 U value on the lookat curve. This would eliminate the popping that currently takes place. I’m taking a look at Phil’s curve normalize U compounds on the downloads section, but I think they need to be abstracted a bit to work with situations where you need to reference curves other than “Self”. So I’m trying to dig through his compound and find the relevant bits to calculate this last bit. Any suggestions?
|
|
|
|
i will have to attempt it myself before i can suggest anything… but there are some new compounds for getting that info from curves, i will try those too
|
|
|
|
Cool, I’m doing some experimenting right now too, I’ll post it here if I come up with anything soon
|
|
|
|
Okay, here it is, feather direction based on the curve U values. Thanks again for your help Scaron, I don’t know how long it would have taken to figure out the other part by myself…
|
|
|
|
|
|