매트릭스 Inverse 직접 구현
회전행렬의 역행렬 * 이동행렬의 역행렬
public Matrix4x4 Inverse(Matrix4x4 matrix)
{
// Rotate Scale Inverse
Matrix4x4 invRot = Matrix4x4.identity;
for(int i=0; i < 3; ++i)
{
Vector4 v = matrix.GetColumn(i);
invRot.SetRow(i, v.normalized / v.magnitude);
}
// Translate Inverse
Matrix4x4 invTrans = Matrix4x4.identity;
invTrans.m03 = -matrix.m03;
invTrans.m13 = -matrix.m13;
invTrans.m23 = -matrix.m23;
// Combine
return invRot * invTrans;
}
'게임 개발 > 유니티' 카테고리의 다른 글
유니티 카메라 울렁거림 구현 (0) | 2020.10.24 |
---|---|
유니티 픽셀 사이즈 설정 (0) | 2020.08.14 |
Unity - Canvas가 Screen Space - Camera 일 때 마우스 위치에 UI 띄우기 (0) | 2020.05.07 |
Unity - tab 누를 시 다음 InputField로 커서 옮김. (0) | 2020.04.26 |
유니티에서 2D로 되어있는 버텍스 정보를 이용한 3D 변환 (0) | 2020.04.03 |