반응형
유니티 C# 벡터의 각도 구하기 예시 코드 작성
using UnityEngine;
public class VectorAngle : MonoBehaviour
{
void Start()
{
// 두 벡터 정의
Vector3 vectorA = new Vector3(1, 0, 0); // 예시 벡터 A
Vector3 vectorB = new Vector3(0, 1, 0); // 예시 벡터 B
// 벡터 사이의 각도 구하기
float angle = CalculateAngleBetweenVectors(vectorA, vectorB);
// 결과 출력
Debug.Log("두 벡터 사이의 각도: " + angle + "도");
}
// 두 벡터 사이의 각도 구하는 함수
float CalculateAngleBetweenVectors(Vector3 A, Vector3 B)
{
// 두 벡터의 내적 계산
float dotProduct = Vector3.Dot(A, B);
// 벡터의 크기(길이) 계산
float magnitudeA = A.magnitude;
float magnitudeB = B.magnitude;
// 코사인 값을 구하고 각도(라디안)를 계산
float cosTheta = dotProduct / (magnitudeA * magnitudeB);
// 코사인의 역함수를 사용해 라디안 값을 도로 변환
float angleInRadians = Mathf.Acos(cosTheta);
// 라디안을 도 단위로 변환
float angleInDegrees = angleInRadians * Mathf.Rad2Deg;
return angleInDegrees;
}
}
반응형