본문 바로가기

비현실 연구소/[2층]샘플 분석실

(4)
Collab Viewer 템플릿 분석: 카메라 회전(1) 카메라 회전(시점 이동) 기능 분석(1) ​ 3D 공간에서 자유롭게 돌아다니려면 시점 이동 기능은 필수로 제공되어야 한다. Collab Viewer 템플릿에는 키보드&마우스 뿐 아니라 터치 스크린 입력과 VR 컨트롤러에 대해서 시점 이동 로직이 구현되어있다. ​ 본 포스팅에서는 마우스 우클릭을 이용한 카메라 회전에 대해 분석해본다. 이번 (1)편에서는 비행(Fly) 및 보행(Walk) 모드 까지만 분석하고 다음 (2)편에서 선회(Orbit) 모드를 분석한다. 목차 ​ 1. 살펴보기 ​ 2. 입력 매핑 ​ 3. 기본 폰에서의 이벤트 처리 ​ 4. 비행 모드 ​ 5. 보행 모드 ​ 6. 마무리 1. 살펴보기 ​ 위에서도 말했듯이 일반적인 키보드/마우스 입력 환경에서는 마우스 우클릭을 통해 시점 이동을 한다...
Collab Viewer 템플릿 분석: 레이저 포인터 레이저 포인터 Laser Pointer serviceapi.nmv.naver.com 레이저 포인터는 사물의 특정 부분을 가리키기 위해 만들어진 도구이다. 이번 파트에서는 레이저 포인터 기능에 대해 분석한다. ​ (쉽게 읽힐 수 있도록 작성해보려고 노력했는데 의도대로 안된 것 같습니다. 기회가 된다면 재작성해서 올려보도록 하겠습니다.) ​ 입력 매핑 ​ 레이저 포인터는 마우스 좌클릭으로 켠다. Project Settings 의 Input 카테고리에서 ShootLaser 이벤트에 마우스 좌클릭(Left Mouse Button)이 매핑된 것을 볼 수 있다. ​ ShootLaser 이벤트는 BP_BasePawn에 구현되어있다. BP_BasePawn은 이 템플릿에서 사용되는 모든 Pawn의 조상 클래스다. 버튼을..
Collab Viewer 템플릿 분석: 게임모드 1. 이름 ​ 2. 클래스 디폴트 Player Controller 클래스는 있고 Default Pawn Class는 없다. New Var 0 = dada 이건 뭘까. ​ ​​ 3. 변수 ​ DefaultSceneRoot는 기본 컴포넌트이다. PlayerIndex는 현재 서버에 접속한 인원수를 표시하는 데 사용된다. TempColorPLayer는 플레이어 접속 종료 로직에서 사용된다. 오타가 눈에 띈다. 위에도 나와있지만 NewVar_0 는 초기값 dada 인 String 변수인데, 아무래도 사용되는 것 같지 않다. ​ Color 배열은 각 플레이어에게 지정하는 색상표이다. 초기값이 다음과 같이 선언되어있다. ​ ​ 3.이벤트 ​ 게임모드의 인스턴스는 서버에만 생성되기 때문에 모든 이벤트 호출은 서버에서 ..
Collab Viewer 템플릿 분석: 시리즈 소개 Collab Viewer 템플릿 ​ ​ Collab Viewer는 건축물, 인테리어 혹은 자동차 디자인 등에 대해 멀티플레이 / VR환경에서 내용물을 검토하고 의견을 나눌 수 있는 기능을 제시하는 기본 템플릿이다. ​ ​ 이 템플릿은 프로젝트 생성시 Architecture 혹은 Automotive 카테고리를 선택하면 옵션으로 주어진다. ​ 대략 이정도의 블루프린트 클래스 / 인터페이스 / 컴포넌트 / Enum / 위젯블루프린트 클래스들이 서로 상호작용을 하는 콘텐츠이다. ​ 위 블루프린트 클래스들을 모두 포함하여 이 템플릿 프로젝트의 구조를 분석하는 것이 이 시리즈의 주제다. ​ Collab Viewer 템플릿의 사용법에 대한 공식문서는 아래 링크를 통해 확인할 수 있다. https://docs.unre..