Locking a rotation axis?

Tatami

10-03-2010 23:34:00

I searched on the forums, but it seemed like people were using raiseBodyFlags, or something like that to lock the rotation axes of a body. However, in visual studio, the OGRE3DBody class doesn't seem to have that function. How can I lock the axes of rotation of an object? Also, where is the correct documentation for NxOgre? I can't find any documentation for OGRE3DBody.

h4mmur4b1

10-03-2010 23:49:18

I'm pretty sure you're going to find no documentation anywhere.
If I were you I'd start going into the NxOgre code and modify as many things as you need for your project.

Tatami

11-03-2010 02:28:18

What do you mean by NxOgre code? Do you mean the tutorials on the OgreWiki? Because those are very basic and don't cover stuff like locking rotation axes, setting a maximum linear velocity, or using character controller.

Tatami

11-03-2010 08:51:24

Anyone know the answer to this (locking rotation axes)? It'd really help me out, since I can't for the life of me find it anywhere online.

betajaen

11-03-2010 10:22:09

It's the Enums::BodyFlags_???? you should be able set them via the RigidBodyDescription (description.mBodyFlags |= BodyFlags_FreezeRotationY).

Tatami

11-03-2010 14:08:09

Awesome, you're my hero! This is just what I needed.

One other thing that I'm having trouble finding: how do you delete an OGRE3DBody? The only code I could find called NxScene->destroyActor or NxScene->batchDestroyActor, but those don't seem to be in the API anymore. I only see destroySoftBody, destroyJoint, etc., but no destroyActor. Did the API change?

spacegaier

11-03-2010 14:43:45

OGRE3DRenderSystem::destroyBody(OGRE3DBody*);