engine project tool
TRANSCRIPT
Introduce EngineTool Concepts Interface End - Begin
Index
Tool
Outer Core
툴 선택 기준
Introduce
MFC
LuaScript
CoreC++
Main Lan-guage
Sub Lan-guage
C++ & LuaScript 의 조합에 있어 최적의 효율성을 고려하여 MFC 를 택하게 되었습니다 .
Library
EngineTool Con-
ceptsEngine Tool
Script Lan-guage
(Lua Script)
Simulation
GameRe-source
(Sound, Im-age)
Scene
Preview
Scene
객체 합성 및 Object 배치 Script LanguageUpdateFrame 을 통한 흐름제어 및 객체 정의
GameResource실제 Game 에서 Object 로표현될 Image 및 Sound
Preview
Scene 에 표현된 객체를 미리 확인 할 수 있는 창
Interface
Project Wizard Main Screen Interface
Preview Project Assets Hierarchy Inspector UpdateFrame_Start
프로젝트 이름 설정1
3
프로젝트 열기
1
2
3
4 5
4
Open Project
Create by Project
전체화면 & 창 모드 프로젝트 생성화면 해상도 설정
5
2
Click
Click
Project Create
Project Load
Click
Click
Project Create & Load
해당 위치에 프로젝트가 생성되며 ,기본 적인 폴더들이 생성 된 것이확인 가능합니다 .
1
2
3
4
5
6
Preview[1] Project[2] Assets[3] Hierarchy[4] Inspector[5] UpdateFrame_Start[6]
Main Screen
Static Splliter 를 통해 정적으로 창 분할을 하여 , 각각의 영역별로 FormView 를 붙여 넣었습니다 .
현재 설정된 Scene 을 기준으로 미리보기 화면 제공 해당 Frame 의 핸들을 제공하여 MainSystem 을 호출
( MainSystem 은 Technical Report 를 참조 )
Preview
MainSystem 영역
현재 설정된 프로젝트 폴더를 기준으로 하위 폴더를 검색 후 시각화 시켜줌 프로젝트를 생성하면 기본적으로 Prefab, Resource,
Scene, Sound 폴더가 생성된다
Project
MFC Tree-view Control 을 이용하여 구현 됨Prefab, Resource, Scene, Sound 를 기준으로 Inspector 창의 내용이 바뀝니다 .
실체화 되어 있는 자산 ( 객체 ) 들을 표현해 줌
Prefab( .Lua), Resource( .Png), Scene( .Lua), Sound( .Wav)
Project 탭에서 선택 된 폴더 안의 파일들을 표현해 줌
Assets
MFC List-view Control 을 이용하여 구현 됨Assets 탭의 아이템들을 더블클릭 하면 파일을 열수가 있음
Scene 객체에 포함 된 자원 (Assets) 들을 한번에 볼 수 있게 제공해 줌
해당 코드 뭉치들을 시각화 해주는 기능을 제공함
Hierarchy
실제 담겨 있는 코드들 시각화 된 자원들
자원 (Assets) 생성 및 수정 페이지
Inspector
Resource
Prefab
Scene
Sound
Prfab : 객체를 표현할 수 있는 최소 단위PrfabName :
Prefab 이름ImageMainKey :
Prefab 의 Image 로 접근 하고자 할 때 키 값
SubKey : Prefab 의 Image 가 여러 장일 때 필요함
PrefabState : Prefab 의 상태
ImageCount : Image 시작점
Prefab
Resource
Soundv
Resource Load :Image(png) 파일을 읽어서 지정 된 폴더로 복사 해주는 기능
Sound Load : Sound(wav) 파일을 읽어서 지정 된 폴더로 복사 해주는 기능
SceneSoundPath :wav 파일의 절대 경로를 지정
SoundName :파일을 대표할 이름ImageID : 파일을 대표할 이름ImagePath :
png 파일의 절대 경로를 지정ImageState :
Image 의 상태 ( ex. Player_Walk )ImageCount :
Image 의 최대 개수PrefabName :
Prefab 객체의 이름PrefabScript :
Prefab 파일의 절대 경로를 지정ObjectName :객체의 이름ObjectGroup :
Rendering, Collision, Processing 을 위한 그룹화ObjectPositionX :객체의 초기 X 좌표 위치ObjectPositionY :객체의 초기 Y 좌표 위치
흐름 제어
버튼 클릭으로 Processing 을 활성화 또는 비활성화가 가능
UpdateFrame Start
Click
End - Begin
프로젝트의 시작에 앞서 가장 걱정 되었던 부분은 새로운 기술의 이해였습니다 . Engine 을 제작하기 위해 일반화 프로그래밍의 전반적인 이해가 필요로 하였으며 , LuaScript 또한 빠질 수 없었습니다 .
개발을 위해 유니티를 접하는 과정에서 , 그들이 생각하고 만들고자 했던 것 하나하나 곱씹어 보는 개기가 되었고 덕분에 이용자와 프로그래머 사이에서 진지하게 고민해 볼 수 있는 시간이 되었습니다 .
이번 프로젝트를 통해 한계를 명확하게 알게 되었으며 다음으로의 발판을 만들어 준 것에 대해 감사히 생각합니다 .
이렇게 프로젝트는 마무리가 되지만 사회 초년생으로서의 시작이 있기에 즐거운 마음으로 마칠까 합니다 .
긴 글 읽어주셔서 감사합니다 .