@[TOC]unity物理射线之原理分析(擅码网学习笔记)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;///<summary>
///
///</summary>public class RayTest : MonoBehaviour
{private Ray ray;//射线private RaycastHit hit;//碰撞信息private void Start(){}private void Update(){CameraSendRay();}/// <summary>/// 主摄像机发射射线/// </summary>void CameraSendRay(){//按下鼠标左键发射射线if (Input.GetMouseButtonDown(0)){//使用主摄像机创建一根射线,射线的方向是我们鼠标点击的位置ray = Camera.main.ScreenPointToRay(Input.mousePosition);//使用物理类检查射线的碰撞!!!!注意这里是物理if (Physics.Raycast(ray, out hit)){//将碰撞的物体销毁掉GameObject.Destroy(hit.collider.gameobject);}}}/*物理射线相关方法 * 1.通过摄像机创建射线 演示:按下鼠标左键发射射线。* Camera.main 代表 tag 设置为“MainCamera”的摄像机的 Camera 组件的引用。* m_Camera.ScreenPointToRay(Vector3) 摄像机组件(对象)下的一个方法。 屏幕点转化为射线,这个方法会返回一个 Ray 类型的射线。* 这个屏幕点通常写鼠标的点击位置,这样的话,就代表从摄像机的位置开始,往 鼠标点击点这个方向,发射一根射线。 * Input.mousePosition 鼠标所在的位置值。* Ray 射线,一个结构体。 * 代码完整格式: ray = Camera.main.ScreenPointToRay(Input.mousePosition); 2.检查射线与其他物体的碰撞 RaycastHit 一个结构体,用于存储射线的碰撞信息。Physics.Raycast(Ray, out RaycastHit) 物理类下面有一个静态方法叫做 Raycast(),射线检查。 这个方法有 16 个重载方式,我们现在使用第 3 种重载方式。 第 3 种重载: 检查这根射线,如果射线与场景中的物理碰撞了,返回值为真,并且将碰撞信息 存储到 RaycastHit 类型的变量中。 物理射线使用步骤 第一步:创建一根射线。第二步:检查这根射线与其他物体的碰撞,得到碰撞信息。 第三步:通过碰撞信息对碰撞到的物体进行处理。*/
}

unity物理射线之原理分析(擅码网学习笔记)相关推荐

  1. bytebuddy实现原理分析 源码分析 (三)- advice 详解

    advice详解 八.advice 8.1 AsmVisitorWrapper 8.1.1 ForDeclareFields 8.1.1.1 Entry 8.1.1.2 DispatchingVisi ...

  2. bytebuddy实现原理分析 源码分析 (二)

    bytebuddy实现原理分析 &源码分析 四.字节码的操作(implementation ) pkg 4.1 bytecode :pkg 4.1.1 StackManipulation :c ...

  3. Apollo源码剖析学习笔记2

    Apollo 源码剖析学习笔记2 Talker-ListenerNode 目录中包含了 Node 对象.Reader 对象和 Writer 对象.Node 对象主要对应 Ros 中的 Node 节点, ...

  4. caffe源码c++学习笔记

    转载自:深度学习(七)caffe源码c++学习笔记 - hjimce的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/hjimce/article/details/ ...

  5. 深度学习(七)caffe源码c++学习笔记

    caffe源码c++学习笔记 原文地址:http://blog.csdn.net/hjimce/article/details/48933845 作者:hjimce 一.预测分类 最近几天为了希望深入 ...

  6. 免费学习机器学习和深度学习的源码、学习笔记和框架分享

    机器学习和深度学习的免费学习源码.学习笔记和框架分享 python笔记 源码 python导入模块的的几种方式 在python中,字典按值排序 python中set的基本常用方法 python取出fr ...

  7. 编译原理(龙书)学习笔记 第一章

    编译原理(龙书)学习笔记 第一章 1.1语言处理器 解释器(interpreter) : 编译器(compiler): 一个语言处理系统 练习 1.1.1:编译器和解释器之间的区别 1.1.2:相对优 ...

  8. 嵌入式之uboot源码分析-启动第一阶段学习笔记

    注: 以下的内容来自朱老师物联网大讲堂uboot部分课件 Uboot启动第一阶段start.S执行步骤 1.头文件包含 <config.h>(x210的各种宏定义) <version ...

  9. 青岛大学_王卓老师【数据结构与算法】Week04_12_案例分析与实现2_学习笔记

    本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频. 一方面用于学习记录与分享,另一方面是想让更多的人看到这么好的<数据结构与算法>的学习视频. 如有侵权,请留言作删文处理. 课程视频 ...

最新文章

  1. 机器学习(10)随机森林(预测泰坦尼克号旅客存活率)
  2. MYSQL 部分事务
  3. c#的Marshal
  4. 7-42 整型关键字的散列映射 (25 分)(思路加详解)兄弟们 来呀 写题呀
  5. 无人值守安装之cdrom_无人值守安装
  6. HTML5如何控制暂停播放停止
  7. 数据离散化 - 等宽等频聚类离散 - Python代码
  8. html xsl xml文件,用XSL显示XML文件看起来像HTML
  9. 深度学习系列(三)【人类语言处理--语音转换】
  10. Junit学习笔记(二): 源码分析(2)-命令和组合模式
  11. m6000查看端口状态_M6000常用维护命令
  12. 微信小程序-历史搜索记录保存与清空
  13. C语言实现三种死循环
  14. python oserror怎么解决_Python读取csv报错解决方法:OSError: Initializing from file failed
  15. 精益软件研发的秘密 IT大咖说 - 大咖干货,不再错过
  16. 2020年国赛密码学湖湘杯密码学第一题writeup
  17. 灰灰考研机试班 | 基础练习二 问题 B: 日历本 | 入门题-模拟 | 日期、星期相关计算
  18. 训练创新思维的方法:曼陀罗思考法
  19. 骨灰级玩家体验带你测试体验天使纪元OL折扣端
  20. 11.投资管理流程与投资者需求

热门文章

  1. Unity与3ds Max的单位关系(使用FBX文件)
  2. 使用python获取股票“净利润同比增长率”等“上市公司成长能力”数据
  3. IDEA 如何查看 class 文件反编译后的内容
  4. 从游戏机、计算机、智能手机的过去五十年 看VR和AR的未来五十年
  5. Python 中文的输入
  6. 【笔记】教学理论与教学模式、教学方法的区别于联系
  7. vtkDijkstraGraphGeodesicPath在曲面上寻找最短路径的应用
  8. 【STM32F429的DSP教程】第21章 DSP矩阵运算-加法,减法和逆矩阵
  9. CodeGear2007到CodeGear2009全系列自动破解工具更新到v1.0.0.237
  10. windows合并文本命令