- Home /
When my player controller collides with a moving object it can pass through
Hi, I am using a player controller component with the FPSWalkerEnchanced script to move my character around. Everything works perfectly except when colliding with a moving object against the direction it is moving, if the character presses into it enough they can pass through it. Is there a way to fix this? The moving objects move with a very simple movement script:
using UnityEngine;
using System.Collections;
public class Mover : MonoBehaviour
{
public float moveAmount = 5f;
// Update is called once per step
void FixedUpdate ()
{
transform.Translate( new Vector3(moveAmount, 0f, 0f), Space.World);
}
}
Just incase it's worth noting, the moving platform has a box collider and rigidbody.
And when you move the object with a force applied to the rigidbody? Reference here
Answer by zee_ola05 · Feb 03, 2014 at 02:28 PM
check isKinematic
to your moving platform's Rigidbody.
Answer by Klarax · Feb 03, 2014 at 02:28 PM
ou have 2 ways:
1: Speed up the physics time in the physics menu (see the documentation)
2: You can make a raycast to your moving object and stop the motion by script.
also: http://wiki.unity3d.com/index.php?title=DontGoThroughThings
Your answer
![](https://koobas.hobune.stream/wayback/20220613132411im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
How to add to a 3D object's length through code? 1 Answer
How do i prevent the player from dragging a ui element off screen? 1 Answer
How to make a 2D "trampoline"? 2 Answers
OnControllerColliderHit function is not called if player is not performing a move. 2 Answers
How can I apply a force to an object in the opposite direction of the object it's colliding with? 2 Answers