Page 10 of 11

Re: new Physx

PostPosted: Tuesday, 29.July 2014, 15:32
by Skinnytorus
Wait... Why did you choose the last rb2 instance on the right input in Joints? According to common logic, it should be the first one...

Re: new Physx

PostPosted: Tuesday, 29.July 2014, 15:40
by ikam
first, is the first of all, the very top first, not the first per instance.
last is in fact the first of each instance or the last instance...

edit : in fact I'm not sure, I need to review...

Re: new Physx

PostPosted: Tuesday, 29.July 2014, 15:42
by ikam
1/ yes, I forgot to update this
2/ let me thinking to this :)

Re: new Physx

PostPosted: Tuesday, 29.July 2014, 15:43
by ikam
I added per joints settings, some are settings are not correct by default, I need a second code pass to fix details..
I also remove Joint2, because I updated joint1 to works in 2 modes, with one or two inputs... I also rename to Joint.

Re: new Physx

PostPosted: Tuesday, 29.July 2014, 16:25
by Skinnytorus
first, is the first of all, the very top first, not the first per instance.
last is in fact the first of each instance or the last instance...

We are counting RBs, not joints, right? In the example file I multiplied RBs downwards (-Y axis), so that the first original was above all. According to logic, that should be the first RB in the index. Or am I confusing things?

Re: new Physx

PostPosted: Tuesday, 29.July 2014, 17:50
by ikam
mmm, all these instances rules seems not yet ready. it's not easy to drive.

Here a grid example to show what's happen.

Re: new Physx

PostPosted: Tuesday, 29.July 2014, 19:08
by Skinnytorus
Looks like we think in different dimensions. You think in x, I think in y. :)
Your example is pretty express. Thanks. I guess the problem is the Chain operator. I suggest including multiply functionality into Chain and make available only the first or the last instance (including the original RB) to the Joint operator. That would clear things a bit...

Re: new Physx

PostPosted: Wednesday, 30.July 2014, 15:34
by ikam
I made several changes for joints.
Look examples.

Re: new Physx

PostPosted: Wednesday, 30.July 2014, 16:43
by Skinnytorus
Wow... It's getting even more complex... Can't figure if Joint takes into account all Multiplies in the stack or just above it. What is the logic?

Re: new Physx

PostPosted: Wednesday, 30.July 2014, 21:46
by ikam
it take all actor in tree above.

Re: new Physx

PostPosted: Thursday, 31.July 2014, 09:19
by Skinnytorus
Do I understand correctly the following:
1) veryfirst = original RB
2) eachfirst = each first instance (not original) in each multiply under a specified RB and above Joint
3) eachlarst = each last instance (not original) in each multiply under a specified RB and above Joint
4) And a question: to which multiply operator Specify and Range modes refer if there is more than one multiply under any of RBs and above Joint?
5) How are instances treated if there is Add (e.g. add 3 RBs) followed by multiply operator which is all above the Joint operator?

Re: new Physx

PostPosted: Thursday, 31.July 2014, 10:23
by ikam
1/ yes

There is two points to see :
a) when multiply is above a joint operator, so between rigidbody and joint, it multiply only rigidbody, not joint.
b) when multiply is under a joint operator, it multiply all, rigidbody + joints.

when there is only a single instance of a rigidbody (no multiplied between rigidbody and joint), there is no problem to choose wich rigidbody to joint, it is the one designed by its name, but when there is many instance of one rigidbody, you may want to choose only a certain instance(s) of original rigidbody where to apply the joint. veryfirst always select the original rb.

2/ yes, each time you multiply the joint (so when multiply is under joint), eachfirst get the first rigidbody of each multiply operation.
3/ eachlast do the same, but get the last rb copy of each multiply operation.

eachfirst and eachlast are good to get only extremities when multipling joints.

4/ specified will go to search the instance id (id is a number from 0 (original) to x (nb max multiplied)) of all existing copy of a rigidbody (above and under). Range do the same, but where you can specify multiple instances to get.

5/ Joint search by name the rigidbody to join, add op has no particular effect as it will not go to other branch. only multiplied will be taken and they will act as there is no add...

all that is not easy to understand, and more to code... The best thing is trying to build something as a concrete scene to get possibilities.

Re: new Physx

PostPosted: Thursday, 31.July 2014, 11:27
by Skinnytorus
Thanks. It's gonna take some time to realize, but I'll try. I suggest you have a break and switch to something else... the new particles, for example ;)

Re: new Physx

PostPosted: Thursday, 31.July 2014, 11:37
by ikam
lol, yeah I going on hollidays tomorrow 8)
Jump back to particles after ;)

Re: new Physx

PostPosted: Thursday, 31.July 2014, 11:49
by Skinnytorus
Have a good time there, bro! :)
How soon will you return?