using UnityEngine;
using System.Collections;
[RequireComponent(typeof(CharacterController))]
public class cube : MonoBehaviour {
public float speed = 6.0F;
public float jumpSpeed = 8.0F;
public float gravity = 20.0F;
private Vector3 moveDirection = Vector3.zero;
void Update() {
CharacterController controller = GetComponent<CharacterController>(); // 캐릭터 콘트롤러 참조
if (controller.isGrounded) { // 땅에 있으면
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); // 전후좌우 조정
moveDirection = transform.TransformDirection(moveDirection); .. 축을 바꾼다. 월드 좌표로
moveDirection *= speed; // 움직임의 속도를 제어...
if (Input.GetButton("Jump")) // 점프 버튼 누르면
moveDirection.y = jumpSpeed; // 해당 y값에 대입... 점프 한다.
}
moveDirection.y -= gravity * Time.deltaTime; // y값에 조절 중력 가속도라고 보면 된다.
controller.Move(moveDirection * Time.deltaTime); // 콘트롤러는 이 모든 데이터를 참조하여 움직인다.. 시간 개념으로..
}
}
캐릭터 콘트롤러...
이걸로 2D로 사용하려고 바보같은 짓을 했다..
일단 이건.. 중력값을 가지고 시작하는 것...
기본적으로 바닥이 있다는 전제하에 움직인다...
삽질 끝...
이런 간단한것들이... 괴롭힌다..
댓글 없음:
댓글 쓰기