Skip to main content

固定世界物品

一、使用预制件

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”

在图层中,先将“关闭”动画拖入作为默认值,然后再拖入打开动画,创建过渡,过渡为新建的参数