Quote: "using two commands for each obbject, that's so difficult.."
What if there are 15 objects that need to all inter-collide with each other? And how much code needs to be changed later if you want them to respond differently when they collide?
Quote: "With NGC all you have to do is move the object and then call runcollisionpro() once per loop and it will auto-slide all of your objects depending on what type of response you set it to."
This is true. ^
There are only two parts in the setup. A SetCollisionPRO() command to control how groups of objects respond. A CollisionTypePRO() to set which object are in which groups.
Then you can freely move your object with native DBP commands. And the RunCollisionPRO() once per loop automatically adjusts all of them for you.
Additionally, if you want group A objects to stick instead of slide when collidiing with group B objects, you make one change in the SetCollisionsPRO() call. No other modifications required.
I can post a code snipplet too if you like.
Here's a quick sphere-to-mesh collision:
rem Setup groups
groupA = 10
groupB = 11
SetCollisionsPRO( groupA, groupB, ELLIP_2_POLY, RESP_SLIDE, DYN_RESP )
rem Load spheres and meshes here
rem Attach objects to groups
ColllisionTypePRO( mySphereObj1, groupA )
ColllisionTypePRO( mySphereObj2, groupA )
ColllisionTypePRO( mySphereObj3, groupA )
ColllisionTypePRO( mySphereObj4, groupA )
ColllisionTypePRO( myMeshObj1, groupB )
ColllisionTypePRO( myMeshObj2, groupB )
ColllisionTypePRO( myMeshObj3, groupB )
ColllisionTypePRO( myMeshObj4, groupB )
do
rem Move all/any ellips at convenience
rem Move all/any meshes at convenience
RunCollisionPRO()
sync
loop
In the above code it assumes that you have 4 ellips colliding with 4 different meshes. (Any ellip can be sphere shaped too)
All of the meshes and spheres/ellips can be moving at the same time with proper collision. All handling done automatically for you.
And if you want the sphere/ellips to stick instead of slide on impact you can use RESP_STICK instead of RESP_SLIDE in the SetCollisionsPRO() def.
How would you do the above or make similar changes as needed using the alternative?