- Home /
Applying custom forces without rigidbody collisions?
I am working on a project that is sort of like air hockey, the player nudges a puck along, but with his finger/mouse instead of a paddle. I have make a half working example of this by using rigid bodies however when the player swipes there is too much calculations going on when swiping and the invisible paddle (collision mesh) goes right though a lot of the time.
Instead of using rigid bodies the whole thing would work much better like a game of pool (billiards), when the player swipes toward the puck it needs to only apply a single force hit, based on the on velocity and direction of the swipe (invisible paddle). On collision (or distance from) it disables the player input/mouse ray-cast, and applies the force directly to the object as a single force that I can tweak values for instead of using rigid bodies. This would work much better as the player is only allowed a certain number of nudges, and only nudge from one side.
Does anyone know any method/s I can use to pull this off? To recap.
Player swipes finger/mouse
Cursor casts a ray-cast directly on a plane (or invisable object)
That ray-cast activates a collision with the puck object (or distance to)
The player controlled raycast/object gets disabled
A single vector3 force is applied to the puck based on the direction (collision point of the puck), and speed (velocity of the players swipe before collision)
Both the puck and the theoretical paddle would both be cylindrical in physics. Also, I say swipe, but it's more like just tracking the finger/mouse.
I don't need raw code examples, but any insight into the right path/s.
Thankyou.
Your answer
Follow this Question
Related Questions
How can I make a physics object jump a given height on collision regardless of current velocity? 1 Answer
Set Velocity at relative position. 2 Answers
How to detect collisions, but add 0 force to objects 1 Answer
Character Controller meets Rigidbody 1 Answer
How to add physics to an animation? 3 Answers