안녕하세요 유랑입니다. 이번 시간에는 UI에 대해 배워보겠습니다.게임을 실행하면 시작 버튼과 배경화면 같은 UI들이 보이는데요.유니티 상에서 UI를 어떻게 처리해야 하는 지 알아보겠습니다. 1. UI 과거 유니티 엔진은 UI 개발의 불편함에 많은 외면을 받기 일쑤였다.그렇기에 NGUI를 많이 사용하였고, 그런 문제점들을 해결하였다.지금은 NGUI 개발자가 참여하여 새로운 유니티 UI가 탑재되었고 개발자들이 쉽게 사용가능하도록 바뀌었다. 1-1) 프로젝트 생성 후 설정 프로젝트 이름과 생성 위치를 설정 후 프로젝트를 만들어 주자. 상단 메뉴바 GameObject => UI => Canvas 오브젝트를 생성하자. 1-2) Canvas Canvas 컴포넌트는 UI 항목을 화면에 배치하고 렌더링하는 역할을 한다..
안녕하세요 유랑입니다. 이번 시간에는 블렌드 트리와 모션캡쳐 애니메이션에 대해 배워보겠습니다.블렌드 트리는 속도값에 따라 자연스러운 애니메이션 처리를 하는게 가능하며,모션캡쳐 애니메이션은 실제 사람의 동작으로 만든 애니메이션이다. 1. 모션캡쳐 애니메이션 모션캡쳐장비를 이용해 실제 사람의 움직임을 애니메이션으로 만들 수 있다.그 애니메이션을 이용해 이동을 구현해 보겠다. 1-1) 프로젝트 생성 후 설정 프로젝트 이름과 생성 위치를 설정 후 만들어 준다. 캐릭터로 사용할 Dokebimusa와 모션캡쳐 애니메이션인 Raw Mocap Data for Mecanim을 각각 다운받고 임포트하자. dokebimusa 오브젝트를 하이라키뷰에 드래그하여 가져다 놓고,Animator 컴포넌트를 생성 후 Advator를 ..
안녕하세요 유랑입니다. 이번 시간에는 SkyBox에 대해 배워보겠습니다.유니티를 실행 하면 파랗게 보이는 하늘 보이시나요?SkyBox를 이용하면 쉽게 구현이 가능합니다. 1. SkyBox 게임에서 하늘을 표현할 때 사용하는 방식중에 하나가 SkyBox이다.SkyBox는 카메라가 볼 수 있는 하늘의 여섯 방면의 이미지를 Cube 형태로 배치해서 표현한다. 1-1) 프로젝트 생성 후 설정 프로젝트 이름과 생성 위치를 설정 후 만들어 준다. 에셋스토어에서 무료로 제공중인 Fantasy Skybox를 다운받자.Skybox를 표현 가능한 다른 에셋을 받아도 무방하다. 1-2) Skybox 프로젝트 뷰에서 마우스 우측 버튼을 이용해 머티리얼을 생성 후 Skybox라는 이름으로 변경하자.Skybox의 쉐이더는 Sky..
안녕하세요 유랑입니다. 이번 시간에는 라이트 매핑에 대해 배워보겠습니다.모바일 플랫폼에 실시간 조명을 쓰기에는 벅찬 경우가 많습니다.라이트 매핑을 통해 조명 최적화 방법에 대해 알아보겠습니다. 1. 조명 전역 조명은 직접 광원(Direct Light)과 다른 물체에 반사된 간접 광원(Indirect Light) 및 그림자를 렌더링하는 것을 의미합니다.그렇기 때문에 많은 부하를 주기 때문에 하드웨어의 성능에 따라서 실시간 연산이 힘든 경우가 많습니다.따라서 유니티는 실시간 전역 조명 이외에 미리 계산된 전역 조명(Precomputed Realtime GI)을 처리하는 기능을 제공합니다. 1-1) 조명모드 - Realtime, Mixed, Baked - Realtime => 씬에 직접 광을 정용하며 매 프레..
안녕하세요 유랑입니다. 이번 시간에는 유니티에서 제공해주는 네비게이션 시스템에 대해 알아보겠습니다.길 찾기나 추적 알고리즘인 네비게이션은 게임에 필수적인 요소로 자리잡고 있습니다. 1. 네비게이션 길찾기 알고리즘으로 잘 알려진 A* 알고리즘, 다익스트라 같은 알고리즘을 직접 코딩하지 않고, 유니티 엔진에서 구현이 가능하다는 점이 참 매력적입니다.몬스터가 미로에서 도착점까지 가는 로직을 구현해 보겠습니다. 1-1) 프로젝트 생성 후 설정 프로젝트 이름과 위치를 설정 후 만들어 줍니다. 에셋 스토어에서 미로로 쓸 오브젝트와 몬스터로 쓸 오브젝트를 다운받아 임포트 합니다.Maze Generator와 BOSS Class - Bull은 무료이니 걱정하지 마세요. Maze 에셋에 있는 demo씬을 열고 실행합니다...
안녕하세요 유랑입니다. 지난 시간에 이어서 삼성 GearVR을 이용해 이동과 간단한 공격 구현을 해보겠습니다. 1. 삼성 기어 VR Controller 오큘러스 시리즈 마다 컨트롤러를 이용한 방식이 조금 다르기 때문에삼성 기어 또한 정해진 메소드가 존재합니다.터치패드를 이용해 캐릭터 이동과 트리거를 이용해 공격 구현하는 로직을 구성해 보겠습니다. - 터치패드 => OVRInput.Get(OVRInput.Touch.PrimaryTouchpad)- 터치패드 클릭 => OVRInput.Get(OVRInput.Button.PrimaryTouchpad)- 트리거 버튼 클릭 => OVRInput.Get(OVRInput.PrimaryIndexTrigger)- 홈/볼륨 버튼 => 예약된 버튼(아직 개발자가 접근할 수 ..
안녕하세요 유랑입니다. 오늘은 삼성 Gear VR을 이용해 시선처리 방법에 대해 배워보겠습니다. 1. 삼성 Gear VR VR 첫 번째 글에도 소개해 드렸듯이 삼성 Gear VR은 오큘러스와 협약해 만든 HMD 디바이스입니다.그렇기 때문에 시중에 나와있는 오큘러스 문서들을 토대로 공부해 보셔도 좋습니다. 1-1) 프로젝트 생성 및 준비 SamsungGearVR이라고 프로젝트 이름을 변경한 뒤 생성합니다. VR환경은 우선 이것부터 시작하죠.플랫폼을 안드로이드로 변경하고, 원하시는 환경으로 구축해 주세요. Compnay Name과 Package Name을 변경한 뒤,Minimum API Level을 4.4로 바꾸고 Oculus를 추가해 주세요.VR영상은 4.4이상부터 작동되니 꼭 바꿔주세요^^Stereo R..
안녕하세요 유랑입니다. 오늘은 스카이박스를 이용한 360 VR 영상처리하는 방법에 대해 알아보겠습니다. 1. 360 VR 영상처리 지난 시간에는 Sphere를 사용하여 VR영상을 보여주었다면,이번 시간에는 스카이박스를 사용하여 구현해 보겠습니다.롤러 코스터 영상을 기준으로 만들어 볼게요^^ 1-1) 프로젝트 생성 및 준비 프로젝트 이름과 저장 위치를 지정한 후 생성해 줍시다. VR환경을 체험하기 위해서 플랫폼을 안드로이드로 변경해 주세요!!! Company Name과 Package Name을 변경한 뒤,Minimum API Level을 4.4로 바꾸고 Cardboard를 추가해 주세요.VR영상은 4.4 이상 부터 작동되니 꼭 바꿔주세요. 1-2) 스카이박스를 이용한 VR 영상 스카이박스에 적용한 전용 쉐..
안녕하세요 유랑입니다. 오늘은 360 VR 영상처리하는 방법에 대해 알아보겠습니다. 1. 360 VR 영상처리 밑에 보이시는 분은 다들 알고 있으신 박보영님입니다.같이 술 한 잔 할 수 있는 영상인데요. 이걸 이용해 VR에서 어떻게 영상처리가 가능한지 배워보겠습니다. 1-1) 프로젝트 생성 및 준비 360ViewVR이라고 프로젝트 이름은 변경한 뒤 생성합니다. VR환경은 우선 이것부터 시작하죠.플랫폼을 안드로이드로 변경하고, 원하시는 환경으로 구축해주세요. Company Name과 Package Name을 변경한 뒤,Minimum API Level을 4.4로 바꾸고 Cardboard를 추가해주세요.VR영상은 4.4이상 부터 작동되니 꼭 바꿔주세요. 평소에 원하시는 동영상 파일을 다운받아주세요.상업적으로 ..
안녕하세요 유랑입니다. 오늘은 시선처리를 이용해 이동과 이벤트 처리를 해보겠습니다. 1. 시선 처리 1-1) 시선으로 이동 처리 플레이어 Move Type을 Look_AT으로 변경하자.이제 바로보는 시선 방향으로 이동시켜 보겠다. 기존에 있던 MoveCtrl에 시선 이동 코드와 캐릭터컨트롤러, 카메라 트랜스폼 컴포넌트를 추가하였다.Character Controller는 Capsule Collider를 내장하고 있으며 Rigidbody가 없어도 물리적인 충돌 이벤트가 발생한다. 카메라가 바라보는 방향으로 이동하면 성공이다^^ 1-2) 시선 처리 및 레티클 - GvrReticlePointer VR 환경에서 특정 객체를 응시하려면 마우스 커서와 같은 조준점이 필요한데,이런 조준점을 레티클(Reticle)이라 ..
안녕하세요 유랑입니다. 이번시간에는 유니티에서 제공해주는 광고를 넣어보는 시간을 가지겠습니다.유니티에서 제공해주기 때문에 쉽게 따라하실 수 있으실거에요. 1. Unity ADS Unity 애즈는 동영상 광고를 통해 제작자에게 수익을 가져다 주는 시스템입니다.보상형 광고를 통해서 유저에게는 보상을 제작자에게는 수익을 주는 구조가 가능하죠. 2. 광고 보기 2-1) 프로젝트 만들기 프로젝트를 생성합니다. Android플랫폼으로 변경 후 본인 취향에 맞게 파일들을 추가합니다. 2-2) 광고버튼 만들기 Canvas를 추가 후 Scale Mode를 Scale With Screen Size로 변경시켜 줍니다.핸드폰 화면사이즈에 맞게 자동으로 크기를 변경시켜 줍니다. Canvas 자식으로 버튼을 생성 후 ShowAD..
안녕하세요 유랑입니다. 오늘은 웨이포인트를 이용해서 이동해 보겠습니다.코드 작성 후 VR기기에 적용해 볼테니 준비해 주세요^^ 1. 웨이포인트(Waypoint) 이동 경로 중 어느 한 지점을 지칭하는 단어로 이 방식은 미리 정해진 위치로만 이동할 수 있는 한계가 있지만구현하기가 쉽고 별도의 컨트롤러 없이도 이동할 수 있다는 점에서 다양한 콘텐츠 구현에 사용된다. 1-1) 웨이포인트 만들어 주기 웨이포인트를 만들어 주기 전에 빈오브젝트를 생성하여 Grasses ~ Stones까지 자식으로 넣어줍니다. 빈오브젝트를 만들고 이름을 WayPointGroup으로 변경한 뒤 위치는 아무 곳이나 지정해줍니다.웨이포인트들을 넣어줄 부모오브젝트입니다. WayPointGroup 밑에 빈오브젝트를 생성 후 이름을 Point..