posted by 나무꾼! 2014. 6. 6. 13:17

vForge 에디터 - 기본 레이 아웃 소개


vForge 에디터에서는 작업자의 관점에 따라 다양한 레이아웃을 제공하고 있고 사용자의 기호에 맞게 레이아웃을 꾸미는 것도 가능하다. 우선 가장 기본이 되는 화면 구성을 먼저 살펴보도록 하겠다. 만약 레이아웃을 기본값으로 초기화 하기를 원한다면 [ View 메뉴 > Layout > Restore Default ] 를 선택하면 된다.

1. 기본 인터페이스 레이아웃

vForge 에디터에서 기본 레이아웃의 화면 구성을 살펴 보면 다음과 같다.

2. 패널 활성화/비활성화

원하는 패널이 화면에 보이지 않을 경우 [View] – [Panels] 에서 원하는 패널을 활성화 하거나 비활성화 할 수 있다.

3. Engine View 패널

현재 장면을 시각적으로 확인 해 보면서 탐색하고 편집할 수 있다. Play the game 모드로 게임을 플레이 해보거나 Run in Editor 모드를 통해 미리보기와 동시에 장면을 편집할 수도 있다

4. Engine View 툴 바

장면을 탐색하고 편집하면서 빈번하게 사용되는 버튼들이 자리잡고 있다. 선택된 Shape을 이동하고 회전하고 크기를 조절할 수 있고 카메라의 조작 방법이나 이동 감도를 조절할 수 있다. 또한 다양한 디버깅용 랜더링 모드를 선택 할 수도 있다.

5.Shape Creator 패널

Shape은 Scene에 추가할 수 있는 편집 가능한 일반 3D 오브젝트 로서 예를 들어 Particle Emitter, Entity, Static Mesh, Point Light 등이 해당 된다. Shape creator 패널에서 추가하고 싶은 Shape를 선택해서 엔진 뷰로 드래그 앤 드롭 하면 현재 활성화된 Layer 에 Shape 인스턴스가 새로 추가된다. C++로 생성한 커스텀 Shape을 포함해서 프로젝트 내에서 사용 가능한 모든 Shape 들을 여기서 찾을 수 있다.

 

6.Properties 패널

Properties 패널에서는 현재 선택된 대상의 세부 설정을 편집할 수 있다.

    Properties 패널 (Main Layer 선택시)

 

7.Component 패널

현재 선택된 게임 오브젝트에 Component를 붙여서 다양한 부가 기능을 부여할 수 있다. 프로젝트 아나키에서는 빠른 프로토타이핑을 위해 캐릭터 애니메이션, 입력 처리, 스크립팅 등을 위한 미리 만들어진 다양한 Component들을 제공하고 있다. 만약 제공되는 Component 만으로 부족하다면 C++ 로 커스텀 Component를 만들어서 얼마든지 기능을 확장할 수 있다

8.Asset Browser 패널

검색 과 태그를 이용한 필터링, 분류별 탐색을 통해 쉽게 어셋을 찾아내고 장면에 추가할 수 있다. 그 외에도 PC, iOS, Android, Tizen 등의 대상 플랫폼을 위한 프로파일 설정에 따라 자동으로 컨버팅이 이루어 지기 때문에 단일 환경으로 다양한 플랫폼을 동시에 개발할 수 있다. 컨버팅 과정은 백그라운드로 진행되므로 따로 기다릴 필요는 없이 하단의 진행 경과만 확인 하면 된다.

9.Shapes and Layers 패널

복잡한 장면의 구성요소들을 쉽게 찾고 관리하기 위해 레이어Layer로 구분할 수 있고 선택된 레이어Layer에 속한 Shape 들을 살펴볼 수 있다. 레이어의 구성 정보는 [장면파일이름].Scene.Layers 폴더 안에 [Layer이름].Layer 파일에 저장되어 있기 때문에 다른 장면에 복사해서 재사용이 가능하다.

 


vForge 에디터 - 레이 아웃의 전환


vForge 툴은 프로그래머 그래픽 아티스트, 레벨 디자이너, 이펙트 디자이너 등 다수의 사용자가 동시에 협업이 가능하도록 디자인 되어 있기 때문에 작업의 종류나 기능에 따라 유연하게 레이아웃을 변경할 수 있다. 대표적인 레이아웃에는 셰이더 편집(Shader Editing), 파티클 편집(Particle Editing), 터레인 편집(Terrain Editing), 스크립트 편집(Script Editing) 등이 있고 원하는 데로 사용자 정의 레이아웃을 구성하거나 플러그인 개발을 통해 완전히 새로운 기능을 추가하는 것 또한 가능하다. 지금까지 Default Layout을 위주로 살펴보았는데 앞서 설명한 기본 레이아웃 외에 어떤 레이아웃들이 있는지 간략히 살펴보도록 하겠다

 

