Raycast로 조작

MOON·2022년 12월 20일
0
post-thumbnail

UI

360Menu라는 새로운 씬을 생성한 뒤 버튼을 눌러 영상씬으로 이동하게 하자.

새로만든 씬에서 버튼을 하나 생성

Canvas를 선택한 후 Canvas속성에서 Render Mode를 World Space로 바꾼다.

결과창에 버튼이 사라지고 Rect Transform이 활성화 됨

버튼의 크기 등을 적절히 조절하면 된다.

Google VR Emulator를 계층창에 이동

좌우로 회전했을 때 버튼이 고정되어 있고 우리의 시선만 회전하는 것을 알 수 있음

캔버스와 버튼의 위치를 적절히 조절하자.

버튼의 텍스트를 변경(Play 360 Video)

이 버튼을 Raycast를 활용해 조작해보자.

raycast라는 새로운 스크립트를 만든 뒤 아래와 같이 코드를 적어준다.

광선을 forward 방향으로 쏘아 맞을시 hit이라는 문자를 출력시킨다.

Debug.DrawRay를 통해 빨간색 광선도 보이게 하였다. 게임씬에서는 보이지 않는다.

간단한 큐브를 만들어 테스트를 해보면 되는것이 확인 가능하다.

충돌 효과를 내기 위해 버튼에 Box Collider 콤포넌트를 직접 추가함

raycast스크립트를 약간 수정하자

버튼의 컴포넌트를 가져와 광선에 맞을시 버튼이 저절로 작동하게 된다.

캔버스를 생성해 이미지를 추가시키고 MainCamera에 계층형으로 위치 시킴

바라보는 방향의 커서 이미지가 보이게 되어서 마우스 효과를 낸다.

새로운 스크립트를 생성 : ButtonManager.cs
새로운 빈 게임 오브젝트를 생성 : ButtonManager

버튼의 ButtonManager오브젝트를 연결 후 함수까지 연결하면 된다.

일단은 여기까지 마무리하고 다음부터는 버튼에 커서 이미지가 닿을시 바로 화면 전환이 아니라 대기시간을 만드는 방향으로 만들 예정이다.

두개의 영상을 바꿀수 있게 버튼도 따로 만들 예정이다.

profile
나만의 공간

0개의 댓글