본문 바로가기

개발자_뉴비일지

내일배움캠프 Unity 19일차 TIL - 드디어 UNITY!

string keyword="드디어 UNITY!";

새로운 팀에서 새로운 과제와 새로운 강의로 시작한다!

아직 C#문법을 더 공부해야 하긴 하지만 재밌는 유니티 강의와 병행할 생각이다.

다음주 화요일까지가 개인과제 제출일이라 그럴 수 밖에 없긴 하다. 

 

1. Unity 인터페이스

-단축키-

W : 면과 화살표를 끌고 오브젝트를 이동시킬 수 있다.

 

E : 축은 그대로 두되, 오브젝트를 회전시킬 수 있다.

 

R : 원하는 방향으로 오브젝트를 늘리거나 줄일 수 있다.

 

T : 오브젝트 이동 및 크기를 설정 할 수 있다.

 

2. Pong

 

이미 만들어져 있는 스크립트를 활용해서 Pong이라는 게임을 만들며 유니티를 익혔다.

예전에 공부했었던 내용들이 대부분이라 복습하며 리마인드하기 좋았다!

왼쪽 바는 W,S키로 움직이고, 오른쪽 바는 화살표 up,down키로 움직이는데,

오른손보다 왼손이 게임을 더 잘하는 것같다.

세번 했는데 세번 다 완승

 

3. 월드좌표와 로컬좌표

 

월드좌표 : 세상의 중심으로부터의 나

>>Player의 좌표가 곧 월드좌표(부모가 없다)

>>세상의 중심에서 2,0,0 만큼 떨어져 있음.

 

로컬좌표 : 내 부모로부터의 나

>>좌표는 0,1,0 이지만 부모가 2만큼 떨어져있고 자식은 부모로부터 1만큼 떨어져 있다.

>>월드로 따지면 2,1,0만큼 떨어져 있다.

 

4. TopDownShooting

 

(1) 입력과 캐릭터 이동

---------------------------------------------------------------------------------------------------------------

모호한 참조

열심히 강의를 따라 스크립트를 작성중인데 다음과 같은 오류메세지가 떴다.

using Vector3= UnityEngine.Vector3; 를 상단에 붙여주면 오류가 사라진다.

Vector3라는 함수가 다른 Using참조 안에 각각 있나보다.

---------------------------------------------------------------------------------------------------------------

만들어준 캐릭터를 움직이기 위해 추가한 코드.

여기서 Time.deltaTime은 이전프레임과 현재 프레임의 경과시간을 나타내며,

프레임 속도에 관계없이 일정하게 동작할 수 있게 해준다.

>>누구는 빠르고, 누구는 느리면 안되니까!

 

코드보다 직관적으로 설정할 수 있는 방법이 있다.

PackageManager의 input System이라는 것으로 Player의 움직임을 바로 설정할 수 있다.

 

<TopDownCharacterController>

 

<PlayerInputController>

 

<TopDownMovement>

 

>>캐릭터가 움직이게 하는 스크립트들을 강의를 보며 정말 어렵게 따라했다.

내용이 너무 어려워서 몇번을 다시 보며 했지만 사실 아직 100%이해가 안되었다.

갑자기 난이도 수직상승;

나중에 다시 볼때를 위해 주석으로 설명을 적어 뒀다.

 

(2) 충돌처리와 맵 구성

>>다운받아놓은 타일과 벽을 이용해 맵을 만들어 줬다.

>>바닥, 가릴 수 있는 벽, 내가 가려지는 벽, 충돌하는 벽

 

복습 : 충돌이 되려면 각 오브젝트는 collider를 가지고 있고 적어도 하나는 rigidbody가 설정돼있어야 한다.

 

마무리

Unity강의를 반절인 11강까지는 들으려 했지만 5강이 너무나 어려운 복병이어서 목표를 못채웠다ㅠㅠ

오랜만에 unity를 만져보니 재밌기도 했지만 예전에 배웠던 것들이 기억이 잘 안나서 더 어려웠던 것 같다.

그래도 마무리는 재밌는 맵만들기로 해서 다행

C#문법공부는 주말에 시간을 내어 해야겠다.

 

.

.

.

with 발가락에 힘주며 열심히 그루밍중인 깔끔이 요비