카메라 시점 바꾸기



Left Shift 버튼을 눌렀을 때 시점을 바꿔준다.

시점이 3개이기 때문에 카메라도 3개가 필요하다

메인카메라 프로젝트 생성시 존재하는 카메라


시점카메라(1인칭)

캐릭터가 움직일때 같이 따라 와야하기 때문에 카메라는 캐릭터 오브젝트 자식으로 넣어둔다.




캐릭터 정면에서 바라보는 카메라


메인카메라를 제외하고 모두 비활성화 해준다.

PlayerController스크립트


public class PlayerController : MonoBehaviour

{

public Camera[] arrCam; //카메라 요소들을 추가한다.

int nCamCount = 3;

int nNowCam = 0;

// 필드값 세팅

Camera[] arrCam : 카메라 활성화/비활성화를 해주기 위한 배열

nNowCam : 현재 활성화 된 카메라의 번호

nCamCount : 카메라 갯수


void Update ()

{

if( Input.GetButtonUp("Fire3"))

{

++nNowCam;


if (nNowCam >= nCamCount)

{

nNowCam = 0;

}


for ( int i=0; i<arrCam.Length; ++i )

{

arrCam[i].enabled = (i == nNowCam);

}

}

}

if( Input.GetButtonUp("Fire3"))...

버튼이 눌리면 nNowCam값을 1증가 시킨다.

if (nNowCam >= nCamCount) ...

세 번째 카메라까지 순서대로 보여주고 다시 첫 번째 카메라로 돌아가게 해주는 코드이다.

for ( int i=0; i<arrCam.Length; ++i )...

NowCam(0번카메라)이면 enabled=true 해주고 나머지 1,2번은 false해준다.

또 NowCam(1번카메라)값이 1이면 카메라 컴포넌트를 enabled=true 해주고 나머지 0,2번은 false해준다.

2번 카메라 일때도 마찬가지 나머지 요소는 enabled를 false시킴


*Fire3가 무엇이냐? InputManager



+ Recent posts