- Home /
Projectiles passing through objects
Projectiles in my game often pass through terrain/objects before colliding, or sometimes even goes through them altogether without colliding. I want the projectiles to collide on the surface of whatever it hits.
I tried using Continuous Dynamic collision detection on the rigidbodies of the projectiles, then checking Continuous collision detection on the terrain's rigidbody and on all objects in the scene, but I still have this problem.
I also tried the following lines of code to "teleport" projectiles to the detected raycasted hit, but it did not do anything:
//Distance to travel in one frame
float distance = rigidbody.velocity.magnitude * Time.deltaTime;
if(Physics.Raycast(transform.position,transform.forward,out Hit,distance))
{
transform.position = Hit.point;
}
(The projectile moves in its forward direction and is in layer IgnoreRayCast.)
I tried the DontGoThroughThings script but it did not solve my problem.
IF you are to "teleport" projectiles anyways, are you sure you really need them? Just use Raycast for logic and ditch the projectile objects.
The projectile is a fairly slow moving energy ball (100 m/s). It would look weird if it was hitscan (my maps are very big and open).
I am trying to teleport it to the collision position it would be in the next frame, if in the next frame it would hit something. That way it won't skip past any thin collider, or go inside any collider before registering a collision.
Your answer
Follow this Question
Related Questions
Object moving through others 0 Answers
Camera looking through objects when touching 1 Answer
objects going through each other 3 Answers
Unity Water4 looks like it can pass through objects from a distance 1 Answer
(point)Light goes through objects 1 Answer