Files
StoryGame_Unity/Assets/02_Scripts/Story/ICharacterPoses.cs

19 lines
1.1 KiB
C#

// 캐릭터의 포즈를 화면에 반영하는 방법. 구현이 둘이고, 캐릭터마다 골라 붙인다:
//
// CharacterPoses — 포즈마다 스프라이트 오브젝트를 켜고 끈다.
// 단역이나 그림 몇 장으로 끝나는 인물용.
// CubismCharacterPoses — Live2D 모델 하나의 표정을 바꾼다.
// 모델 제작 비용이 큰 만큼 주요 인물에만 쓴다.
//
// DialogPlayer는 어느 쪽인지 모른 채 Apply/Current만 쓴다 — 덕분에 대화 그래프는
// 그 인물이 스프라이트인지 Live2D인지 신경 쓰지 않고 Pose(공통 감정 축)만 지정하면 된다.
// 나중에 스프라이트 인물을 Live2D로 승격시켜도 대화 데이터는 그대로다.
public interface ICharacterPoses
{
// 지금 켜져 있는 포즈. DialogPlayer가 대화 전 상태를 기억했다가 되돌리는 데 쓴다.
Pose Current { get; }
// 포즈를 반영한다. Pose.Keep(변경 없음)은 호출하는 쪽에서 걸러진다.
void Apply(Pose pose);
}