Unity third person

Material Shader 변경

- Project창 > StartAssets > ThirdPersonController > Character > Material 폴더안 모든 Material 전체선택
 - Inspector창 > Shader > Standard로 변경
 
삼인칭 캐릭터 올리기

- Project창 > StartAssets > ThirdPersonController > Prefabs > NestedParentArmature_Unpack 드래그 하여 Scene창에 드랍
 - MainCamera 삭제
 - UI_Canvas_StarterAssetsInputs_Joysticks 삭제
 - UI_EventSystem 삭제
 
캐릭터 바꾸기
Jammo Character | Mix and Jam

rigging setting

- Jammo-character / models / Jammo_LowPoly 선택
 - Inspector > Rig > Animation Type : Humanoid 선택
 - Avatar Defination : Create From This Model 선택
 - Apply 적용
 
third person controller에 캐릭터 적용

- Jammo-character / models / Jammo_LowPoly 드래그하여 NestedParentArmature_Unpack > PlayerAmature에 드랍
 - Geomatry 삭제
 - Skeleton 삭제
 
Avatar 적용

- Hierarchy창에서 PlayerAmature 선택
 - Inspector창에서 Animator > Avatar 확인
 - Jammo-character / models / Jammo_LowPoly 우측 화살표를 클릭하여 패키지 펼치기
 - 패키지 내부에 있는 jammo-LowPoly 아바타를 드래그하여 inspector창 > Animator > Avatar에 집어 넣기
 
Ready Player Me

- https://readyplayer.me/hub
 - My Avatars > +버튼 > 카메라 버튼 > 사진등록 또는 노트북의 웹캠을 이용하여 사진 캡쳐
 - 자동으로 아바타가 생성되고 고유번호가 나옴
 
Ready Player Me Asset

- https://assetstore.unity.com/packages/tools/game-toolkits/ready-player-me-avatar-and-character-creator-259814
 - 에셋을 구입하고 Unity에서 열기하여 download, import 과정 진행
 

- 최초등장하는 팝업은 x를 눌러서 닫기
 

- https://readyplayer.me/hub 우측하단 공유버튼 클릭
 - 팝업에서 Copy avatar link 클릭하여 아바타 링크주소 복사
 

- Main Manu > Tools > Ready Player Me > Avatar Loader 선택
 - 팝업창의 Avatar URL에 붙여넣기 (Ctrl+V, Command+V)하여 아바타 링크주소 입력
 - Load Avatar into Current Scene 선택
 

- 생성된 아바타를 드래그하여 NestedParentArmature_Unpack > PlayerAmature에 드랍
 

- Hierarchy창에서 아바타를 선택하고 inspector창 Animator > Avatar 클릭하면 Avatar가 어디있는지 쉽게 찾을 수 있음
 

- 패키지 내부에 있는 아바타를 드래그하여 inspector창 > Animator > Avatar에 집어 넣기
 - 기존에 있던 Jammo_LowPoly는 삭제
 
만들어진 삼인칭 캐릭터 프리팹(prefab)화 하기

- Hierarchy창 NestedParentArmature_Unpack 마우스 우클릭
 - prefab > Unpack Completely
 

- NestedParentArmature_Unpack이름을 MyAvatar로 바꾸기
 - Project창 폴더위치를 Assets로 변경
 - Hierarchy창에서 Project창으로 MyAvatar를 드래그 드롭
 - 이렇게 Prefab등록된 삼인칭 캐릭터는 다시 Scene으로 드래그 하는 방식으로 사용가능
 
카메라 스위칭하기
- ActiveCamera.cs
 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ActiveCamera : MonoBehaviour
{
    public GameObject mainCameraObject; //메인 카메라
    public GameObject characterObject; //캐릭터
    private void Update(){
        if(Input.GetKeyDown(KeyCode.Z)){
            Debug.Log("Z");
            mainCameraObject.SetActive(true);//메인카메라 켜기
            characterObject.SetActive(false);//캐릭터 끄기
        }
        if(Input.GetKeyDown(KeyCode.X)){
            Debug.Log("X");
            mainCameraObject.SetActive(false);//메인카메라 끄기
            characterObject.SetActive(true);//캐릭터 켜기
        }
    }
}
