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