Jump to content
  • Advertisement

Cacks

Member
  • Content Count

    445
  • Joined

  • Last visited

Community Reputation

179 Neutral

About Cacks

  • Rank
    Member

Personal Information

  • Role
    Programmer
  • Interests
    Design
    Programming

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Cacks

    Angular Friction

    @Randy Gaul, I've been experimenting with your suggestion. I can get 2 normals by using the collision's reference face. I am getting linear movement due to angular momentum but the momentum doesn't decrease correctly. The linear movement of objects sliding on surfaces is impeded, the backward impulses are too large. @Dirk Gregorius, I don't understand the equations. For linear friction I can get the current normal of the collision. For tangent normals I can get these using the collision's reference face. What is circular clamping & warm starting?
  2. Cacks

    Angular Friction

    @Randy Gaul, I had a quick go using the normal response with 1 tangent; didn't work out, I will investigate further, cheers
  3. Cacks

    Angular Friction

    Checked up Coloumb friction, I've implemented linear friction using this approach already I have Erin Catto's Iterative Dynamics paper you guys mentioned before I can see the 2 Friction Constraints equations but don't understand them yet
  4. Cacks

    Angular Friction

    @Dirk Gregorius, the constraints based methods seem complicated or am I making a mountain out of a molehill?
  5. Cacks

    Angular Friction

    Hi, how do I calculate angular friction between my polyhedra? I have contact points My engine doesn't incorporate angular friction so spinning objects don't move linearly if they spin on surfaces & angular momentum doesn't decrease, cheers
  6. Cacks

    Combine 2 Physics objects

    @Scouting Ninja my main reference book is 'Essential Mathematics for Games and Interactive Applications' + information from the internet I considered using 'Bullet SDK' for my physics but the documentation was lacking so I decided to build my own physics engine
  7. Cacks

    Combine 2 Physics objects

    I think I found an answer: I physically separate the objects based on penetration depth It seems to work ok atm I'm not using Unity, I'm writing it in C++
  8. Cacks

    Combine 2 Physics objects

    @JoeJ Its a 3d game, angled view, polyhedra as bounding volumes, impulse collision response, collision manifolds, 3d physics but I lock rotations about the Y axis, the movement is realistic but the graphics is not
  9. Cacks

    Combine 2 Physics objects

    @JoeJ, I have to do it in the physics engine I need the player to rotate & bounce if the stick hits the walls or the stick pushes the puck through the walls
  10. I am making a hockey like game So far in my Physics Engine I use 1 polyhedron to describe my physics objects I have the players' bodies working ok but now I have to add the sticks What technique should I use to combine these 2 objects in my physics engine?
  11. Cacks

    Moving characters

    Hi, I create Normalised Device Coordinates (NDCs) from my mouse input. I want to use these coords to move my characters If I convert these coords to Force my characters will accelerated infinitely & they won't have max velocities What do I convert my NDCs to to achieve this? cheers
  12. I've tried simulating angular friction by defining an angular deceleration but my code is giving odd results My math must be wrong? Vector3<float> newAngMo(obj->getAngularMomentum() + obj->getTorque() * seconds); Vector3<float> newAngVel(obj->getInverseInertiaTensor().transform(newAngMo)); if (newAngVel.isNotZeroVector()) { Vector3<float> frictionDecel(-newAngVel.normalisedVersion() * Math<float>::PI); Vector3<float> frictionTorque(Movement::torque(obj->getInertiaTensor(), frictionDecel)); Vector3<float> frictionAngMo(frictionTorque * seconds); Vector3<float> postFrictionAngMo(newAngMo + frictionAngMo); Vector3<float> postFrictionAngVel(obj->getInverseInertiaTensor().transform(postFrictionAngMo)); if (postFrictionAngVel.isZeroVector() || newAngVel.normalisedVersion().dotProduct(postFrictionAngVel.normalisedVersion()) < 0.0f) { newAngMo = Vector3<float>(); newAngVel = Vector3<float>(); } else { newAngMo = postFrictionAngMo; newAngVel = postFrictionAngVel; } } obj->setAngularMomentum(newAngMo); obj->setAngularVelocity(newAngVel);
  13. @Fulcrum.013, angular_velocity = inverse_inertia_tensor * angular_momentum
  14. @alvaro, something like this would be sufficient but I'd rather define the angular deceleration, times it by the inertia tensor & that would give torque I could minus torque * dt from the angular momentum then get the angular velocity
  15. @Dirk Gregorius, how do others handle rotational friction? My objects are locked to rotate around the Y axis but they are spinning like crazy & won't stop
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!