본문 바로가기

프로그래밍/일리히트

Irrlicht] 짬나는 시간동안 했던것들 10%단계에서 중간점검


<그림1>
기본적인 형태에 월드 그리고 지형 위의 캐릭터.
가장 애를 먹었던것은 카메라인데, 엔진 자체적으로 지원하는 FPS모드카메라의 조작이 나와 맞지도 않았으며 더군다나 게임설정(구체적이지는 않지만 생존게임)상 카메라를 어느정도 손을 봐야했다.
정말 엔진이 마음에 드는것은 여러가지 괜찮은 멤버함수가 있기에 삼각함수적으로만 조금 손을 봐주면 되었다.
XZ는 삼각함수가 적용되어 매번 캐릭터 뒤를 쳐다보는데 문제가 없다.
이와중에 X와 Z는 sin cos 두가지를 이용하며 변화시켜야 하는데, 이 과정에서는 일일히 그림으로 그려보고 하나하나 단계별로 추가하는 방안으로써 문제를 해결해나아갔다. 
높이는 삼각함수없이 마우스의 변화로 그자리에서 높낮이로 설정하였다. 큰 문제는 없다. 

api함수인 GetAsyncKeyState에서 마우스 입력,  GetCursorPos에서 커서포지션값얻어오는것정도는
예전 해봤던 작업에서 카피페이스트하여 수정하였다.

<그림2>
마우스휠의 조작으로써 카메라와 캐릭터간의 거리를 조절할 수 있다.
키보드조작으로써는 GetAsyncKeyState함수가 있겠지만, 휠에서는 쉽지가 않았던 것 같다.
역시나 엔진상에 사용하는 방법이 있었다. 엔진 내부 함수는 생각대로하면 역시나 있었다.
캐릭터의 그림자는 위의 태양의 위치와 연계되어 항상 동적으로 움직인다.


<그림3>
요즘에서야 다시 잡고 하는것인데, 오브젝트를 배치해야한다. 음.. 그래서 F1을 누르면 모드를 변경(에디트모드)하여 엔진에서 지원하는 GUI를 사용하여 오브젝트를 플레이어의 위치를 받아서 배치하는 장면이다.

요즘 GUI 설정하는것에 대해서 예제샘플 및 자료를 찾아보고 있지만, 이부분에대해서 조금 손을 써서 
메쉬선택, 스케일, 회전, 추가/제거기능을 완벽하게 부여해서 이 모드에대해서 깔끔하게 완결지으려한다. 



<그림4>
일리히트는 쉽게 바다를 생성한다. 그냥 잔잔한 물에서 미치도록 파동치는 바다까지 마음대로 설정이 가능하다.

'프로그래밍 > 일리히트' 카테고리의 다른 글

배경을 위해 띄워주는 텍스쳐정도?  (0) 2009.12.25
중간 영상1  (0) 2009.12.19
일리히트 콘솔창 없애기  (0) 2009.11.23
2. 삼각형 띄우고 색깔입히기  (0) 2009.09.03
1. 윈도우 띄우기  (0) 2009.09.03