캐릭터 회전시키기 :

마우스 이동 시 큐브가 좌우로 움직임


public class PlayerMove : MonoBehaviour {

     

       float rotSpeed = 1.0f; //ADD

// Update is called once per frame

void Update () {

      


       // 마우스 입력

       float MouseX = Input.GetAxis("Mouse X");


       transform.Rotate(Vector3.up * rotSpeed * MouseX);

}

}

transform.Rotate(회전할 기준 좌표 축 * Time.deltaTime * 회전 속도 * 변위 값)

출처:http://itmining.tistory.com/48





위 그림처럼 큐브가  키보드 입력을 받으면 앞,뒤,왼쪽,오른쪽으로 이동하게 만들기




public float speed = 5.0f

    //캐릭터가 움직일 스피드설정 public으로 함으로써 유니티 인스펙터 창에 설정이 가능해짐


void Update () { // 매프레임 반복되기때문에 Update에 써준다.


if(Input.GetKey(KeyCode.UpArrow)) //키보드 위쪽 화살표가 눌릴경우  

{ this.transform.Translate(Vector3.forward * speed * Time.deltaTime); } 

// this(이스크립트를 가지고있는).transform(컴포넌트).Translate(움직을 주는)값을

// Vector3(3D 방항).forward(앞).*speed(속도).*Time.deltaTime(1초당)

if(Input.GetKey(KeyCode.DownArrow))

{ this.transform.Translate(Vector3.back * speed * Time.deltaTime); }

if(Input.GetKey(KeyCode.RightArrow))

{ this.transform.Translate(Vector3.right * speed * Time.deltaTime); }

if(Input.GetKey(KeyCode.LeftArrow))

{ this.transform.Translate(Vector3.left * speed * Time.deltaTime);}



*Delta Time 이전 프레임의 시작 시간과 현재 프레임의 시작 시간의 차이



월드 좌표

-오브젝트의 위치를 나타내는 좌표계로, 화면의 중심을 원점(0,0,0)으로 하는 3차원 상대좌표계 월드 좌표계는 게임 화면을 투영하는 카메라의 위치와 회전 상태에 따라 달라지므로 화면의 중심이 원점이 되는것은 아니다.

쉽게 얘기하면

월드를 기준으로 태양이 우주를 중심으로 0.0.0에 위치라고 하면 내위치를 말하는 것이 월드 좌표다. 


로컬 좌표

자신의 위치를 중심으로 생각하고 각각의 그 오브젝트의 위치에서 어디있는지 계산하는것이다.

만약 부모 객체가 있다면 부모객체의 좌표와의 거리를 나타낸다. 상대좌표라고도 한다.


스크린 좌표

-단말기의 화면 좌표계로, 화면의 왼쪽 아래를 원점으로 하는 평면 절대좌표계 마우스 클릭이나 터치는 스크린 좌표계를 이용해서 처리한다. 카메라의 위치나 각도와 상관없이 일정


뷰 포트 좌표

  • 화면에 글자나 2D이미지를 표시하기 위한 좌표계로, 화면의 왼쪽 아래를 (0,0)오른쪽 위를(1,1)로 하는 평면 상대 좌표계이다.


출처 :​ http://hyunity3d.tistory.com/m/post/368

+ Recent posts