perpet

 자신들이 만든 게임의 캐릭터 액션정보나 AI 스테이트 정보를 비주얼툴로 보거나 보여주고 싶을때가 있다.

간단한게 외부라이브러리를 이용해 하루만에 뷰어를 만들수있는 툴을 만들어보자.

 

작업프로세스는 이렇다.

게임 액션과 액션사이에 링크정보가 있다 이것은 특정 이벤트가 발생해야만 다른액션으로 이동을 하는 구조를 가질수있다.

가령 stand 액션에서 key_left 가 눌러지면 left_uun , key_right ,눌리면 right_run 이란 액션으로 넘어간다고 하고 이것을 텍스트 형식으로 저장을 하면

state : stand

link : key_left, left_run

link : key_right , right_run

state : left_run

state : right_run

 

이런식으로 기획자들이 자신들이 편한 방식으로 텍스트, 또는 xml 로 저장을 할것이다.

프로그래머가 자주 이 링크정보를 보고싶을때가 있는데 이정보가 일반적으로 한캐릭에 수십가지의 액션정보가 있어 텍스트로 보기로는 상당히 힘들다

 

 이런텍스트를 uml 툴같은 다이어그램으로 보고 싶을때가있는데 여기서 가장 손쉽고 빠르게 만드는 방법을 설명한다.

 

작업방식은 공개된 다이어그램 뷰어를 구해서 그포맷에 맞게 자신들의 콘텐츠정보를 컨버트 해주면된다.

여기서는 http://www.graphviz.org/ 를 사용했다. 우리가 해줄것은 이 공개소프트웨어가 인식가능한 포맷으로 나의 컨텐츠 정보를 읽어와 변경해주면된다.

 graphviz    에서 dot 포맷이 있는데 이것으로 직접 내가 포맷을 만들어줘도 되지만 이 컨버팅 작업또한 공개소스를 이용하면 간단하게 해결할수있다.

http://quickgraph.codeplex.com/ 에가면 쉽고 간단하게 dot 포맷으로 변경가능하다.

 

전체 작업방식은 내콘텐츠 정보를 읽어 QuickGraph  를 이용해 dot 포맷파일을 생성하고  graphviz 로 이파일을 가지고 원하는 다이어그램 이미지를 만들면된다.

 

 QuickGraph 로 dot 를 생성하면

 digraph G {
0 [label="stand"];
1 [label="left_run"];
2 [label="right_run"];
0 -> 1 [ label="key_left"];
0 -> 2 [ label="key_right"];
}

 

이 만들어지고

 

  graphviz  를 돌리면

 

command>  dot a.dot -Tjpg -o a.jpg

 

 

Throwing_Spirit_Grudge.gif 

 

 

 파일이 나온다.

 

 

 

 

 

 

 

 

 

 

 

 

이 글은 스프링노트에서 작성되었습니다.