Unity3d·射线·射线检测碰撞

原创 2015年11月19日 18:41:09

做2个Cube,成同意竖直线上
这里写图片描述

上面的Cube设置刚体RigidBody(会受重力影响掉落)
这里写图片描述

新建一个C#脚本把它赋给Cube(在上的那个),脚本内的Update方法如下:

    void Update(){
        float distance = 3f;
        Ray ray = new Ray (this.transform.position, Vector3.down);//新建射线
        Debug.DrawRay(ray.origin, ray.direction*distance, Color.green);//画出射线,在Scene窗口里可见,Game窗口里不可见
        RaycastHit hit;
        if (Physics.Raycast (ray, out hit, distance)) {//返回true则表示射线碰撞到物体
            Debug.Log(""+hit.collider.name+","+hit.collider.tag);
            this.GetComponent<Rigidbody> ().AddForce (Vector3.up * 100f);
        }
    }

运行效果如下:
这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

[Unity3D]射线碰撞检测+LayerMask的使用

射线:射线是3D世界中一个点向一个方向发射的一条无终点的线,在发射轨迹中与其他物体发生碰撞时,它将停止发射 。用途:在unity中射线应用范围比较广, 多用于碰撞检测(如:子弹飞行是否击中目标)、角色...

Unity3D【碰撞与射线】

忽略碰撞      有些时候我们不想让指定的两对象发生碰撞,即要忽略他们的碰撞。     忽略碰撞情况下的限制: 1. 保存场景时忽略状态不能保存...

unity3d中固定视角射线碰撞以及使障碍物透明

因为之前有学习过DX9,处理方式为从摄像机处向玩家所在位置反射一条射线,如果射线撞上了其他物体,则改变该物体的alpha值,使之透明。unity3d作为一款引擎存在让这个问题变的无比的简单,因为几乎要...

Unity3D总结:关于射线碰撞

方法一:Physics.Raycast 光线投射 1.static function Raycast (origin : Vector3, direction : Vector3, distance ...

Unity 3D中的射线与碰撞检测

在我们的游戏开发过程中,有一个很重要的工作就是进行碰撞检测。例如在射击游戏中子弹是否击中敌人,在RPG游戏中是否捡到装备等等。在进行碰撞检测时,我们最常用的工具就是射线,Unity 3D的物理引擎也为...

Unity3D射线检测如何使用Layers和LayerMask

在Unity中用int32数据类型来表示32个Layer层,int32表示二进制一共有32位(0—31)。在Unity中每个GameObject都有Layer属性,默认的Layer都是Default。...

Unity3D的射线检测Physics.Raycast

Raycast(Vector3 origin, Vector3 direction, out RaycastHit hitInfo); Camera.main.ScreenPointToRay()

unity3D 从摄像机发射射线,检测画线

最近做项目的时候,有一个需要从摄像机发出一条射线,当射线检测到有碰撞物体的时候,点击鼠标左键开始画线。我是创立了一个平板drawing,当然Cube什么的也是可以的。                ...

Unity3D Ray射线

  • 2013年08月24日 22:00
  • 66KB
  • 下载

3D模型下的鼠标拣选和碰撞检测-射线与圆的相交算法

3D模型下的鼠标拣选和碰撞检测-射线与圆的相交算法
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unity3d·射线·射线检测碰撞
举报原因:
原因补充:

(最多只允许输入30个字)