Guest xionmark Posted May 22, 2011 Share Posted May 22, 2011 Greetings, In regards to what a POP "modifier" should behave like in a typical Houdini particle system, would it be accurate to say that if the design of the POP is to affect the particle's motion depending on it's proximity to a field, that the proper method of affecting the particle's motion is to *add* to either it's velocity or acceleration? Thus the modifier would be adding (or subtracting in the case of negative values) to the motion instead of defining it like in a particle generator. And further, if the proximity of the particle is not within the field, that the velocity and/or acceleration should *not* be modified so as to preserve the particle's motion. Would that be a reasonable definition and approach? Seems to me it is ... However, I'm working on a POP that the author of the simulator claims that the velocity output would be zero if the particle isn't within range of the field, this is apparently the way it works in XSI & Maya, (I don't know, I've never written a particle operator for either of those apps) so I'm wondering if anyone here might have had experience with this sort of issue. Thanks as always, Mark Quote Link to comment Share on other sites More sharing options...
anim Posted May 22, 2011 Share Posted May 22, 2011 I cannot say from HDK point of view but in VOPs you need to calculate effect of that modifier and add it to v or accel coming from it's input so it may seem that for that modifier to have no effect it needs to return unmodified v and accel and this is right but from other perspective you may look at this that returned value is what you are adding to input v or accel and in that case the output velocity needs to be 0,0,0 for it to have no effect, of course this is then added to input velocity still inside the same VOP POP (I tend to modify accel most of the time, to have unmodified velocity for all POP nodes at this timestep if they need to compute something from it correct proportion of accel is then added to that velocity by houdini to compute velocity for the next timestep) in Softimage (at least in ICE) you just compute new velocity in force "modifier" which returns 0,0,0 for no effect but then there is Add Forces Node, where all such modifiers are plugged in and there their output velocities are added together, so basically the same thing sorry it this is not what you are asking, I don't know HDK at all so it may be different Quote Link to comment Share on other sites More sharing options...
Guest xionmark Posted May 22, 2011 Share Posted May 22, 2011 That makes complete sense, thanks for the sanity check BTW. My contention is that the modifier would return the "amount" of effect to apply to the particle's motion, and thus if it's zero, no change is applied to the particle's motion vector(s) at all. Simple addition. It doesn't matter if it's in VOPs or the HDK, same rules applies. --Mark Quote Link to comment Share on other sites More sharing options...
anim Posted May 22, 2011 Share Posted May 22, 2011 (edited) I think that it is logical for POPs to return unmodified values for zero effect and not zero because all attriburtes (including v and accel) are passed through the POPs on node to node basis (just like in SOPs) and you either modify something in the flow or not and setting something to 0 is modification it will just hardcode that attribute to 0 losing it's input value so if you have your custom force node which will set accel to 0 or other value (whithout adding the result to input accel) and you have for example wind POP or other forces before, then you are just overriding all that have been computed by them so they will have no effect. I have made several VOP forces this way (adding computed accel to input accel) and with no problems so far EDIT: and as far as I understand, accel attribute is always 0,0,0 on the beginning of each timestep, and if no force add something to this value it stays 0,0,0 and it will not alter the velocity for the next timestep Edited May 22, 2011 by anim Quote Link to comment Share on other sites More sharing options...
Guest xionmark Posted May 22, 2011 Share Posted May 22, 2011 in Softimage (at least in ICE) you just compute new velocity in force "modifier" which returns 0,0,0 for no effect but then there is Add Forces Node, where all such modifiers are plugged in and there their output velocities are added together, so basically the same thing I've got a feeling this is the crux of the confusion, from your description, it appears the summation of the forces happens differently in ICE than in Houdini. I just recently got access to a copy of XSI, I should dig into it myself I guess. It appears I'm calculating the forces correctly, now I'm wondering if there's other assumptions about the way XSI works that I need to consider ... Well, hopefully it won't be too long that this plugin will be released, it's in beta testing right now. Should be an interesting addition to the POP toolbox. --Mark Quote Link to comment Share on other sites More sharing options...
anim Posted May 22, 2011 Share Posted May 22, 2011 ...I've got a feeling this is the crux of the confusion, from your description, it appears the summation of the forces happens differently in ICE than in Houdini. I just recently got access to a copy of XSI, I should dig into it myself I guess. It appears I'm calculating the forces correctly, now I'm wondering if there's other assumptions about the way XSI works that I need to consider ... Well, hopefully it won't be too long that this plugin will be released, it's in beta testing right now. Should be an interesting addition to the POP toolbox. ... sorry for confusion, it's difficult to compare because they are two different nodal graphs with slightly different logic but if we take Softimage ICE for example and focus on single ICE Tree in simulation modifier stack of a pointcloud and if we want to compare this Single Ice Tree to single POP Network in Houdini then it maybe can be compared for this case ICE Tree is executed left to right top to bottom if you have that Add Force Node with N inputs and to each input you plug set of nodes computing velocity then that set of nodes you may call "modifier" or "force" and group them into single node "compound" for later use Softimage has many compounds computing force in such way, lets call them ICE Force that ICE Force outputs just the value which needs to be added, so for it to have zero effect it is 0,0,0 as you can see you need to add all forces together with Add Force Node to create one force vector (Houdini doesn't have node or system for adding attributes outputting from POPs together, it works differently you need to decide in VOP what to do with input value, if you need to add something to it or multiply or discard and output modified value) the closest analogy would be something like this: Imagine you have just single VOP POP force in your POP Network and no other nodes modifying "accel" then you can have set of VOPs computing for example gravity outputing value to Add VOP another set of VOPs computing wind outputting value to the same Add VOP and so on so all your forces will be added together inside the single VOP POP and outputted as "accel" from it then Add VOP will be like Add Force Node in ICE and each input to that Add VOP will be like any ICE Force so you can see that ICE Force is just outputting local force not considering previous values (but that is only a matter of workflow, you can easily alter all ICE Forces so that they will get v or accel add new force to it and set the new v or accel, then just execute one such ICE Force after another without adding them together since they have computed addition inside, just like POPs) anyway, it's probably difficult to imagine without knowing how ICE tree works, so you better try it for yourself We are certainly looking forward for your new plugin Quote Link to comment Share on other sites More sharing options...
Guest xionmark Posted May 25, 2011 Share Posted May 25, 2011 We are certainly looking forward for your new plugin Here's a sample: http://www.digitalcinemaarts.com/tmp/smokey_sphere_v1.mp4 One emitter POP, one Drag POP, and one "magic" POP. --Mark 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.