본문 바로가기

프로그래밍 회고록/C# & Unity

유니티 공부 첫번째 Transform

728x90
반응형

# 시작

Toy프로젝트로 웹개발과 관련없는 공부를 시작한다.

웹개발로 생계를 유지하고 거기에 초보개발자인 내가 토이프로젝트로 웹개발과 관련된 프로젝트를 진행하거나 컴퓨터프로그래밍 일반을 공부하는것이 먼저라고 판단되나 내가 프로그래밍을 공부하고자 마음먹게된 계기가 게임인걸 어쩌겠나?

우선 인터넷 강의로 배운 내용들을 복습하듯이 회고하는것을 목표로 작심삼일이 되지않고 꾸준히 글을 써나가는게 목표이며 최종적으로 유니티로 게임을 개발하기 위한 기본 지식들을 습득한 후 머리속으로 구상하고 있는 게임을 그려나갈 것이다.

 

내가 컴퓨터공학을 배우도록 영향을 준 게임 중 하나인 Cloudpunk

 

# Transform

position과 rotation 그리고 scare이라는 개념에 각각 x,y,z축을 가지고 있으며 이를 통해 에셋(객체 개념인것 같다)을 동작하는 큰 기능중 하나이다.

포지션은 글로벌 위치와 지역위치로 나누어지며 절대위치와 캐릭터를 기준으로한 상대위치로 이해했다.  transform.position에 vector3라는 함수를 변화시켜서 에셋의 위치를 변형시킨다. 

로테이션은 객체가 벡터상 바라보는 방향으로 정의할 수 있을것 같다 주로 transform.rotation이라는 함수에 Quaterion이라는 함수를 통해 변화시키며 벡터3로 변화시키면 짐벌lock문제가 생기는데 그걸 해결하기 위한 함수인것 같다. 자세한 수학을 공부하지 않아 이론적으로 알고있진 않고 우선 응용을 통해 진행되는 공학의 특성을 변명삼아 받아들이고 사용하기로했다.

if (Input.GetKey(KeyCode.W))
        {
            transform.rotation = Quaternion.Slerp(
            						transform.rotation,
                                    Quaternion.LookRotation(Vector3.forward),
                                    0.2f);
            transform.position += Vector3.forward * Time.deltaTime * _speed;
        }

W버튼을 누른다면 바라보는 방향을 과 진행을 Z축으로 바꾸는 코드 캐릭터가 직진한다.

스케일은 에셋의 크기를 벡터값으로 결정하는 속성으로 이해했다.

# 끝으로

 별것아닌 시작이다 그리고 항상 나는 시작만을 잘한다 이번 토이 프로젝트는 끝도 맺어보고싶다.

 

글 읽어줘서 고맙고 사랑해요.

728x90