我正在用“地球引力”的机制制作一条蛇。当我添加一个“幸存者”时,他掉进了这个星球。 -启用了碰撞器 -截图中的CollisionDetection
公开课 SurvivorMovement
public override void MoveToTarget(Rigidbody target)
{
Vector3 direction = target.position- transform.position;
_rigidbody.MovePosition(_rigidbody.position + _multiplier * _speedMovement * Time.deltaTime * direction);
_rigidbody.velocity= Vector3.zero; //prohibit overclocking
}
公共类 ControllerSurvivorMovement
public void Move()
{
for (int i = 1; i < _survivorMovements.Count; i++)
{
Rigidbody preveuPosition = _survivorMovements[i - 1].Rigidbody;
_survivorMovements[i].MoveToTarget(preveuPosition);
}
}
公开课 ArtificialGravityAttractor
public void Attract(Rigidbody bodyAttracted, Transform body)
{
Vector3 normalizePositionBody = NormalizePositionBodyOnAttractor(body);
Vector3 forceGravity = normalizePositionBody * _powerGravity;
bodyAttracted.AddForce(forceGravity);
Quaternion targetRotation = Quaternion.FromToRotation(body.up, normalizePositionBody) * body.rotation;
bodyAttracted.rotation = Quaternion.Slerp(body.rotation, targetRotation, _speedRotation * Time.deltaTime);
}
我尝试将 Rigidbody 更改为 Transform,更改锚点,减少重力。