关于UnityIK控制头部朝向目标的一些研究
(事先声明,本人为编程菜鸡,所使用的方法可能非常笨,不具备任何参考价值,请谅解)
虽然研究动画系统一段时间了,但IK也是最近这段时间才刚刚接触到的,其他部位IK暂时不提,今天我要研究的IK是头部朝向的IK。
让我们开始吧
首先,基本的基本,打开人物的Animaotr面板,添加一层IK层
接着为你的人物设置IK事件属性就好了
这里用到了两个API,分别是SetLookAtWeight和SetLookAtPosition
SetLookAtWeight的作用是设置权重,权重越低,IK所对动画造成的影响越低
SetLookAtPosition的作用是设置IK的朝向位置
主要实现思路有两种:
1、当有目标进入玩家视线时,权重缓慢增长到正常值,当目标离开时,权重又慢慢的回落到0(既IK不对动画产生任何影响)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
public class IKLookAT : MonoBehaviour
{
private Animator animator;
private GameObject minDictObj;
private List<GameObject> list_LookObj;
private Vector3 TempPos;
private float IkanimationSpeed = 0.8f;
private float all;
private float body;
private float head;
private float eye;
public List<GameObject> List_LookObj {
get {
return list_LookObj; } set {
list_LookObj = value; } }
void Awake()
{
list_LookObj