+ Radian을 구하는 것이 핵심
private void FixedUpdate()
{
Angle = AngleCalculator.GetAngle(this.transform.forward.x, this.transform.forward.z);
AngleDifference = (targetAngle.Angle - Angle);
}
public float GetAngle(floatx, floatz)
{
float value = (float)((Mathf.Atan2(x,z) / System.Math.PI) * 180f);
return value;
}
Mathf.Atan2
return the angle in radian between x , y
지름을 arc로 변환시켰을 때의 곡선, 두변을 곡선과 연결시켰을 때의 각도
void InitRigidBody()
{
rb.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
rb.mass = 1;
rb.constraints = RigidbodyConstraints.FreezeRotationX | RigidbodyConstraints.FreezeRotationZ;
//rb.useGravity = false;
}
Edit > Project Settings > Time
※기본 fixed update의 프레임은 50프레임(Fixed Timestep 0.02) 정도이지만 게임의 프레임이 50보다 낮아지면 fixed update의 프레임도 자동으로 낮아진다.
※ 1 ÷ 0.02 = 50 frame
유니티 몫(quotient), 나머지(remainder) 노트 (0) | 2021.07.29 |
---|---|
유니티 Gizmos 기즈모 노트 (0) | 2021.06.30 |
유니티 String.Format 노트 (0) | 2021.06.02 |
유니티 While 노트 (0) | 2021.05.22 |
유니티 배열 Array 노트 (0) | 2021.05.22 |
댓글 영역