[ 유니티 캐릭터 이해하기 ]
[ Rigidbody ]
물리현상을 구현하는 컴포넌트
캐릭터에 특화된 컴포넌트
[ 1인칭 만들기 ]
보는 방향으로 이동하기
Project : Assets >> Scripts 오른쪽 마우스 클릭 >> Create >> C# Script
Name : HeadLookWalk - Source Code Link 05
HeadLookWalk =>(드래그) MeMyselfEye
MeMyselfEye : Add Component >> Physics >> CharacterController 추가
실행 테스트
CharacterController.Move()함수의 단점(중력 영향 안받음)을 해결
HeadLookWalk(02.cs) 업그레이드 버전 - Source Code Link 05
실행 테스트
[ Android EScape 키 사용하기 ]
안드로이드에서 제공하는 Escape 버튼을 사용해서 App 종료하기
GameObject >> Create Empty
Name : GameController
Project >> Assets>> Script 폴더 우클릭 >> Create >> C# Script
Name : GameControl - Source Code Link 05
GameControl(Script) =>(드래그) GameController(게임오브젝트)
Prefab으로만들기
Prefabs 폴더로 옮기기
[ Ethan 에게 텍스쳐 입히기 ]
ethan.png 텍스쳐 받기 : ( 다운로드 )
Materials 폴더 오른쪽 마우스 클릭 >> Create >> Material
이름 변경 >> EthanMatrial 한 후, Inspector 창의 shader 부분을 다음과 같이 변경
받았던 ethan.png 를 Texture에 드래그
하단부의 Normalmapp 의 Select 를 누르고 Select Texture 의 검색창에 EthanNormals 라고 입력 후 텍스쳐 선택
앞서 만들었던 Ethan의 하위 객체인 EthanBody 를 찾기
Inspector 창의 Skinned Mesh Renderer 컴포넌트를 찾고 Materials 의 Element 0 의 Material을 앞서 만든 EthanMaterial로 변경
이제 에단에 텍스쳐가 들어간 것을 확인하실 수 있습니다.
[미술관 관람하는 에단 만들기]
GameObject >> Create Empty 로 하나 생성 후 Visitor 로 이름 변경
Asset/Standrard Assets/Characters/ThirdPersonCharcter/Prefabs/AIThirdPersonController를 Scene에다 끌어다 놓고 Ethan 으로 이름 변경
방금 만든 Ethan 을 Visitor 하위로 변경 후 포지션 값 0, 0, 0 으로 변경
Visitor 오른쪽 마우스 클릭 >> Create Empty 후 WalkTarget 으로 이름 변경
WalkTarget 에 이전에 만들었던 RandomPosition 스크립트를 집어넣기
Ethan 의 AI Charcter Control 컴포넌트의 Target 에 WalkTarget 집어넣기
Visitor 를 Assets >> Prefabs 폴더에 끌어다 놓기
이제 필요한 곳에 끌어다 위치를 조정하면 랜덤으로 이동하며 방문객 느낌을 줄 수 있습니다.( NavMesh Bake 필수)
[미술관 만들기]
File >> New Scene
Name : MyExhibition
갤러리 패키지 받기 ( 다운로드 )
다운로드 : exhibitionmodel.package
Assets >> Import Package >> custom package
다운로드 파일 선택
_Level 프리팹(Import한 Package에 있는 프리팹) =>(드래그) [ Hierarchy 창 ]
MeMyselfEye 프리팹 =>(드래그) [ Hierarchy 창 ]
자식 오브젝트인 Dashboard 삭제
WalkTarget Prefab 설치하기
MeMyselfEye의 Transform 속성을 카피해서 WalkTarget에 넣기
GameController 프리팹 =>(드래그) [ Hierarchy 창 ]
현재 GameController는 스마트폰에서 나가기 버튼을 처리하고 있음
[ 사진 전시 하기 ]
[ Tag ]
PhotoFrame 프리팹 =>(드래그) [ Hierarchy 창 ]
PhotoFrame의 태그(Tag)를 photo 로 만듬
PhotoFrame에 BoxCollider 추가
Collider는 적당한 크기로 조절
[ 사진 정보 말풍선 만들기 ]
말풍선 이미지 받기(다운로드)
다운로드 : talk.png
PhotoFrame 하위에 위와 동일한 방법으로 Sprite 를 생성한 뒤, 다운 받은 말풍선으로 변경하고, 액자 옆에 위치하게 합니다.
이름도 Info 로 변경합니다.
그리고 적당한 위치 및 크기로 배정
Info 오른쪽 클릭 >> GameObject >> 3D Object >> 3D Text
Name : Label
Label Inspector >> transform : Rotation Y : 180
그리고 적당한 위치 및 크기로 배정
Label의 Text는 빨간색으로 설정
Project >> Assets>> Script 폴더 우클릭 >> Create >> C# Script
Name : PhotoFrame - Source Code Link 05
PhtoFrame(Script) =>(드래그) PhotoFrame(게임오브젝트)
Info =>(드래그) [PhtoFrame Inspector : PhotoFrame(Script) : Info Bubble)
PhotoFrame Inspector >> Prefab : Apply (변경된 사항을 prefab에 적용)
여러 개의 PhotoFrame을 만들어서 전시관에 알맞게 배치
여러 개의 이미지들을 읽어 와서 PhotoFrame >> Photo의 이미지 변경
[ 움직이고자 하는 곳을 3초 응시하면 그곳으로 이동하기 ]
Project >> Assets>> Script 폴더 우클릭 >> Create >> C# Script
Name : LookMoveToTime - Source Code Link 05
LookMoveToTime(Script) =>(드래그) WalkTarget
기존의 Random Position 및 LookMoveTo Script는 비활성화시킴
[ 사운드 넣기 ]
[ Audio (Sound) ]
Audio Listen 재설정하기
Main Camera에 있는 Audio Listener 확인
Audio Listener 삭제
MeMyselfEye 클릭(활성화)
Component >> Audio >> Audio Listener
음악 받기 (다운로드)
info / bgm 파일 다운로드
Assets 폴더에 "Sounds" 폴더 만들기
Assets >> Sounds에 사운드 파일
배경 음악 재생하기
GameObject >> create Empty
Component >> Audio >> Audio Source
Audio Clip : bgm
Play On Awake : Check
Loop : Check
[ 파티클 넣기 ]
[ Particle System ]
파티클 만들어 보기
GameObject >> Create Empty
Name : Particle
Component >> Effects >> Particle System (컴퍼넌트 추가)
이미 만들어져 있는 파티클 받기
파티클 패키지를 받습니다 . ( 다운로드 )
Assets >> Import Package >> custom package
다운로드 파일 선택
[ Prefabs폴더 >> Particle 프리팹 ] =>(드래그) [ Hierarchy : WalkTarget ]
파일을 더블클릭 해서 임포트 시킨 후, Prefab 폴더의 Particle 를 Scene 으로 드래그 해서 사용할 수 있습니다.
앞서 만든 파티클을 가져온 뒤 WalkTarget 아래에 넣어줍니다.
[ VR 멀미 관련 ]
[ 그 밖의 것들 ... ]
[ Package ] - 유니티 스탠다드 애샛
[ Scene 관리 및 빌드 ]
Scene 생성
File >> New Scene
Scene 전환
Application.LoadLevel() : Scene을 전환하는 함수
File >> Build Setting ...
빌드하고자 하는 씬들을 포함시켜야 함
[ uUI ]