人物眼睛看向鼠标位置的简单实现
在b站直播间常常能看到盯着鼠标看的可爱的卡通人物,如何实现这个动作呢?此处为一个最简单的实现(适用于unity)
这个动作利用IK函数实现,首先得到鼠标位置b,再得到人物眼睛位置a,则对于模型空间,其眼睛看向的位置应为b-a;
public class pdd : MonoBehaviour
{
private Animator anipdd;
void Start()
{
anipdd = GetComponent<Animator>();
}
void Update()
{
}
private void OnAnimatorIK(int layerIndex)
{
Vector3 target= Input.mousePosition;
target -= transform.position;
target.x *= -1;//此处因为模型空间的坐标系和裁剪坐标系是相对的(即人物朝外而观众朝里)
anipdd.SetLookAtWeight(0.6f);
anipdd.SetLookAtPosition(target);
}
}