Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 同一物体上的联合多重对撞机_Unity3d_Unityscript_Unity3d 2dtools - Fatal编程技术网

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。”---这是我要查找的信息,谢谢!