• EyeBlinkController
    • model3.json 의 Groups 에 "EyeBlink 파라미터" 가 안지정 되있으면...
    • 직접 해당 Parameter 에 "EyeBlinkParameter 컴포넌트" 를 추가 해도 됨!
    • "Blend Mode" 를 'Multiply' (곱하기) 으로해야? 그 파람인스펙터 랑 충돌의 피할수 있다?
  • EyeBlinkParameter
    • EyeL, EyeR
  • AutoEyeBlinkInput
    • Max값적용  깜빡속도랜덤화
    • # CubismAutoEyeBlinkInput.cs 코드 수정
      
      public float Timescale = 10f;
      public float MinTimescale = 2.0f;
      public float MaxTimescale = 20.0f;
          
      private CubismEyeBlinkController Controller { get; set; }
      private float MaxEyeOpening = 1.0f;
      
      private void Start()
      {
      	Controller = GetComponent<CubismEyeBlinkController>();
          MaxEyeOpening = Controller.EyeOpening;
      }
      
      private void LateUpdate()
      {
      	...
          
      	if (CurrentPhase == Phase.Idling) // 뜬채로 가만히 있는 상태
      	{
      		T -= Time.deltaTime; // Mean(+-Deviation) 만큼 대기
      
      		if (T < 0f) // 뜬채로 있다가... 이제 감으려고 하는 상황
      		{
      			T = (Mathf.PI * -0.5f);
      			LastValue = MaxEyeOpening; // 뜬채의 최대값이 MaxEyeOpening 임
      			CurrentPhase = Phase.ClosingEyes;
      			Timescale = Random.Range(MinTimescale, MaxTimescale); // 깜빡속도 자연스럽게
      		}
      		else
      		{
      			return;
      		}
      	}
      
      	// Timescale 은 깜빡속도 그리고 0.0 < value < 1.0 그리고 LastValue 는 방금값
      	T += (Time.deltaTime * Timescale);
      	var value = Mathf.Abs(Mathf.Sin(T));
      
      	// MaxEyeOpening 를 만들어서, 내가정한 EyeOpening계수 최대치를 넘지안도록 하게한다. 
      	if (value > MaxEyeOpening)
      	{
      		value = MaxEyeOpening;
      	}
      
      	// 감는 중이였고, 이제 다 감아서~ 뜨려고 하는 상황
      	if (CurrentPhase == Phase.ClosingEyes && value > LastValue)
      	{
      		CurrentPhase = Phase.OpeningEyes;
      	}
          // 트는 중이였고, 이제 다 터서~ 감으려고 하는 상황
      	else if (CurrentPhase == Phase.OpeningEyes && value < LastValue)
      	{
      		value = MaxEyeOpening;
      		CurrentPhase = Phase.Idling;
      		T = Mean + Random.Range(-MaximumDeviation, MaximumDeviation);
      	}
      
      	Controller.EyeOpening = value;
      	LastValue = value;
      }
  •  MouthController
    • model3.json 의 Groups 에 "LipSync 파라미터" 가 안지정 되있으면...
    • 직접 해당 Parameter 에 "MouthParameter 컴포넌트" 를 추가 해도 됨!
    • "Blend Mode" 를 'Override' 으로해서~ 그냥 무조건 직접 컨트롤 하는게 좋을듯~
  • MouthParameter
    • MouthOpenY
  •  AudioMouthInput
    • .wav 립씽크 = AudioSource 미리 연결 해두고 -> audioSource.play() 만 제어해도 될듯.
    • Gain=3.2 , Smoothing=0.12 
  • HarmonicMotionController
    • 적용하고자 하는 Parameter 에 "HarmonicMotionParameter 컴포넌트" 를 추가 해야 됨!
    • "Blend Mode" 를 'Additive' 으로 함... (적당히 +- 하는게 젤 자연스러울듯?)
  • HarmonicMotionParameter
    • Angle X : center, 0.5, 0.1, 3.1
    • Angle Y : center, 0.5, 0.1, 7.2
    • Angle Z : center, 0.5, 0.1, 2.3
    • BrowRY : right, 0.4, 0.2, 5.1
    • BrowLY : left, 0.4, 0.2, 5.2
    • BrowRA : right, 0.3, 0.3, 5.3
    • BrowLA : left, 0.3, 0.3, 5.4
    • BodyAngle X : center, 0.5, 0.1, 2.4
    • BodyAngle Y : center, 0.5, 0.1, 6.5
    • BodyAngle Z : center, 0.5, 0.1, 3.6
    • Breath : center, 0.5, 0.5, 0.5
    • P : center, 0.5, 0.5, 3.0
  • PhysicsController
    • Rig.Gravity 및 Rig.Wind 값을 조절하면... 자연스러운? 헤어 효과???
    • Fps 도 알맞게 셋팅???
    • Sub Rigs 에 해당되는 Elements 잡아 줘야 하는듯!!!
      • // TODO : ...
    • # CubismPhysicsController.cs 에 아래의 메소드 추가
      public CubismPhysicsRig GetRig() {
      	return _rig;
      }
      
      # 메인코드.cs 에서 아래와 같이 적용
      private Live2D.Cubism.Framework.Physics.CubismPhysicsController cubismPhysicsController;
      private Live2D.Cubism.Framework.Physics.CubismPhysicsRig cubismPhysicsRig;
      
      void Start()
      {
      	cubismPhysicsController = GetComponent<Live2D.Cubism.Framework.Physics.CubismPhysicsController>();
      	cubismPhysicsRig = cubismPhysicsController.GetRig();
      }
       
      void Update()
      {
      	cubismPhysicsRig.Wind = new Vector2(Random.Range(-1.0f, 1.0f), Random.Range(-1.0f, 1.0f));
      }
  • ...

-끝-

'멀티미디어' 카테고리의 다른 글

ffmpeg2  (0) 2023.06.27
unity4  (0) 2023.05.22
unity3  (0) 2023.03.15
Live2D Cubism SDK  (0) 2022.10.28
Live2D Cubism  (0) 2022.08.28

+ Recent posts