Jump to content

  • Log In with Google      Sign In   
  • Create Account

Interested in a FREE copy of HTML5 game maker Construct 2?

We'll be giving away three Personal Edition licences in next Tuesday's GDNet Direct email newsletter!

Sign up from the right-hand sidebar on our homepage and read Tuesday's newsletter for details!


We're also offering banner ads on our site from just $5! 1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Nvidia PhysX character controller not responding to Force Field


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
6 replies to this topic

#1 Xcrypt   Members   -  Reputation: 154

Like
0Likes
Like

Posted 11 January 2012 - 09:36 PM

Hey, my character controller is not responding to my created force field, even though I setted the collision groups correctly etc. The force field works fine against anything else.

How do I enable the force field to do something with the character controller? Is there a way for this? Because I couldn't find anything in physX documentation. I need those damn rocket jumps!

Thanks.

Sponsor:

#2 DjMaSh   Members   -  Reputation: 198

Like
1Likes
Like

Posted 14 January 2012 - 04:26 AM

If its not colliding, how do you know you hooked up the collision groups properly?

#3 Xcrypt   Members   -  Reputation: 154

Like
0Likes
Like

Posted 14 January 2012 - 12:32 PM

Well, you're right that something stinks here: I setted the shapes of the actor of the charactercontroller to the correct collisiongroups. But If you read the documentation, you will find out that changing anything about the actor of the charactercontroller is "undefined", "however, purely information gathering-methods are OK".

I did this because I know no other way to set the collisiongroup of a charactercontroller, and I can't find it in the physX documentation either. (Let me know if you do!)
Chances are that this is my problem, but it could just as well not be this causing the problem, because I've set actor information like this before and it never gave any problems.

The problem here is that a charactercontroller is really made because you don't want all the features of the physX framework, you just want a simple system to move your character. However, I really need a character controller, but I also need it to work with the forcefield.

Any ideas?

#4 DjMaSh   Members   -  Reputation: 198

Like
0Likes
Like

Posted 14 January 2012 - 02:14 PM

I've never used physx myself so I cant give you any specific details on how to implement.

I dont suppose you have the source code for the character controller?

So I imagine the character controller is basically a wrapper class around a rigidbody, that controls the velocity and position based on inputs from the user? Do other, non-character controller physx objects in the world successfully collide with it? can other rigid bodies knock the controller around?

What might be happening is the forcefield collides with the charactercontroller, but then the character controller just stomps on any forces applied with its own. If the character controller is implemented via setting velocity each frame, applying forces to the controller wont work.

#5 Xcrypt   Members   -  Reputation: 154

Like
0Likes
Like

Posted 14 January 2012 - 02:35 PM

Yes, it works with other phsyics objects.

This is how a character controller works more or less: each frame, you must calculate a displacement vector for it (make no mistake, not a force or even velocity vector!)
You must calculate how the character moves (left, right, front, back), and most likely even calculate gravity yourself(although I'm not sure if this is what I'm supposed to do, but there's no information about it, and it doesn't seem to go down without me calculating gravity myself). Then each frame you hand over a displacement vector based on those calculations.

What nvidia will do with that displacement vector, I'm not certain of, but here's some things: it will do auto-stepping(for stairs), and it will also go up a ramp, if that ramp has an angle with the up vector, smaller than some value you have defined in initialisation.

I still need it to work with my force field though! There must be a way...

#6 DjMaSh   Members   -  Reputation: 198

Like
0Likes
Like

Posted 14 January 2012 - 06:01 PM

Btw im totally guessing about everything here. Just going off intuition.

Right. It sounds like its not part of the overall simulation at all. Physx will take your displacement vector and perform the appropriate collision tests and to make sure it doesn't tunnel through other objects, then simply set the transform to somewhere safe.

How have you constructed your forcefield? Is it basically a static trigger volume for which you handle collision events and apply forces to those objects? You might be able to subclass the character controller class to include a 'external force' member, which the forcefield sets. You could then take the value of the external force into account when calculating your displacement vector in your character controller.

#7 Xcrypt   Members   -  Reputation: 154

Like
0Likes
Like

Posted 15 January 2012 - 08:51 AM

yes forcefield is someth like that. Hmm I don't know about the external force, can't find it




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS