프로젝션 행렬을 이용한 구현.
public class Test : MonoBehaviour
{
Matrix4x4 originalProjectionMat;
private void Start()
{
originalProjectionMat = Camera.main.projectionMatrix;
}
private void CameraShake()
{
Matrix4x4 pMat = originalProjectionMat;
// roll
pMat.m01 += Mathf.Sin(Time.time * 1.25f) * 0.4f;
pMat.m10 += Mathf.Sin(Time.time * 1.5f) * 0.4f;
// x
pMat.m00 += Mathf.Sin(Time.time * 1.5f) * 0.1f;
pMat.m11 += Mathf.Sin(Time.time * 1.5f) * 0.1f;
Camera.main.projectionMatrix = pMat;
}
private void Update()
{
CameraShake();
}
}
'게임 개발 > 유니티' 카테고리의 다른 글
유니티 Matrix Inverse (매트릭스의 역행렬) 코드로 구현 (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 |