fangzhuozhen
板砖的小方
采纳率0%
2017-11-14 16:23 阅读 4.8k

Unity3d制做FPS,怎么从射击准星发出一条射线检测碰撞??

Unity3d制做FPS,怎么从射击准星发出一条射线检测碰撞??本人学生党一枚,正在尝试写一个fps,求各位大佬解答

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • u013025452 依然灰太狼 2017-11-14 19:04

    前提条件:1、知道准星在屏幕上的坐标;2、知道准星的世界坐标
    对上述两个条件 成立一个即可
    对于1:
    Ray ray = Camera.main.ScreenPointToRay(准星x,准星);
    Physics.Raycast(ray);
    对于2:
    Ray ray = new Ray(准星world_x,准星world_y,准星world_z,方向);
    Physics.Raycast(ray);

    当然还要设置碰撞层 Physics.Raycast有多个重载方法,layerMask就是碰撞层了

    点赞 评论 复制链接分享

相关推荐