상세 컨텐츠

본문 제목

[포니 게임 개발] 5일차

프로그래밍/포니게임개발

by ∫2tdt=t²+c 2012. 12. 25. 10:03

본문



그 사이에 장족의 발전이 있었다고 자부합니다ㅋㅋ

Catmull-Rom Spline이라는 개념도 공부하고ㅋ

이놈은 정점들을 통과하는 부드러운 곡선을 만들어주는 보간법인데 카메라 path에 자주 사용된더라 하더라구요. 구현도 그다지 어렵지 않고ㅋ. 카메라 경로를 이놈으로 보간하긴 했는데, 이상하게도 점과 점 사이에서 자꾸 화면이 튀는 현상이... 어디 보간이 잘못되었나..


그리고 외곽선 그려주는 셰이더는 오브젝트의 노말을 rgb로 출력하고, 이놈을 가지고 sobel 필터 처리하면 됩니다.ㅋ 생각보다 어렵지 않네요. 다만 외곽선이 생각보다 깔끔하게 나오는게 아니라서 실망.... 노말을 화면크기의 2배로 출력한 다음 반으로 짜그라트려서 써야하나..?


구름을 추가하기는 했는데... 그래픽도 허접하고, 무엇보다 맥스스크립트에 문제가 있는지 구름들이 다 서 있네요ㅋ 구름에 외곽선 그려지는 것도 막아야할테고


아 그리고 scene이 크다보니깐 멀리는 산들이 자꾸 z-fighting 하는 현상이 일어나서 어떻게 해결해야하나 고민했는데, 해결방법은 의외로 간단하게... ㅋ 카메라의 near-plane값을 조정하는것ㅋ

near = 0.1

far = 1000000

으로 설정되어있었는데


near = 10

far = 1000000

로 변ㅋ경ㅋ


xml 파서는 직접 짤만큼 잉여가 아니라서... (맥스스크립트는 직접짜는 잉여면서???ㅋ) 외부 라이브러리 가져다가 썼는데, tinyxml2 이거좀 짱인듯!


5일차 작업일지

* xml에서 게임 레벨 데이터 읽어오는 기능 부분 구현

* 3dsmax의 Scene을 xml 레벨 데이터로 출력하는 스크립트 작성

* 카메라 이동경로를 Catmull-Rom 보간

* 셰이더 업그레이드: 조명2개 환경광 처리가능하도록 바꿈, 조명색상에 오브젝트가 영향을 받도록 카툰 셰이더 변경

* RenderToSurface 기능 추가

* RenderToSurface 기능을 이용해 노말을 텍스쳐에 그리고, 이를 Sobel 필터처리해서 윤곽선을 찾아내도록 함. 이를 기존 화면에 블렌딩해서 렌더에 윤곽선이 드러나도록 함.


앞으로 할 일

* 레벨 데이터를 출력하는 스크립트 보완/강화

* 게임 오브젝트 처리 코드 작성

* 빌보드 기능 추가

* 외곽선 선택적으로 그릴 수 있게 코드 변경

* 카메라가 흔들리는 문제 해결

* 스카이박스 추가

* 아... 모델링이랑 텍스쳐링은 어떻게하지...?ㅠ



'프로그래밍 > 포니게임개발' 카테고리의 다른 글

[포니 게임 개발] 8일차  (0) 2013.01.01
[포니 게임 개발] 7일차  (0) 2012.12.27
[포니 게임 개발] 6일차  (0) 2012.12.26
[포니 게임 개발] 4일차  (0) 2012.12.24
[포니 게임 개발] 3일차  (0) 2012.12.22
[포니 게임 개발] 2일차  (0) 2012.12.21

관련글 더보기

댓글 영역