zoukankan      html  css  js  c++  java
  • Unity3D中的射线与碰撞检测代码

    两种不同写法的射线检测

    1.获取鼠标点击的物体

    if (Input.GetMouseButtonDown(0))
    {
      Ray ray = MainCamera.ScreenPointToRay(Input.mousePosition); //以摄像机为原点创建一条射线
      RaycastHit hit;
      if (Physics.Raycast(ray, out hit)) //点击到了带有碰撞体的物体
      {

        Transform clickObjTrans = hit.transform; //获取点击的物体

        if (clickObjTrans.name == "Manager")
        {
          
        }

         Debug.DrawLine(ray.origin, hitInfo.point,Color.red);//画出射线

      }

    }

    2.获取鼠标点击的物体

    if (Input.GetMouseButtonDown(0))
    {
      // 获取鼠标点击位置

      //创建射线;从摄像机发射一条经过鼠标当前位置的射线

      Ray ray = firstCamera.ScreenPointToRay(Input.mousePosition);
      RaycastHit hitInfo = new RaycastHit(); //发射射线
      if (Physics.Raycast(ray, out hitInfo))
      {
        //获取碰撞点的位置
        if (hitInfo.collider.name == "Ground")
        {
         
        }
        Debug.DrawLine(ray.origin, hitInfo.point, Color.red);
      }

    }

  • 相关阅读:
    Linux命令笔记
    拆功放板笔记
    从输入 URL 到页面加载完的过程中都发生了什么---优化
    python学习笔记(三)
    python学习笔记(二)
    python学习笔记(一)
    公交wifi运营平台分析
    testNG小试牛刀
    maven小项目注册服务(三)--web模块
    用maven进行测试
  • 原文地址:https://www.cnblogs.com/Study088/p/7363935.html
Copyright © 2011-2022 走看看