rdg Posted March 6, 2007 Share Posted March 6, 2007 Hello, I am not sure how to articulate my question, so please skip it if it's too uncoordinated. I copy boxes onto a particle system. I have a NULL with a spare channel animation. I stamp the following expression onto the boxes sz: cht("../null1/growth", point("../popnet1", $PT, "life", 0)) so far so good: the boxes scale after birth. Now I plug a grid instead of the popnet into the second input of copy. The popnet doesn't birth as much particles. The boxes where PT exits for a grid point and a particle act like I expect. For all others where no particle exists all scale like the last particle. I would expect them not to scale at all as I cannot get a life for a particle that doesn't exist, do I? Maybe a popnet returns always the last acessible particle and not undefined? Thank you. Georg rdg_growth.6.hipnc Quote Link to comment Share on other sites More sharing options...
doc Posted March 6, 2007 Share Posted March 6, 2007 That does seem strange a little strange. I tried the same thing with just a grid and a point expression /obj/model/grid2 -> echo `point(".",150,"P",0)` The grid only has 100 points but when quering the position of a point that's out of range it returns the value from the highest (in terms of point number) existing point. might be a bug, might be by design. Doesn't really matter just, add more points to your popnet Luca Quote Link to comment Share on other sites More sharing options...
stevenong Posted March 7, 2007 Share Posted March 7, 2007 Based on your hip file, you can use an AttribTransfer SOP to transfer "life" to the grid which will get you what you want. I agree with doc that it seems strange. Bug or design? You decide. Cheers! steven rdg_growth_attribtransfer.6.hipnc Quote Link to comment Share on other sites More sharing options...
rdg Posted March 7, 2007 Author Share Posted March 7, 2007 Bug or design? Luca & Steven, thanks for your answers. I'd vote for design as this behaviour is less error-prone. Otherwise you would have to use try()catch() like stuff if(point()!=undefined, point(), foo()) Thanks for remixing my hip. It took me while to re-engineer it. Why do you use the attribtransfer, you still need point() to get the life? Georg Quote Link to comment Share on other sites More sharing options...
stevenong Posted March 7, 2007 Share Posted March 7, 2007 The point expression in the Copy SOP now refers to the AttribTransfer SOP & not the point1 SOP connected to the POP Network. I hope I answer your question. Cheers! steven Quote Link to comment Share on other sites More sharing options...
rdg Posted March 7, 2007 Author Share Posted March 7, 2007 If I get the attribute via attribute transfer it doesn't return values for undefined points. That is a reason to use attributeTransfer. I first thought attributetransfer would make the point() expression obsolete and provide $LIFE. Thanks. Georg Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.