其他分享
首页 > 其他分享> > Unity 关联 Live2D 学习3

Unity 关联 Live2D 学习3

作者:互联网

眼动追踪:

在这里,我们将解释如何使型的注视跟随鼠标光标。

SDK提供了两个很好的组件:CubismLook Look Controller

混合模式:三个参数和之前文章提供的参数设置函数中的参数意义一致

-Center:在此处设置一个GameObject作为要遵循的坐标的中心。 
中心是已设置的GameObject的边界的中心。 一般是live2D本体

- 阻尼:跟踪目标需要时间。值越小,跟随速度越高。

- 目标:设定目标以使视线跟随。

CubismLookParameter:

此组件设置在要追踪的身体部位上。

CubismLookParameter有两个设置项。

- 轴:设置Parameter(s)是作为轴变形处理的。例如,当指定X时,它是根据Target的X轴值计算的。

- 因子:将数值设置为乘以计算值。由于计算结果的值在-1到+1的范围内, 
Parameter(s)根据情况,放大或缩小范围可能是自然运动,或者反转+和 - 。

 

具体方法:

添加好CubismLookParameter和CubismLook Look Controller之后创建空物体做管理。

using UnityEngine ;

 

public class CubismLookTarget : MonoBehaviour , ICubismLookTarget

{

     public Vector 3 GetPosition ( )

    {

         if ( ! Input . GetMouseButton ( 0 ) )

        {

             return Vector3 . zero ;

        }

 

         var targetPosition = Input . mousePosition ;

 

         targetPosition = ( Camera . main . ScreenToViewportPoint ( targetPosition ) * 2 ) - Vector3 . one ;

 

         return targetPosition ;

    }

 

 

     public bool IsActive ( )

    {

         return true ;

    }

}

官方提供的实例,要继承ICubismLookTarget 接口来返回坐标值

之后将脚本添加给空物体后作为CubismLook Look Controller的target

 

注意:

由于Live2D的画布提供范围为[-1,1],所以Live2D的坐标和Unity提供的坐标并不一致。在实现接口时要转化坐标。

 

自动眨眼功能:

高版本框架已经十分简化了此功能。只需要添加CubismAutoEyeBlinkInput和CubismEyeBlinkController即可。

CubismAutoEyeBlinkInput其中有三个参数:

Mean:平均眨眼时间,以秒为单位。

MaximumDeviation:参考Mean的最大偏差值

Timescale

标签:return,CubismLookParameter,Live2D,关联,Unity,targetPosition,设置,CubismLook
来源: https://www.cnblogs.com/komorichiyu/p/15256222.html