Unity3d 同一物体上的联合多重对撞机
我在同一个游戏对象上使用了几个盒子碰撞器,问题是,是否可以使用Unity3d 同一物体上的联合多重对撞机,unity3d,unityscript,unity3d-2dtools,Unity3d,Unityscript,Unity3d 2dtools,我在同一个游戏对象上使用了几个盒子碰撞器,问题是,是否可以使用 gameObject.getComponent().enabled=false 请记住,我有几个碰撞器,我希望其中一些保持启用状态,而其他的将被禁用。我要做的是创建空的子游戏对象[每个碰撞器一个游戏对象],并将碰撞器分配给它们,然后将标签分配给这些子游戏对象[在您的情况下,它们可以是'AlwaysActive'和'SwitchingActive'或您能想到的任何更好的名称] 然后在父级中,我将使用GetComponentsinChi
gameObject.getComponent().enabled=false
请记住,我有几个碰撞器,我希望其中一些保持启用状态,而其他的将被禁用。我要做的是创建空的子游戏对象[每个碰撞器一个游戏对象],并将碰撞器分配给它们,然后将标签分配给这些子游戏对象[在您的情况下,它们可以是'AlwaysActive'和'SwitchingActive'或您能想到的任何更好的名称] 然后在父级中,我将使用
GetComponentsinChildren
查找所有碰撞器,并检查游戏对象(相应碰撞器)的标记是否符合我的要求。如果符合,我将执行我所需的任务,否则跳过它
注:
子游戏对象上的碰撞器不会在父脚本中调用
OnTriggerEnter
或OnCollisionEnter
。我使用委托策略将子游戏对象中的碰撞获取到父游戏对象中。您可以通过GetComponents
(或GetComponentsInChildren
)找到它们,但您如何区分它们呢?在这种情况下,我经常附加一个额外的脚本,通过我在inspector中设置的列表/数组跟踪其他组件。是的,这正是我希望在unity 5中,碰撞器已经有编号或命名的问题……真令人沮丧:/you can只需将每个碰撞器保存在一个数组中,然后就可以逐个访问它们。您必须知道哪个碰撞器是哪个碰撞器,还是只需要在数组中创建一个碰撞器,以便使用索引访问它们?具体来说,问题已经解决了,因为我只需要3个碰撞器,就可以创建一个多边形+长方体+圆形,然后很容易引用每个碰撞器单独一个,但我假设对于3个以上的碰撞器,碰撞器阵列是必须的“注意:子游戏对象上的碰撞器在父脚本中不调用OnTriggerEnter或OnCollisionEnter。”---这是我要查找的信息,谢谢!