zoukankan      html  css  js  c++  java
  • 关于Unity3D射线原理和应用

    射线:射线是3D世界中一个点向一个方向发射的一条无终点的线,在发射轨迹中与其他物体发生碰撞时,它将停止发射。

    射线应用范围比较广,比如获取3D世界的物体位置(X,Y,Z坐标),获取游戏对象(子弹射击游戏的例子)等,

    下面有一个小例子:说明(将以下脚本拖拽到相机上,单击左键就会发射一条射线,倘若射线与物体相撞,请留意你的

    控制台会输出被射线碰撞的物体的名称)

    using UnityEngine;
    using System.Collections;

    public class NewBehaviourScript : MonoBehaviour {

     void Start () {
     
     }
     
     void Update () {
      if(Input.GetMouseButton(0))
      {
          Ray ray =Camera.main.ScreenPointToRay(Input.mousePosition);//定义一条从相机视角处发出的射线
          RaycastHit hit;
          if(Physics.Raycast(ray,out hit,100))
       {
              Debug.DrawLine(ray.origin,hit.point);//输出射线(注意在场景视图下可看见)
              var gameobject=hit.collider.gameObject.name;
              print(gameobject);//输出射线检测到的物体名称
          }
      }
     }
    }

  • 相关阅读:
    python-单链表的实现
    python-树形结构和遍历
    python四种简单排序
    python数据类型
    python安装和配置
    Js 中的false,零值,null,undefined和空字符串对象
    console和chrom-tool
    js中声明Number的五种方式
    vue下拉搜索
    canvas猜数游戏
  • 原文地址:https://www.cnblogs.com/niguang/p/Ray.html
Copyright © 2011-2022 走看看