前文:https://blog.csdn.net/Jaihk662/article/details/86749803(摄像机与Game视图)

一、利用摄像机创建射线

物理射线:从一个点往一个方向发射一根无限长的射线,当这根射线与场景中的其余的游戏物体的碰撞体组件相碰撞时射线结束,由于射线可以与物理组件 Collider 相交互,所以“射线”也称之为“物理射线”

射线的定义:Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition):

  1. Camera.main:Tag为"MainCamera"的摄像机 Camera 组件的引用。
  2. ScreenPointToRay(Vector3):摄像机组件对象下的一个方法,会返回一个指向Vector3,Ray类型的射线
  3. Input.mousePosition:鼠标所在的位置
  4. Ray:一个结构体,代表射线

检查射线与其他物体的碰撞:

Physics.Raycast(Ray, out RaycastHit):射线检查,检查射线Ray,如果它与场景中的物理碰撞了,返回值为真,并且将碰撞信息存储到 RaycastHit 类型的变量中(别忘了out参数的定义)

代码如下:实现鼠标左键销毁金币(将脚本移到主摄像机上)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraRay : MonoBehaviour
{RaycastHit hit;private Ray ray1;private void Start(){}private void Update(){Kill();}void Kill(){if (Input.GetMouseButtonDown(0))        //按下鼠标左键{ray1 = Camera.main.ScreenPointToRay(Input.mousePosition);      //使用主摄像机创建一个射线,瞄准你鼠标的所在位置if (Physics.Raycast(ray1, out hit))         //使用物理类检测射线的碰撞{if(hit.collider.gameObject.tag=="Coin")GameObject.Destroy(hit.collider.gameObject);        //如果碰撞的是金币,销毁掉}}}
}

效果如下:

Unity3D基础33:物理射线相关推荐

  1. 【Unity3D】发射(Raycast)物理射线(Ray)

    1 前言 碰撞体组件Collider 中介绍了 2 个碰撞体之间的碰撞检测,本文将介绍物理射线与碰撞体之间的碰撞检测.物理射线由 Ray 定义,通过 Physics.Raycast / Physics ...

  2. 【Unity3D基础教程】给初学者看的Unity教程(四):通过制作Flappy Bird了解Native 2D中的RigidBody2D和Collider2D...

    作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 在第一篇文章[Unity3D基础教程] ...

  3. Unity3D基础知识笔记

    Unity3D基础知识笔记 一.Unity简介 1)Unity3D概念 2)Unity3D的特点 二.Unity3D的发展历史 三.软件安装 一.Unity简介 1)Unity3D概念 Unity是由 ...

  4. Unity3D基础2:新建模型

    前文:https://blog.csdn.net/Jaihk662/article/details/86743037(Unity3D基础操作) 一.尺寸与方向 尺寸:默认的方块(Cube)长宽高都是1 ...

  5. 【Unity3D基础教程】给初学者看的Unity教程(零):如何学习Unity3D

    转自:https://www.cnblogs.com/neverdie/p/How_To_Learn_Unity3D.html(http://www.cnblogs.com/neverdie/) Un ...

  6. Unity3D基础知识之Camera摄像机及其属性

    Unity3D基础知识之摄像机Camera 一.简介 Camera:附加了摄像机Camera组件的游戏对象,向玩家捕获和显示世界的设备,同时在一个场景中摄像机的数量不限. 组件:Transform:变 ...

  7. unity物理射线之原理分析(擅码网学习笔记)

    @[TOC]unity物理射线之原理分析(擅码网学习笔记) using System.Collections; using System.Collections.Generic; using Unit ...

  8. Unity3D基础入门之粒子系统(属性介绍+火焰粒子系统案例制作)

    Unity3D基础入门之粒子系统(属性介绍+火焰粒子系统案例制作) 一.属性介绍 1.主面板Particle System (1)Duration:粒子发射周期 图中,5.00即在发射5秒后进入下一个 ...

  9. Unity3d基础知识之Texture纹理、Shader着色器、Material材质、Rendering Mode

    Unity3d基础知识之Texture纹理.Shader着色器.Material材质.Rendering Mode 一.纹理.着色器与材质 Texture(纹理):应用于网格表面上的标准位图图像.Un ...

最新文章

  1. JavaScript 运行机制详解:Event Loop
  2. Linux阶段总结shell脚本
  3. 期末离散数学复习稳过不挂指南(更新中)
  4. php柱状图html代码,html5生成柱状图(条形图)效果的实例代码
  5. sans serif_Sans和Serif相遇可爱
  6. python数据库连接池neo4j_在python中操作neo4j数据库的方法
  7. 基于jQuery或Zepto实现实时监控用户浏览信息
  8. Struts1和Struts2的特点、工作流程及差异性
  9. Teclast/台电32G SM3267AC H27UDG8M2MTR 量产记录
  10. transition动画
  11. 学生计算机编程比赛获奖感言,学生比赛获奖感言4篇
  12. Description Resource Path Location Type Archive for required library:xxxcan not or is not a vail zip
  13. 计算ndvi值需要的数据_MODIS计算NDVI注意事项
  14. 坚持学英语 -- 公司前台MM 一日英语小记
  15. Java课程设计-基于Java Swing的学生信息管理系统-版本二
  16. 数学上的表示“任意”和“存在”的符号
  17. Windows 7 专业版(SP1)32位操作系统安装Opencv 2.4.10
  18. NSSCTF ez_unserialize
  19. 不懂代码?没关系,照样可以做SaaS软件开发
  20. 炼丹志 | 2021显卡挑选指南

热门文章

  1. python从入门到放弃表情图-[python从入门到放弃]基于百度OCR的文字识别
  2. 车载语音识别,不只一句“hey Siri”
  3. 会聊天到底有多重要?汽车语音识别大盘点
  4. 前沿 | IBM语音识别已接近人类水平
  5. TypeScript简介
  6. 【java笔记】Iterator迭代器 增强for
  7. 【effective c++笔记】条款01 :视c++为一个语言联邦
  8. LeetCode 101对称二叉树
  9. android 蓝牙控制继电器——单片机控制端
  10. python pandas dataframe 不显示索引_python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)...