using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ttt : MonoBehaviour
{
ย ย Rigidbody rb;
ย ย float m_fSpeed = 5.0f;
ย ย private void Start()
ย ย {
ย ย ย ย rb = gameObject.GetComponent<Rigidbody>();
ย ย }
ย ย void LateUpdate()
ย ย {
ย ย ย ย chaRotate();
ย ย ย ย chaMove();
ย ย }
ย ย void chaMove()
ย ย {
ย ย ย ย float zMove = Input.GetAxisRaw("Vertical");
ย ย ย ย float xMove = Input.GetAxisRaw("Horizontal");
ย ย ย ย rb.velocity = transform.forward * m_fSpeed * zMove;
ย ย ย ย rb.velocity = transform.right * m_fSpeed * xMove;
ย ย }
ย ย void chaRotate()
ย ย {
ย ย ย ย float rotSpeed = 1.0f;ย
ย ย ย ย float MouseX = Input.GetAxis("Mouse X");
ย ย ย ย float MouseY = Input.GetAxis("Mouse Y");ย
ย ย ย ย transform.Rotate(Vector3.up * rotSpeed * MouseX);ย
ย ย ย ย transform.Rotate(Vector3.right * -rotSpeed * MouseY);
ย ย ย ย chaRotateLimit(transform.rotation);ย
ย ย }
ย ย void chaRotateLimit(Quaternion lPos)ย
ย ย {
ย ย ย ย Vector3 vlPos = lPos.eulerAngles;ย
ย ย ย ย transform.rotation = Quaternion.Euler(vlPos.x, vlPos.y, 0);
ย ย }
}
๋ญ ์ด์ฉ๋ผ๋๊ฑฐ์ผ ์ง์ ๋๋ฒ๊น ์ ํด๋ด?
์ง๋ฌธ๋ ์ ์ด์ผ ํ๋๋ฐ ๋ฐ๋ก ๋ฑ๋กํด๋ฒ๋ ธ๋ค์
์ค๋ธ์ ํธ๋ ๋ง์ฐ์ค๋ก ํ์ ์ํค๊ณ ํ์ ์ํจ ๋ฐฉํฅ(๋ฐ๋ผ๋ณด๋ ๋ฐฉํฅ)์ด ์ ๋ฉด์ด ๋๊ฒ๋ ๋ง๋ค์ด์ WASD๊ฐ ๋ก์ปฌ ๊ธฐ์ค์ผ๋ก ์์ง์ด๊ฒ ํ๋ ค๋๋ฐ
์ข ์ฐ๋ ์ ์์ง์ด๋๋ฐ ์ ํ๊ฐ ์๋ผ์์
velocity๋ฅผ ๋ฎ์ด์์ฐ์์
์ forward๋ right์ ๋ฒกํฐ๋ก ํฉ์ณ์ vwlocity์ ๋ฐ์ผ์
chaMove์ Vector3 dir = new vector3(xmove,0,zMove); ๋ฃ๊ณ rb.velocity = dir * mfspeed ๋ฃ์ผ์
์ํตํผ๊ฐ ์ ์ค๋ช ํ๊ฑฐ ์ฝ๋๋ก ์์ ์ง ๊ฑฐ
์ด๋๋ก ํ๋ฉด ์๋ ๊ธฐ์ค์ผ๋ก ์์ง์ด๋๋ผ๊ตฌ์.
forward right ๊ณฑํด์ ๋ฒกํฐ๋ผ๋ฆฌ๋ํด..
ใ 0ใ ๊ฐ์ฌํฉ๋๋ค! ๋ฐ๋ก ๋๋ค์!
ํํ๊ฐ ํํฌํ๋ก๊ทธ๋๋จธ ์ฝ์์์ด?
๋๋ฆ ๊ฒ์๋ ๋ค ํด๋ณด๊ณ ์ด์ ๋ถํฐ ์ง์ ๋๋ค๊ฒจ๋ณด๊ณ ์๋๊ฑฐ๋ผ์์..