1.Particle Editor 레이아웃

vForge 에디터 내에 통합되어 제공되는 파티클 에디터를 통해 다양한 파티클 이펙트를 만들 수있고 장면내에 적용해서 미리보기가 가능하다.

새로운 파티클을 처음부터 만드는 것도 가능하지만 미리 제공되는 파티클 템플릿을 활용하면 쉽고 빠르게 만들어서 원하는 형태로 수정할 수 있다.

2.Visual Shader Editor 레이아웃

기본적으로 제공되는 셰이더 라이브러리와 차별화된 색다른 효과를 내기 위해 직접 셰이더를 만드는 것이 가능하다. Visual Shader Editor 를 사용하면 아티스트에게 친숙한 방식으로 블록들을 배치 하고 와이어로 연결시키면서 직관적으로 Shader 프로그래밍 을 구현 할 수 있다. 기본적인 셰이더는 Visual Shader Editor에서 간단하게 제작이 가능하다. 좀 더 시각적으로 셰이더 프로그래밍이 가능하다는 장점이 있지만, VSE는 PC 및 콘솔에서 주로 사용되는 Shader Modle 3.0 에 맞춰서 디자인 되었기 때문에 VSE Shader만으로는 모바일 플랫폼에서 최적화된 성능을 내기는 어렵다. 이러한 제약은 모바일 플랫폼에서 공통적으로 적용되는 사항 이므로 만약 모바일에서 최적화된 성능을 끌어내기를 원한다면 VSE로 생성된 .ShaderLib 파일을 Shader Editor 레이아웃에서 열어서 코드를 직접 수정하는 것을 권장 한다.

그림. Character Demo 에서 사용된 Glow Effect 셰이더

 

3.Shader Editor 레이아웃

Visual Shader Editor 보다 더 세밀한 설정이 필요할 경우, 그래픽 프로그래머가 직접 셰이더 코드를 작성할 수 있다. Visual Shader Editor 에서 작성한 셰이더 라이브러리를 가져와서 편집하는 것도 가능하다.

4.Material Editor 레이아웃

Shape 표면의 시각적인 느낌을 조절하기 위한 다양한 재질의 특성을 조절하고 셰이더를 적용할 수 있다. 예를 들어, 재질에서 사용될 텍스처 파일을 변경하거나 텍스쳐 애니메이션을 사용할 수 있고 라이트와 같은 장면의 환경이나 연출 의도에 따라 적절한 셰이더 효과를 적용할 수 있다.

5.Terrain Editor 레이아웃

브러시를 이용해서 지형의 높낮이를 조절하고 디테일 텍스쳐를 입힐 수 있고, Vegetation 기능을 이용해서 나무 와 풀 등을 쉽게 배치 할 수 있다. MMORPG 에서 흔히 사용되는 방대한 크기의 지형을 실시간으로 처리하기 위한 섹터 단위로의 스트리밍 및 LOD 등이 기본적으로 제공된다. 단, 높이맵HeightMap 기반의 지형은 모바일 디바이스에서는 하드웨어의 제약으로 인해 사용하기 어렵기 때문에 Mesh Export 기능을 이용해 Static Mesh로 변환해서 사용할 수 있다.

6.Scripting 레이아웃

Vision 엔진에서는 빠른 프로토타이핑을 위해 게임 산업에서 널리 사용되고 있는 Lua 언어를 기반으로 하는 스크립팅 시스템을 제공하고 있다. C++ 프로그래밍 및 컴파일 과정 없이도 스크립트 컴포넌트를 오브젝트에 추가하거나 장면에 스크립트를 할당해서 빠르게 기능을 구현하고 vForge 에디터 내에서 결과를 바로 확인해 볼 수 있다. vForge 에디터에 통합되어 있어서 바로 연결이 가능한 vRSD(Remote Script Debugger) 도구를 이용하면 Lua 스크립트로 작성된 코드를 디버깅 하고 프로파일링 할 수 있다.

7.Profiling 레이아웃

Profiling 레이아웃 에서는 게임을 최적화 하기 위한 각종 성능 지표와 메모리 점유율 등을 모니터링 하고 통계를 낼 수 있다.