Crash in NxCharacter.dll

xadh00m

13-02-2008 17:53:37

Hi!

I´ve a problem with the NxOgre Character.

It crashes always on the last line in my project:

// create our physic character
NxOgre::CharacterParams params;
params.mType = NxOgre::CharacterParams::CT_Capsule;
params.mDimensions = NxVec3(0.3,1.8,1.0);
mNxCharacter = nxScene->createCharacter(mName + "#NxChar", Vector3(0,0,0), params);

The debugger shows that the crash occurs in the NxCharacter.dll file and gives no further information.

NxOgre.log says:
----
NxOgre 0.9-38
T0F0
NxOgre::PhysXDriver::PhysXDriver#142
NxOgre (NxOgre 0.9-38 ) Started, working with:

- PhysX => 2.7.2
- Ogre => 1.4.6 'Eihort'
- Platform => Windows

T1.29501F6075
NxOgre::Scene::_registerCharacter#1334
Scene Character registered
----

I use the latest SVN image of nxOgre and Ageia 2.7.2.
The cakebox sample works fine on this system so i´m really confused about that error. Did anybody got the same problem?

xadh00m

13-02-2008 17:59:37

I should mention that I´ve created a character inside cakebox. This worked fine.

betajaen

13-02-2008 18:30:10

What is this "mName + "#NxChar"" are you using some sort of macro?

xadh00m

14-02-2008 08:26:00

Its just the name of the character + an identifier name after the '#' (two concatenated strings).

Are the line:
"T0F0" and
"T1.29501F6075 "

in NxOgre.log normal outputs? I dont know what they could mean. Maybe this is a side effect of my problem?

betajaen

14-02-2008 09:10:21

Yep. It means Time 0/Frame 0 and Time 1.29501 seconds/Frame 6075 it's normal.

Can you try it out with the concatenation (in case) otherwise I can't see anything out out the ordinary ordinary that would cause a crash in the NxCharacter.dll (of all places).

Edit, add modify your code to this:

NxOgre::CharacterParams params;
params.setToDefault();

xadh00m

14-02-2008 09:28:57

Yep. It means Time 0/Frame 0 and Time 1.29501 seconds/Frame 6075 it's normal.

Can you try it out with the concatenation (in case) otherwise I can't see anything out out the ordinary ordinary that would cause a crash in the NxCharacter.dll (of all places).

Edit, add modify your code to this:

NxOgre::CharacterParams params;
params.setToDefault();


Ahhhh thats it! I had to set the params to default. Than it works without the assertion in NXCharacter.dll. Thanks a lot :D .
May be it would be better to set params to default at construction, wouldnt it?
Or this unusual behaviour should be made more clear somehow...

Thanks a lot for that and for NxOgre in common :D

betajaen

14-02-2008 09:32:03

They do in Bleeding. ;)

xadh00m

14-02-2008 11:37:43

Do you think it is a good choice to move my project to Bleeding?

It is some kind of first person simulation. Currently I only use static geometry and would heavily make use of your character class. Especially the navigation part. Does this make sense at the current development of Bleeding?

betajaen

14-02-2008 11:48:36

Nope. Because currently in bleeding we don't have a triangle mesh shape or a character class. ;)

xadh00m

14-02-2008 11:59:32

:cry: