Game Development Community

Players Skates in Building/Roads/Pavement...

by Quinton Delpeche · in Torque 3D Professional · 10/19/2012 (10:58 pm) · 12 replies

I am having a bit of an issue with a new map I am building. The player animation works perfectly on terrain and there are no problems. As soon as I place a building or a road or a pavement and the player then moves on to it ... the animations no longer work and it looks like he is ice-skating.

I thought it might be an object problem ... so I re-exported the models. THis didn't fix the issue.

I have also checked and the collision with the model is fine (i.e. it uses Visible Collision Mesh). Player Step is also activated.


EDIT: It is something to do with the collision of the model. The problem however is how do you handle complex collisions when it comes to the interior of the building and walking on the floors. *sigh* I am so not an artist. 8-{


I have done some searches through the forums and unless I missed something obvious, I didn't find any help.

Any help would be greatly appreciated.

Thanks
Q

About the author

Gobbo Games is an Independent Games Development company operating from Durban in South Africa. We believe in creating high-quality cost-effective games that remain true to the belief of Independent Game Developers around the world.


#1
10/20/2012 (6:53 am)
skating or sliding?
there is a known sliding problem.
here is a fix.try it.
http://www.garagegames.com/community/forums/viewthread/130955
#2
10/21/2012 (5:15 am)
Nope ... fix didn't work. Player and AI still slide around the surface.

If I apply a complex collision on the object and then set the collision type to bounds ... the Player and AI operate correctly and play the correct animation when running / walking on the object.

The problem comes in with complex shapes - like building, underpasses, etc - this approach is not practical.

*gah* -- I have no idea what else to try. 8-{


Edit: Okay ... solved this ... it appears as if the CE version of T3D is the culprit here ... *sigh* ... what a waste of time.
#3
10/23/2012 (10:06 am)
"Okay ... solved this ... it appears as if the CE version of T3D is the culprit here"

wAS THE PROBLEM IN ce version or eleswhere?
or u are mixing different versions together?
#4
10/23/2012 (11:08 am)
IF there is a problem with the CE then make sure you add a ticket to the issue tracker at the CE trac page -- especially since no one else has reported any such issue.
#5
10/23/2012 (11:45 am)
@ahzan: No I am not mixing versions. I initially started using the CE version of the engine and came across this problem.

I then did a complete code clear (i.e. delete all the code from my SVN repository) and added the MIT version of the code. The problem does not appear there.


@Michael: I will add this to Trac when I can get some time to provide clear instructions on how to recreate it and to confirm that this is a CE problem.


Synopsis: Basically what happened to me was as follows:
1). Created a blank level using terrain generated from L3DT and textured.
2). Added some elements from the BAG City Packs (I own both) and noticed that my Player model and AI would animate correctly when running across the terrain but as soon as they hit these elements they started skating (i.e. felt like ice-skating).
3). I tried other objects and achieved the same results.
4). I the reverted to the standard Garage Games Soldier and Zombie models (thinking it might be my custom models) and experienced the same problem.


I did notice that if I "aggroed" the Zombies (using some custom code) and their rush (i.e. sprint) animation kicked in ... they would animate correctly on the models.


Tonight, I finished adding a whole host of models to my new map (using the MIT version) and spawned about 40+ Zombies and then ran around the map -- shooting the ones I could -- running away from the ones I couldn't ... and everything worked properly ... all animations work correctly.

I can even enter the buildings now. 8-}

When I get some free time, I will do a fresh test with CE ... I honestly can't remember making any changes to the C++ side of things ... but stranger things have happened.

This is primarily why I haven't logged a ticket on the CE Trac system yet.
#6
10/23/2012 (12:57 pm)
Were you using the DIF shapes from the BAG packs? If so, then I'm sorry to say that the CE supports InteriorObjects even less than GarageGames does.

If not, then it might be possible that there is something within the Bullet implementation causing a problem. If you get a chance will you try using the conditional build options to disable Bullet? It's turned on by default. Open up projectName/buildFiles/config/project.conf and comment out the line that says includeModule("Bullet"). Regenerate the project (using the batch file) and recompile.
#7
10/23/2012 (7:35 pm)
@Michael: They are not DIFs ... they are standard DAE files. Having said that, I have had good success by converting some of my older models from DIFs to DAE and then inserting them.

However in this instance, all the models were either freshly exported DTS files or stock standard DAE files.
#8
10/23/2012 (11:38 pm)
Quinton, collission what form is used?
If you use 'visible Mesh' collision presents the same problem?
Also the shape of the object it not certain. eg if you enter the water and we have not animation on the water will see the player slides. Also if the bound of player mingle at collision object rather than trapped and sliding occurs over.
#9
10/24/2012 (3:40 am)
@Dimitris: Answers to your questions below.

1). If I use Visible Collision mesh, my player/ai-player collides with the objects correctly but they still skate over the surface of the object (i.e. like a road model or a building model).

2). If I use the Shape Editor and re-compute the collision using a complex shape. I then set it to Bounds, the player/ai-player no longer collides with the model correctly but they no longer skate over the surface.

3). Setting the object to Collision doesn't change anything.


I must note, that last night (South African time), I added over 30 different objects in the normal version of T3D (and then copied the map to the MIT version) and after setting the objects to Visible Collision Mesh ... everything worked perfectly.


Hence my assumption that this is a CE problem. I also need to point out that the problem is not intermittent, it either always skates or never skates.
#10
10/26/2012 (1:30 am)
player collide use
boundingBox = "0.65 0.75 1.85"; is box with width, depth, height
and the friction = "0.5"; // with friction near to 0 player skate
in player datablock, art/datablocks/player.cs
if you can help.
#11
10/26/2012 (3:25 am)
@Dimitris: Sorry ... I am not sure I understand. Are you asking for help or offering help?
#12
10/26/2012 (8:33 am)
And boundingBox should be different from model to model - it has to be large enough to fully encompass the player model through all animations. Just throwing that out there, I'm sure that's not Quinton's problem because a boundingBox that is too small causes the player to disappear when any part of the player model extends beyond it.