UDN
Search public documentation:
DialogSystemKR
English Translation
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
대화 시스템
오디오 스트리밍
Unscripted (스크립트 되지 않은) 대화
- 쿠커가 쿡 될 필요가 있다고 판단한 패키지의 목록을 생성합니다. 이 과정이 끝나면 쿠커는 쿠커 도우미를 호출하고, 이 도우미는 그 목록에 생성되어야 할 GUDBank들을 추가합니다. 이것들은 실제로 존재하지 않는 ‘가짜’ 패키지들입니다. 도우미는 단지 그 자신이 작성될 필요가 있다고 생각하는 패키지들의 이름을 삽입할 뿐입니다. 그동안에, 도우미는 소스 GUDBank들을 위에서 설명한 것처럼 여러 개의 작은 뱅크들로 나눕니다. 이 도우미는 또한 나중에 시스템에서 대화에 사용될 사운드 큐와 FaceFX 애니메이션의 목록을 생성합니다 (이 정보는 쿠커가 실행될 때마다 재생성하는 것을 피하기 위해 지속성 쿠커 데이터에 보존되게 됩니다). 또한 콘텐츠 패키지의 표가 '부모' GUDBank 클래스를 그것이 나뉘어 넣어질 GUDBank 패키지의 콜렉션으로 설정하는 목록에 넣어집니다.
- 쿠커는 목록 내의 패키지들을 반복하면서 각 패키지를 로드하고 그 안의 객체들을 쿡합니다. 패키지를 로드할 때, 쿠커는 먼저 도우미를 호출하여 이로 하여금 패키지를 로드하도록 합니다. GUDS의 경우에는, 여기서 도우미가 패키지를 재빨리 작성하여 반환합니다. 이는 새 GUDBank를 만들고 그것을 적절한 대사로 채우는 일을 수반합니다. 또 FaceFX 애니메이션이 모두 Pawn에 뱅크가 설정되었을 때 그 Pawn에 적용될 새 AnimGroup에 삽입됩니다. 그 과정에서 나중에 사용되기 위한 GUD 패키지가 쿡 되고 있는지 아닌지를 나타내는 내부 플래그도 설정합니다. 주어진 패키지 파일에 대해 특별한 과정을 수행해야 할 필요가 없는 경우, 도우미는 NULL을 반환합니다. 그러면 쿠커는 보통 방법대로 패키지를 로드합니다. GUDS가 아닌 모든 패키지에 대해 이 과정이 행해집니다.
- 패키지가 로드되고 나면, 도우미는 PostLoad 함수를 호출합니다. GUDS 시스템의 경우, 패키지가 GearGame이나 GearGameContent라면 도우미는 원래의 GUDBank들을 찾아내어 그것들의 콘텐츠를 지웁니다. 이는 대사들이 쿡 된 패키지 내로 당겨지는 것을 피하기 위해서입니다. (이 작업은 사실상의 GUDBank 객체가 쿠킹되는 동안에도 행해져야 하지만, 이는 쿠커 도우미의 PostLoad 함수에 대한 사용의 예를 보여줍니다).
- 그 다음에 쿠커는 패키지 내의 각 객체들을 반복하면서 쿠킹합니다. 쿠커는 먼저 표준 쿠커가 그 객체를 계속해서 진행시켜야 할 것인지의 여부를 가리키는 Boolean 값을 반환하는, 도우미 함수 CookObject를 호출합니다. GUDS 도우미의 경우에서는, 객체가 참조된 목록에 있는 사운드 큐이고 패키지가 GUDS 패키지가 아니면, 그 사운드 큐를 =MarkedByCooker=로 설정하여 현재의 패키지 내로 쿡되는 것을 방지합니다. GUDS 패키지인 경우에는 익스포트를 강제하도록 설정되며, 또 필요한 경우에는 그것의 FaceFX 애니메이션 그룹의 이름이 수정됩니다. 객체가 FaceFX 자산이나 animset이고 GUDS 패키지가 아닌 경우에는, GUDS에 의해 사용된 참조 애니메이션이 모두 세트로부터 제거됩니다.