์ด์ ์บ๋ฆญํฐ ๊ฑธ์๋ง ์ํฌ๋ผ๊ณ ์คํฌ๋ฆฝํธ ์ฐพ์๋ฃ์๋๋ฐ
https://docs.unity3d.com/ScriptReference/CharacterController.Move.html
์ฌ๊ธฐ ์๋์คํฌ๋ฆฝํธ ๊ทธ๋๋ก ์ผ๋๋ฐ ์ ๋ ๊ฒ ๋ธ...
ํ์ด๋ผ์ดํธ ํฌ์ง์ ์บ๋ฆญํฐ๋ฅผ ๋ฐ๊พธ๋ผ๋๋ฐ ๋ญ ๋ฐ๊ฟ์ผํจ?
์๋๋ ๋งํฌ์ ์๋ ์คํฌ๋ฆฝํธ
public class Example : MonoBehaviour { private CharacterController controller; private Vector3 playerVelocity; private bool groundedPlayer; private float playerSpeed = 2.0f; private float jumpHeight = 1.0f; private float gravityValue = -9.81f;
private void Start() { controller = gameObject.AddComponent<CharacterController>(); }
void Update() { groundedPlayer = controller.isGrounded; if (groundedPlayer && playerVelocity.y < 0) { playerVelocity.y = 0f; }
Vector3 move = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); controller.Move(move * Time.deltaTime * playerSpeed);
if (move != Vector3.zero) { gameObject.transform.forward = move; }
// Changes the height position of the player.. if (Input.GetButtonDown("Jump") && groundedPlayer) { playerVelocity.y += Mathf.Sqrt(jumpHeight * -3.0f * gravityValue); }
playerVelocity.y += gravityValue * Time.deltaTime; controller.Move(playerVelocity * Time.deltaTime); } }
์ ์คํฌ๋ฆฝํธ ํ์ผ ์ด๋ฆ์ด๋ ํด๋์ค ์ด๋ฆ์ด๋ ๋ฌ๋ผ์ ์๊ธฐ๋ ๋ฌธ์ ์ธ๋ฏ?
ํธ์ฅ์ ์คํฌ๋ฆฝํธ๋ฅผ ๊ทธ๋๋ก ์ฐ์ ง๋ค๊ณ ํ์ ์ ๋๋ฆฌ๋ ๋ง์์ธ๋ CharacterController๋ผ๋ ์คํฌ๋ฆฝํธ๊ฐ ํ๋ก์ ํธ ์์ ์๋์ฉ?? ์คํฌ๋ฆฝํธ๋ฅผ ์ธ์ ๋ชปํ๋ค๊ณ ์ฒ์์ ์จ์๋ ๊ฑฐ ๋ณด๋๊น ์๋ง ๊ทธ ์คํฌ๋ฆฝํธ๊ฐ ์์ด์ ์๊ธฐ๋๊ฒ ์๋๊น ์ถ์ต๋๋น. ์ด์ฐจํผ ๋ฐ์ ์ฝ๋๋ค์ unity ๋นํธ์ธ์ด๋ผ
์ค ใณใณ