首先找到人物胸部的顶点骨骼位置,拷贝一下
如图所示
然后在原物体上挂栽如下脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Wobbler : MonoBehaviour {
/// <summary>
/// 中心点的位置(拉入拷贝后的物体)
/// </summary>
public Transform centerTran;
/// <summary>
/// 我的位置
/// </summary>
Transform myTransform;
/// <summary>
/// 刚体组件
/// </summary>
Rigidbody rig;
/// <summary>
/// 弹性系数
/// </summary>
public float hardness;
private void Start()
{
//Time.timeScale = 0.1f;
rig = GetComponent<Rigidbody>();
myTransform = transform;
}
private void FixedUpdate()
{
//防止动作大的时候摆动穿模
if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.Space))
{
myTransform.position = centerTran.position;
}
else//开始摆动的条件
{
rig.AddForce(-(transform.position - centerTran.position) * hardness);
//Debug.Log("受到力了");
//Debug.Log(gameObject);
}
}
}
然后自己限制一下什么时候不让乳摇,尽量避免一些大的动作,然后运行效果如下
当然,要是想要更好的效果,可以多拉几个胸部的点,效果更好
我是参考的这位大神的博客,他博客上还有更震撼的内容哟
https://blog.csdn.net/roadlun/article/details/80939986