伊织萌 2023-02-19 04:06 采纳率: 100%
浏览 32
已结题

为什么对于生成实例化的预制体, Physics.OverlapBox获取不到?预先方放在场景中的就可以获取

为什么对于生成实例化的预制体, Physics.OverlapBox获取不到?
注意:是同一个预制体。事先放在场景中的预制体,就可以获取到。用代码实例化出来的预制体,就获取不到。

if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition),
                   out hitInfo, 1000, 1 << LayerMask.NameToLayer("Ground")))
                {
                    Vector3 center = new Vector3((hitInfo.point.x + beginWorldPos.x) / 2, 2, (hitInfo.point.z + beginWorldPos.z) / 2);
                    Vector3 halfExtents = new Vector3(Mathf.Abs(hitInfo.point.x - beginWorldPos.x) / 2, 2, Mathf.Abs(hitInfo.point.z - beginWorldPos.z) / 2);
                    Collider[] colliders = Physics.OverlapBox(center, halfExtents);//获取的Collider
//对于实例化出来的预制体,获取不到Collider,但是对于预先放置好在场景中的预制体,colliders里又有。

并且,好像如果点了Play后,在游戏中同时获取“事先放的”和“实例化生成的”物体,那么实例化生成的就会恢复正常,可以获取(明天在测验确认一下)。很神奇。

  • 写回答

2条回答 默认 最新

  • 伊织萌 2023-02-19 18:59
    关注

    我知道了,是1 << LayerMask.NameToLayer("Ground")的问题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月21日
  • 已采纳回答 2月21日
  • 创建了问题 2月19日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改