Matinee

Matinee 는 레벨에 귀속이 되는 리소스로써, 레벨 안에 존재하는 특정 오브젝트의 Scalar, Vector 따위를 디자이너들이 편리하게 조절하게 해주는 기능을 하는 툴셋이다.

Matinee 로 특정 Trigger 를 밟으면 문이 열리게 한다거나 (물론 이는 동기화 솔루션도 갖추고 있다) 특정 연출 카메라를 움직이고 FOV 를 조절하는 따위의 일을 기획자가 처리할 수 있다.

구조

Matinee 는 다음 클래스로 구성되어 있다.

class InterpGroup
class InterpGroupInst
 
class InterpGroupAI
class InterpGroupInstAI
 
class InterpGroupDirector
class InterpGroupInstDirector
 
...
 
class InterpTrack
class InterpTrackInst
 
class InterpTrackFloatMaterialParam
class InterpTrackInstFloatMaterialParam
 
...

Matinee 에디터를 열면 알겠지만 크게 Group 을 먼저 생성해야 하고 그 안에 해당 Group 에 귀속될 Track 들을 생성하여 관리하는 구조이다. 해당 Group 은 특정 Target 을 대상으로 Scalar 나 Vector 따위의 파라메터를 실시간으로 조정하는 일을 수행한다. 이 기능은 Kismet 과 연동되어서 수행될 때 크게 빛을 발한다.

상기 코드도 같은 맥락으로 설명할 수 있다. 지면상 상세코드를 설명하는 것은 의미가 없고 구조만 설명하자면

  • Group 하위에 Track 이 존재한다.
  • Group 이나 Track 은 각기가 인스턴스화 되어 사용되는 것이 아니라 Inst 라는 postfix 가 붙은 클래스가 생성이 되어 그것이 인스턴스로써 사용이 된다.
  • Matinee 는 도깨비 방망이가 아니므로 이를 이용하여 밸런스에 민감한 내용을 직접 제어하는 것은 어울리지 않는 것 같다. 물론 경험에 따른 주관적인 내용 :-)

대략 위 내용으로 정리할 수 있다.

참조

  • GoW2 소스 코드