Code Archive/Unity3D 6

step6. 물리엔진 및 Trail을 이용하여 총쏘기

이번에는 지난 챕터에 이어 간단하게 물리엔진 및 Tails를 이용하여 총을 쏘는 부분을 구현해 보겠음... 잘 보면 지난 챕터와는 그다지 다른 부분은? 없다! 단지 스페이스바를 눌렀을때 총알을 발사하는 부분만 추가 되었다.29번째 부터 설명하겠음.저부분은 나중에 나오지만 간단하게 말하자면 우리가 프로젝트에 있는 총알을 로드해서 Hierachy에 등록하는 부분이다.29번째 라인이 생성을 하는 것이고, 31번째와 32번째는 잘 보면 어떤것이다?총알이 위치할 위치값과, 총알이 나갈 방향을 셋팅해 주는 부분이다.gunShotPosition은 총알이 위치할 위치값이고,gunPosition은 총의 회전값을 가져왔음(총알이나가는 방향이 총의 회전방향값이라고 생각하면 맘이 편할것임)...여기서 obj는 무엇이다? 총알..

step5. Mouse Peeking

이번에는 마우스로 클릭한 위치로 캐릭터를 움직이는 부분을 구현해보겠음. 일단 기본적으로 우리가 보는 모니터는 2D임. 그래서 마우스 입력은 2차원적이다. 마우스 클릭하는 순간 x,y의 2차원 좌표에서 우리가 보는 카메라를 통하여 직선적인 광선을 쏜다. 광선이 충돌하는 지점의 x,y,z의 3차원 좌표를 얻어 움직이게 하면 되겠음 소스코드는 다음과 같음 16번째 라인부터 보면 마우스 입력을 받았음17번째 라인은 우리가 광선을 쏘면 충돌이 일어난 객체가 있을텐데 그 정보를 저장하는 변수가 되겠음18번째 Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition),out hit, Mathf.Infinity) 부분은 광선을 발사하는 부분이 되겠다. 메인카메..

step4. 객체 움직이기 및 회전

step3까지의 객체를 움직이는 것은 객체의 위치만 바꾼는 것이지 이동할때 방향을 바꾸면 객체 또한 해당 방향으로 바뀌지 않는 문제점이 있다. 정말 단순하게 움직이는 것만 한 것이다.아래와 같이 바꿔보면 step3보다 간단해진 객체 이동 부분이 되겠다.transform에 rotation 속성은 회전값을 저장하는 부분인데 23번 라인을 보면 rotation에 Quaternion.LookRotation(vec)을 저장하고 있음vec를 보면 지난 번과는 다르게 방향 값만 저장하고 있다. 일종의 우리가 키보드를 누른 방향벡터라고 생각하면 되겠다.LookRotation함수를 쓰면 해당 벡터 방향으로 회전 값을 잡아 Quaternion으로 변환해 준다라고 생각하면 되겠다.Quaternion은 회전값을 저장하는 부분..

step2. 소스코드에서 MonoBehaviour 생명주기

소스코드를 만들면 기본적으로 Start와 Update 밖에 없다.하지만 기본적인 생명주기는 OnEnable -> Start -> Update -> OnDisable로 진행된다.OnEnable 함수는 게임 시작시 제일 먼저 호출되는 함수Start 함수는 OnEnable 뒤에 호출 되며 주로 멤버변수 값을 초기화 할때 사용한다. Update함수는 한프레임마다 호출되는 함수로 주로 우리가 게임 실행시 실행될 부분을 작업하는 부분이다.OnDisable 함수는 게임 종료시 호출되는 함수로 게임 종료전 각종 리소스 및 스트림 해제시 사용된다

step3.간단하게 캐릭터 움직이기

우리가 객체를 Hierarchy에 등록하면 Scene에 객체가 올라간다. 그 객체의 위치값을 저장하는 부분이 transform 부분인데 postion, rotation, scale로 이루어져 있다.- postion : 현재 객체가 위치하고 있는 월드 좌표 값- rotation : 현재 객체의 회전 값- scale : 현재 객체의 크기 값그러면 우리가 코드에서 해당 객체의 원하는 값을 바꾸면 그대로 적용이 되므로 객체를 움직인다라고 생각 했을때 순서를 보면원하는 방향키를 입력 받음 -> 코드에서 해당 키 값을 받음 -> 방향에 해당하는 키에 따라 좌표값을 바꿔줌이런 과정을 거치면 객체가 화면에서 우리가 입력한 키 방향으로 움직일수 있는 부분이 되겠다.잘만 생각하면 어렵지 않은 부분이다. 1. 움직일 방향키..