์๋ํฐ์์ ํ์ธ ๊ฐ๋ฅํ ๊ธฐ๋ฅ์ผ๋ก, editor๋ฅผ ์์๋ฐ๋๋ค.์ฝ๋์์ ์ฌ์ฉํ๋ TopDownCamera ๋ ์ด์ ํฌ์คํธ์ ๋์์๋ค.์ : ์บ๋ฆญํฐ๋ฅผ ๊ธฐ์ค์ผ๋ก distance๋ฅผ ํ์์ฌ๊ฐํ๋ค : handle์ ์ค์ผ์ผ ์ฌ๋ผ์ด๋๋ฅผ ์ฌ์ฉํด ๋ง๋ ์ฌ๋ผ์ด๋ ์ปจํธ๋กคusing UnityEditor;using UnityEngine;namespace FastCampus.Cameras{ [CustomEditor(typeof(TopDownCamera))] public class TopDownCamera_Editor : Editor { #region Variables private TopDownCamera targetCamera; #endregion #region Main..
๐ mainCamera์ ๋ถ๋ ์คํฌ๋ฆฝํธusing UnityEngine;namespace FastCampus.Cameras { public class TopDownCamera : Monobehaviour { #region Variable public Transform target; private Vector3 refVelocity; public float height = 5f; public float distance = 10f; public float angle = 45f; public float lookAtHeight = 2f; public float smoothSpe..
๐ mixamocharacters ๐ ybot ๊ฒ์ ๐ download ๐ format : FBX for Unityanimations ๐ idle, walk ๋ฑ ๋ค์ด๋ก๋with skin : ์บ๋ฆญํฐ ๋ชจ๋ธ๋ ๊ฐ์ดwithout skin : ์ ๋๋ฉ์ด์
๋ง ๐ฉ ์บ๋ฆญํฐ ๋ชจ๋ธRiganimation typehumanoid : 3d max์์ ์ฌ๋ ํํ์ ์บ๋ฆญํฐ ๋ชจ๋ธ์ ๊ตฌ์ฑํ๋ ๋ผ๋๋ก ์ค์ ๋์ด ์๋ ๊ฒ๋ค์ ๊ฐ์ ธ์ค๋ ๊ฒgeneric : ์ฌ๋์ ํํ๊ฐ ์๋ ๊ฒ ๊ธฐ๋ณธ์ ์ผ๋ก Animator๊ฐ ๋ฌ๋ ค์์๊ธฐ๋ณธ ์ ๋๋ฉ์ด์
์ ๋๋๊ทธ ์ค ๋๋ํด์ฃผ๋ฉด controller์ ์๋์ผ๋ก ์ฝ์
๋๋ค. using UnityEngine;using UnityEngine.AI;namespace FastCampus.Characters { [R..
character controller๋ ๊ฐ์ด ์์ด์ผ ํ๋ค.๐ Navigation ํ์ฑํํ๊ธฐ Agents์ ์์ฑ๊ฐ๋ค์ character controller์ ๊ฐ๋ค๊ณผ ๋์ผํ๊ฒ ๋ง์ถฐ์ค๋ค. ๊ธธ์ฐพ๊ธฐ ์ค๋ธ์ ํธ๋ฅผ ๋น๋ํ ๋ฉ์ฌ ์ ํnavigation ๐ object ๐ mesh renderersmesh๋ฅผ ํฌํจํ๊ณ ์๋ ๊ฒ์ ์ค๋ธ์ ํธ๋ค์ด ์ ๋ ฌ๋๋ค.๋น๋ํ ์ค๋ธ์ ํธ๋ค์ ์ ํoffMeshLinks : ์ ํ ๋ฐ ์๊ฐ์ด๋ ๋ฑ ๋ค๋ฅธ ํ๋๋ค์ ์ค์ ํด์ค ์ ์๋ ๊ฒnavigation area : walkable = ์ฌ์ฉ์๊ฐ ์ด๋ํ ์ ์๋ ๊ฒ์ผ๋ก ์ค์ cf. not walkable = ์ด๋ํ ์ ์๋ ๊ฒ terrains ์ ํ ๐ ํ์ด์ด๋ผํค์ ๊ธฐ์กด์ terrains ์์
์ ํ ์ค๋ธ์ ํธ๋ค์ด ์ ๋ ฌ๋จmesh renderers์ ๋์ผํ..
๐ Rigidbody์์ ์ฐจ์ด์ slope limit : ์บ๋ฆญํฐ๊ฐ ์ฌ๋ผ๊ฐ ์ ์๋ ๊ฒฝ์ฌ๋step offset : ๊ณ๋จ๊ณผ ๊ฐ์ด ์บ๋ฆญํฐ๊ฐ ์ฌ๋ผ๊ฐ ์ ์๋ ๋์ด๋ฌผ๋ฆฌ์์ง์ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ์ค๋ ฅ๊ณผ ์ด๋์๋ ๊ฐ์ ๊ณ์ฐ๋ฒ์ ์ง์ ์ ์ผ๋ก ๊ตฌํํด์ผ ํ๋ค. ์ค๋ธ์ ํธ ๊ตฌ์ฑ ์ค๋ธ์ ํธ์ Character Controller ์ปดํฌ๋ํธ ์ถ๊ฐ ๋ฐ ์์ฑ ๋ณ๊ฒฝโจ Character Controllerskin width : ์บ๋ฆญํฐ ์ปจํธ๋กค๋ฌ์ ๋ค๋ฅธ ์ฝ๋ผ์ด๋๊ฐ ๋ถ๋ชํ์ ๋ ๊ฒน์น ์ ์๋ ๊ฐmin move distance : ์บ๋ฆญํฐ ์ด๋ ์ต์๊ฐ์๋์ ์๋ capsule y position ๊ฐ๋1๋ก ๋ณ๊ฒฝํด์ค๋ค. using System.Collections;using System.Collections.Generic;using UnityEngin..
๋น ์ค๋ธ์ ํธ ์์ฑ ๐ ํ์์ Capsule ์ฝ์
๐ ํ์์ ๋ ๋ถ์ฌ์ฃผ๊ธฐ๋น ์ค๋ธ์ ํธ(์ดํ ๋ถ๋ชจ ์ค๋ธ์ ํธ)์ Capsule Collider ์ปดํฌ๋ํธ ์ฝ์
Capsule์ ์๋ Capsule Collider๋ ๋นํ์ฑํ/์ญ์ ๋ถ๋ชจ ์ค๋ธ์ ํธ์ collider์ ์ค์ฌ์ (0,1,0)์ผ๋ก ๋ณ๊ฒฝํด์ค๋ค. ๐ ์บ๋ฆญํฐ์ ๋ฐ๋์ด ํญ์ ์์ ์ ํฅํ๋๋กcapusle์ transform-position๋ ์์ ํด์ค๋ค.๋ถ๋ชจ ์ค๋ธ์ ํธ์ rigidbody ์ปดํฌ๋ํธ ์ถ๊ฐ โจ Rigidbodymass : ์ง๋ ๊ณ์ฐ. ์ค๋ ฅ์๋ ์ํฅ์ ๋ฐ์ง ์์. ๊ฐ์ rigidbody ์ค๋ธ์ ํธ๋ผ๋ฆฌ ์ถฉ๋ํ์์ ๋ ๋ฐ์drag : ๊ณต๊ธฐ์ ํญ๊ฐ. ๊ฐ์ด ์์์๋ก ์ค๋ธ์ ํธ๊ฐ ๋ฌด๊ฑฐ์ ๋ณด์ด๊ณ , ๊ฐ์ด ํฌ๋ฉด ๊ฐ๋ฒผ์ ๋ณด์ธ๋ค. ํด์๋ก ์ค๋ ฅ์ด ๊ฐํด์ง์ง ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ธ๋ค.angu..