语录:
独有英雄驱虎豹,更无豪杰怕熊罴
前言:
在我们做项目时,会遇到需要打开门,或者柜子的门,今天,我们就来学习一下关于门的控件。以模拟可以打开和关闭的门。我们将使用角度驱动器来创建此门控件。
正文:
步骤一:
首先我们需要在新的场景中做好准备工作, 也就是添加好:CameraRigs.UnityXR和CameraRigs.TrackedAlias两个游戏对象。
步骤二:
我们需要创建一个门框,这里我们先创建一个空物体,然后通过3个Cube叠放成一个门框,再分别进行命名
步骤三:
接下来就是加入我们的角度驱动器: Interactions.AngularJointDrive,
Tilia -> Prefabs -> Interactions -> Controllables -> PhysicsJoint -> Interactions.AngularJointDrive
步骤四:
这时,我们会发现,角度驱动器自带了一个Cube,然后我们找到这个Cube,将他的大小改成门的大小一样;
步骤五:
接下来就是修改角度驱动器上的参数,完成设置条件:
这时,我们还会发现一个问题,那就是门和门框都有碰撞器。这意味着门将与门框碰撞并开始产生不利影响。这时,我们就要告诉门框中的所有碰撞器忽略门中的所有碰撞器。只需要添加游戏对象:Mutators.CollisionIgnorer;
GameObject -> Tilia -> Prefabs -> Mutators -> Mutators.CollisionIgnorer
创建完成,我们需要把门框拖放到Mutators.CollisionIgnorer下面的Sources属性下面:
最后将游戏对象Interactions.AngularJointDrive拖放到Mutators.CollisionIgnorer下面的Targets属性下面就完成了: