Panda PhysX


I’m not sure. Is there something I’m supposed to do besides remove the old SDK build and install the new one for makepanda to link properly?


No, I don’t think there is anything else to do.

I installed the PhysX SDK and did a full build using the current CVS head. It compiled fine, and I did not see any warnings/errors regarding PhysX. After copying the required PhysX dlls to my samples folder I have been able to run my samples without any problems.

Then I downloaded the Panda3D SDK (Panda3D-2012.03.31-545) and using this verison of libpandaphysx I get crashes too. Not when creating a world, but when creating the first actor. Anyway.

Comparing the two libpandaphysx.dll files:

-> my own build:        2.925.568 bytes
-> snapshot build 545:  2.911.232 bytes

So what is going on? I downloaded the SDK a few months ago. Maybe NVIDIA replaced it, with a new SDK without changing the version number. We had this once, and it caused lots of confusion. Can you check your versions/sizes of the following dlls:

cudart32_30_9.dll     290.408
NxCharacter.dll          107.872
PhysXCooking.dll          383.840
PhysXCore.dll         3.567.456
physxcudart_20.dll      -/-              197.912
PhysXDevice.dll         65.536
PhysXLoader.dll           64.352


Try the latest Panda3D SDK (547 or later). I guess the 545 build has been started before the PhysX SDK has been replace.


Hey enn0x, just two quick questions regarding documentation:

1). Are there any plans to add PhysX to the manual? I don’t need it personally, but I imagine other people might find it hard to pick up PhysX at the moment because there’s not really any documentation around for it. Even just adding the samples zip file to the manual would probably be useful.

2). I can’t seem to find any API doc. Am I just missing it, or will I just need to read the code itself for the moment?


Well, first I’d like to know if the above problem is solved now, i. e. does the 547 snapshot (or later) work for you?

Nope. It’s 20-30 hours of work to write such a documentation, and since we are going to rewrite the PhysX module for PhysX 3.2 (or later) I don’t think it’s worth the effort. But of course we are very happy if someone likes to contribute some pages.

Good idea.

Hmm, this is probably a doxygen configuration problem. It’s just the Python docs which are missing. The C++ API docs have pages for the various PhysX classes.


I’ve tested with #550 and verified that it’s not working. Oddly, the DLL size is still different than mine, but I guess that doesn’t matter.

I’d be happy to help with the documentation, but as you said it’s probably not worth the effort at the moment as you’re rewriting the module. Once Physx 3.2 implementation is ready to go (or almost ready) I’m more than willing to help test/document.

The C++ API will suit me fine, thanks.


This is strange, because it works here. I wonder where the difference is.


Oops, that was a typo. It was supposed to be “now.” =p


The samples download isnt working could you please put some up somewhere thanks.


You can download the samples here:


Thank you. :slight_smile:


I must be stupid, but i can only download PhysX SDK 3.1.2 and 3.2…
And i don’t find nxCharacter.dll
How can i test the examples physx-samples without that ?
Thanks for advance


You need the SDK.
I just logged in to the NVIDIA dev support site, and I can download the SDK for Windows.


Thank you, but i don’t find this SDK anywhere.

The adress is :
And there is only SDK for PhysX 3.2 (beta 3) and PhysX 3.1.2.

I’m also logged as a developper…
Could you help me ?


The original developer support site is here:


Is there a flag to disable a character controllers gravity, if so can you please post it.


There is no such flag. We use the default implementation for the stepping algorithm, and automatically apply the scene’s gravity.


Well do you know how i could make the character controller climb a ladder?


Good question. I didn’t think about this before.

1.) One idea would be to remove the controller from the simulation while the player is climbing a ladder, and replace it with a plain kinematic actor.

2.) Another idea would be to use an invisible support below the character, which is moved up and down while the character climbs.

3.) A third option would be to store a “custom gravity” vector as member on the character controller, and if this custom gravity is set we use this one (and not the gravity we get from the scene). Would not be much effort, but I don’t know if this approch really works.

Perhaps you start with the first idea, and if it fails we try the thrid one.


I wrote a gravity member and a set gravity function and built myself and it works well.

Thanks for help.