시선 추적 설정

[마지막 갱신일: 2020/01/30]

여기에서는 모델의 시선 등을 마우스 커서에 추종시키는 방법을 설명합니다.

 

개요

시선 추적을 설정하려면 Cubism SDK는 Lookat이라는 구성 요소를 사용합니다.

SDK에는 이 컴포넌트를 사용한 [LookAt]라는 샘플 씬이 동봉되어 있으므로, 그쪽도 함께 봐 주세요.
이쪽은 모델의 머리 위를 돌리는 GameObject의 위치를 시선으로 추종하는 샘플이 되고 있습니다.
/Assets/Live2D/Cubism/Samples/Lookat

 

Lookat을 설정하려면 다음 세 가지를 수행합니다.

  1. Lookat을 관리하는 구성 요소 연결
  2. 추적할 파라미터 지정
  3. 시선을 따라가는 대상 설정

 

Lookat을 관리하는 구성 요소 연결

모델의 루트가 되는 GameObject에 시선 추적을 관리하는 CubismLookController라는 컴포넌트를 연결합니다.

CubismLookController에는 네 가지 설정 항목이 있습니다.

- Blend Mode: 시선 추종시에 변동하는 값을 파라미터에 어떻게 반영하는지 설정입니다. 설정할 수 있는 것은 다음의 3개입니다.

Mutiply: 현재 설정된 값에 곱합니다.
Additive: 현재 설정된 값에 더합니다.
Override: 현재 설정된 값을 덮어씁니다.

- Center: 여기에서는, 추종시킬 좌표의 중심으로서 취급하기 위한 GameObject를 설정합니다.
중심은 설정된 GameObject의 Bounds의 중심이 됩니다.
Center로 설정되는 것은 [모델]/Drawables/이하의 GameObject가 됩니다.
이 항목에 아무 것도 설정하지 않으면 CubismLookController가 연결된 GameObject의 중심을 사용합니다.

- Damping: 대상을 추종하는 데 걸리는 시간입니다. 값이 작을수록 추적 속도가 높아집니다.

- Target: 시선을 따라갈 대상을 설정합니다. 자세한 내용은 나중에 설명합니다.

 

이번에는 Blend Mode를 [Override]로 설정하십시오.

 

추적할 파라미터 지정

[모델]/Parameters/ 아래에는 해당 모델의 파라미터를 관리하는 GameObject가 있습니다.
또, 이 GameObject로 설정되어 있는 이름은 파라미터의 ID가 되고 있습니다.
이것들은 CubismModel.Parameters() 로 취득할 수 있는 것과 동일합니다.

이 파라미터용 GameObject 중에서, 추종을 하고 싶은 ID의 것에, CubismLookParameter라고 하는 컴퍼넌트를 첨부합니다.

파라미터용의 GameObject에 CubismLookParameter 가 첨부 되고 있으면, 전술의 CubismLookController가 그것을 참조해 추종하게 하게 됩니다.

 

CubismLookParameter에는 두 가지 설정 항목이 있습니다.

- Axis: 설정된 파라미터를, 몇축의 변형으로서 취급할까를 지정합니다. 예를 들어, X를 지정하면 Target의 X축 값에서 계산하고 설정합니다.

- Factor: 계산된 값에 곱하는 숫자를 설정합니다. 계산 결과의 값은 -1~+1의 범위가 되므로,
파라미터에 따라서는 그 범위를 크게 하거나 작게 하거나, 또는 +와 -를 반전하는 것이 자연스러운 움직임이 될 수 있습니다.

 

시선을 따라가는 대상 설정

마지막으로, 추종시킬 대상을 준비합니다.

CubismLookController 컴포넌트의 [Target]은 [ICubismLookTarget] 인터페이스를 구현한 컴포넌트를 설정합니다.

타겟의 설정에 따라서는, 시선을 추종시키는 대상을 마우스 커서나 GameObject의 위치로 하거나, 드래그중만 추종시키는 등 특정의 조건을 붙이는 것도 가능합니다.

「CubismLookTarget」이라는 C# 스크립트를 작성하고 코드를 다음과 같이 다시 작성합니다.
여기에서는, 드래그중의 마우스의 좌표를 추종하도록 하고 있습니다.

 

빈 GameObject를 만들고 위의 CubismLookTarget을 연결합니다.

 

모델을 선택하고 Inspector 뷰에서 CubismLookController의 [Target]으로 위에서 만든 GameObject를 드래그 앤 드롭합니다.

 

이것으로 설정이 완료됩니다.

씬을 실행하고 Game 뷰를 마우스 왼쪽 버튼으로 드래그하면 모델의 시선이 따라갑니다.

© 2010 - 2022 Live2D Inc.