查看: 1210|回复: 0
打印 上一主题 下一主题

[其他] Ray射线的代码

[复制链接]

9903

主题

126

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
53480
精华
316

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2016-2-26 23:21:38 |只看该作者 |倒序浏览

//下面代码演示了 射线只与地面层碰撞检测
    void Test7391()
    {
       Ray ray = Camera. main. ScreenPointToRay( Input. mousePosition); //射线,从摄像机到鼠标位置的一条射线
       RaycastHit raycastHit; //碰撞体信息
       int groundLayer = LayerMask.GetMask("Ground");//要碰撞的层,得到地面layer层级
    // if(Physics.Raycast(射线,碰撞体信息,射线长度多少米,要检测的碰撞层))
       if(Physics.Raycast(ray,out raycastHit,81f,1<< groundLayer))
        {
            //如果碰撞上了.
        }
       //如果不写 要检测的碰撞层 参数,那么就默认检测所有层
       //射线只排除地面层~(1<<groundLayer))
       //射线只检测地面和敌人层:假设地面的层级是5,敌人的层级是6,代码1 << 5 | 1 << 6)
       //射线只排除地面和敌人层~(1 << 5 | 1 << 6))
    }




分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-9-22 23:32 , Processed in 0.242383 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部