- Home /
Freeze Position + collision?
I am trying to make a small kitesurf game with (slightly) realistic physics, but struggled in the very start. The idea for now is apply force to the Kite and make it so that the Surfer follows the Kite's movement as if tied to it by tight ropes.
To do that, I used rb.AddForce on the Kite and made the Surfer a child object of the Kite, with the Surfer rigidbody on Freeze Position mode. Although everything works initially, the simulation seems to be ignoring the collision of the Surfer with the floor beneath it as the Surfer falls through the ground due to the Kite's gravity.
Am I doing something wrong? Are there any tricks to make collision work even though I have Freeze Position enabled? Below is the scene screen and the movement code.
Note: I used the Start method to do everything with the Surfer's rigidbody just as I trying a possible solution I found online, but it didn't work.
public class Force : MonoBehaviour { private Rigidbody rb; public float windForce; public GameObject surfer; private Rigidbody surferRB; private Vector3 windDirection = Vector3.forward;
// Start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody>();
surferRB = surfer.AddComponent<Rigidbody>();
surferRB.constraints = RigidbodyConstraints.FreezePosition;
surferRB.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
surfer.transform.SetParent(this.transform);
surfer.SetActive(true);
//Time.timeScale = 0.1f;
}
// Update is called once per frame
void Update()
{
if (transform.rotation.x <= 15f)
rb.AddForce(windDirection * windForce * Mathf.Clamp(transform.rotation.x / 15f, 0, 1f) * Time.deltaTime);
else if (transform.rotation.x <= 30f)
rb.AddForce(windDirection * windForce * Mathf.Clamp(1f - (transform.rotation.x - 15f)/15f, 0, 1f) * Time.deltaTime);
}
}
the collision is not getting ignored, but when you set the freezeposition constrains you are basically saying to that the position is not getting affected by collisions, why did you freeze the position?
Your answer
Follow this Question
Related Questions
Force is being added to wrong RigidBody 1 Answer
How to make rigidbodies on each side of a cube fall towards the cube? [multiple gravity / addForce] 0 Answers
Rigidbody.velocity seems to be breaking jumping physics 0 Answers
When Movement speed Change once it never change again 1 Answer
Physics in 2D mode not working? 0 Answers