can see obj检测不到
排查:
1.两个collider和一个rigidbody都有,满足基本碰撞条件
2.树的执行优先级正确(运行时任务由圆圈圈住,表示一直在监测任务)
3.再次运行场景尝试,发现玩家角色起跳时候,can see 返回true,这就可能是投放出来的射线有问题(玩家太矮,看不到?),调整一下can see obj里的offset结果就能正常看到了。
can hear obj检测不到
这个问题 整了半天哎~ 网上教程一般都是can see 没看到用到can hear的。
基本检查完之后,一头雾水。拿出演示场景里的仔细对比,发现:差别在于角色的audio source不在顶层,打开can hear obj的方法去找那个查找携带音源物体的方法发现:方法不会遍历子物体。
此时有两种解决方向:
1.写方法–遍历所有子物提查找音源再返回顶层物体—(物体多了,性能开销很大)
2.手动赋值直接携带音源的物体,再加一个返回顶层物体的方法。
返回顶层物体这个逻辑比较简单:父物体!=null就不断返回父物体.