我创建了一个空的GameObject(名为FileCabinet),并指定了4个预置作为子对象(CabinetFrame、Drawer01、Drawer02和Drawer03)。
我希望能够单击任何抽屉来打开它们,但到目前为止,我所尝试的一切都会在单击项目时返回父GameObject FileCabinet,而不是任何子项。
当任何抽屉子对象被单击时,调用方法的最佳/最简单的方法是什么?
- 更新日期:**
@LoïcLeGrosFrère提供了一个解决方案,最终成功了。我最初遇到的问题是事件不触发,因为我的UI阻止了对3D文件柜对象的光线投射。我通过添加Canvas Group组件到Canvas并取消选中Blocks Raycasts来解决这个问题。但这禁用了我所有的UI组件。然后我将画布组组件添加到各个UI面板中,并选中忽略父组。我不确定这是否是处理光线投射冲突的正确方法,但它确实对我有效。
1条答案
按热度按时间zhte4eai1#
我认为最简单的方法是:
将
Physics Raycaster
组件添加到相机。使用
Input System UI Input Module
将Event System
添加到场景中。然后,将此脚本添加到您的抽屉中: