一、使用预制件
1)下载并导入Unity
点击下载:稳定刚体
下载后解压将整个文件夹拖入Unity中
2)处理
找到prefab文件,将其拖入模型的子集,然后右击“解压缩预制件”
将其中的“Anchor”拖到上一级,即模型的子集,可重命名(如“贝纳勒斯”)
然后依次展开“worldSpace-Container-Cube” ,将“Cube”的“Mesh Renderer”组件移除,然后将模型移到“Cube”的下方
文件名“worldSpace”也可重命名(如“贝纳勒斯_Model”)
3)录制动画
录制一个动画将“worldSpace”打开即可(本例中”贝纳勒斯_Model”打开)
二、不使用预制件
1)创建空物品
首先将模型的位置变为0,0,0,然后在模型下方创建一个空物体(右击 - “Create Empty”)
再在空物体的子集创建五个空物品(创建一个后可“CTRL+D”)
将五个空物体分别命名为“世界位置源”,“更新位置源”,“世界位置”,“更新位置”和“物品”,然后将“更新位置”放入“世界位置”的子集
然后将模型放入“物品”的子集,可以移动模型,但“物品”不可以移动,位置要是0,0,0
2)添加约束
<1>世界位置的约束
点击“世界位置”,在右方添加“Position Constraint”和“Rotation Constraint”组件,然后添加源为“世界位置源”
将“Position Constraint”的权重设为“0.5”,然后将俩组件的源的权重都设为“-1”
最后都激活
<2>更新位置的约束
点击“更新位置”,在右方添加“Parent Constraint”,添加源为“更新位置源”,然后点击激活
<3>物品的约束
点击“物品”,在右方添加“Parent Constraint”,添加源为“更新位置”,然后点击激活
3)制作动画
关闭动画:关闭“物品”,打开“更新位置”
打开动画:打开”物品“,关闭”更新位置“
4)动画器相关
新建图层,权重设为“1”,新建参数,类型为“Bool”
在图层中,先将“关闭”动画拖入作为默认值,然后再拖入打开动画,创建过渡,过渡为新建的参数