4 registered members (M_D, AndrewAMD, Quad, Ayumi),
806
guests, and 5
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: The 3DGS collision system is AWFUL.
[Re: lostclimate]
#365780
03/29/11 09:01
03/29/11 09:01
|
Joined: May 2009
Posts: 5,370 Caucasus
3run
Senior Expert
|
Senior Expert
Joined: May 2009
Posts: 5,370
Caucasus
|
I think, it could be 100 times better if OBB could be completely changed with physX collusion system. But the thing is, that we still could use "C_" functions (c_move and so on), and without physics forces. Plus additional mode to change BBOX's shapes, like box, ellipsoid, cylinder and so on... The only thing is, that I think it's impossible... for two reasons: * first cause I don't know how to implement that and is that even possible... * second reason (the main one) is JCL
|
|
|
Re: The 3DGS collision system is AWFUL.
[Re: 3run]
#365840
03/29/11 16:33
03/29/11 16:33
|
Joined: Jan 2002
Posts: 4,225 Germany / Essen
Uhrwerk
Expert
|
Expert
Joined: Jan 2002
Posts: 4,225
Germany / Essen
|
With the c_trace function you're able to do any collision system you can imagine on your own. So you've got the engines ellispoid collision system, the PhysX collision system plus the ability to implement any system you like. If you use PhysX you've got a complete physics simulation system, taking away a lot of these time consuming and complex tasks for you. Hence the level of control you have is reduced by this system. This is not a flaw but a necessary consequence of the system design.
Under the line you still have all possibilities to realize any collision you like. And I highly recommend not to see JCL as a problem. He is a very clever and intelligent person and he succeded to adapting this engine from the 90s up to today. That includes doing some pretty hard decisions and even choosing which feature to implement and which feature to abandon.
Always learn from history, to be sure you make the same mistakes again...
|
|
|
Re: The 3DGS collision system is AWFUL.
[Re: Redeemer]
#365846
03/29/11 17:41
03/29/11 17:41
|
Joined: Nov 2004
Posts: 7,121 Potsdam, Brandenburg, Germany
Machinery_Frank
Senior Expert
|
Senior Expert
Joined: Nov 2004
Posts: 7,121
Potsdam, Brandenburg, Germany
|
Full physics solutions tend to cause objects to bounce and jitter around their environment, which would make things look extremely ugly at best. Initially this is true but I just made a little physics game in Unity and they take care of that. The quaternion class has a slerp member (spherical linear interpretation) that basically does an interpolation to smooth the movement over time. It works and you get rid of the jittering. There are also parameters to influence the smoothness.
Models, Textures and Games from Dexsoft
|
|
|
Re: The 3DGS collision system is AWFUL.
[Re: Machinery_Frank]
#365848
03/29/11 17:53
03/29/11 17:53
|
Joined: Mar 2006
Posts: 3,538 WA, Australia
JibbSmart
Expert
|
Expert
Joined: Mar 2006
Posts: 3,538
WA, Australia
|
Most of the time I don't want a full-blown physics simulation. I just want to move, stop when I hit something, and get the kinda information c_move gives me (normal, point of impact, who I hit).
Even if between some constraints and the like I could do it, I doubt it would be as efficient as a function dedicated to just collision detection.
Finally, c_trace with USE_BOX is a huge part of the issue, and AFAIK PhysX doesn't offer an equivalent function (I'd love to be corrected).
KarBOOM doesn't use any of the c_ or PhysX functions, and I can't see projects of mine in the near future using PhysX or any of the c_ functions, because I'd rather write my own if c_ doesn't pick up the pace.
Jibb
Formerly known as JulzMighty. I made KarBOOM!
|
|
|
Re: The 3DGS collision system is AWFUL.
[Re: JibbSmart]
#365855
03/29/11 18:16
03/29/11 18:16
|
Joined: Jan 2002
Posts: 4,225 Germany / Essen
Uhrwerk
Expert
|
Expert
Joined: Jan 2002
Posts: 4,225
Germany / Essen
|
Finally, c_trace with USE_BOX is a huge part of the issue, and AFAIK PhysX doesn't offer an equivalent function (I'd love to be corrected). Then I'm pretty glad I can do you favor. :-) You can use pXent_raycast for that purpose.
Always learn from history, to be sure you make the same mistakes again...
|
|
|
Re: The 3DGS collision system is AWFUL.
[Re: Slin]
#365858
03/29/11 18:35
03/29/11 18:35
|
Joined: Mar 2006
Posts: 3,538 WA, Australia
JibbSmart
Expert
|
Expert
Joined: Mar 2006
Posts: 3,538
WA, Australia
|
Then I'm pretty glad I can do you favor. :-) You can use pXent_raycast for that purpose. I appreciate it, but USE_BOX is the main thing missing, and as far as I can tell that function is just a ray. Last time I checked c_trace with use_box it worked just fine. If it really does return messed up normals, you should probably post it in the bug hunt? The problem is the normal returned is not the normal of the surface; it's the normal of the projected ellipsoid colliding with that surface. This is normally fine, except when we encounter an edge. Consider stairs: the normal returned by a c_trace without USE_BOX would be (1, 0, 0) or (0, 0, 1). Now try again with USE_BOX, where the box is bigger than a single stair, and you'll get a sloped normal (like (0.7, 0, 0.7)). USE_BOX is great for a collision detection (that normal is ideal for ellipsoid collision detection), but really annoying when you actually care about the normal. Jibb
Formerly known as JulzMighty. I made KarBOOM!
|
|
|
Re: The 3DGS collision system is AWFUL.
[Re: JibbSmart]
#365861
03/29/11 18:46
03/29/11 18:46
|
Joined: Aug 2009
Posts: 1,438 Spain
painkiller
Serious User
|
Serious User
Joined: Aug 2009
Posts: 1,438
Spain
|
you can also try USE_POLYGON on c_trace
3D Gamestudio A8 Pro AMD FX 8350 4.00 Ghz 16GB RAM Gigabyte GeForce GTX 960 4GB
|
|
|
|