2-6 光线投射

unity的事件系统采用光线投射的机制,用渲染一条名为“光线(Ray)”的假想直线来检测在场景内与其他对象的冲突。
输入模块使用(光线投射(RayCaster))组件,检测出应该为场景内那个对象发送的输入事件,光线根据指定屏幕坐标对场景内的对象进行光线投射,返回最接近画面的对象。
在unity中,除了上面针对图像元素的Graphic Paycaster组件,标准的Raycaster还有针对3D对象使用的Physics Raycaster组件以及针对2D对象使用的Physics 2D Raycaster组件



Physics Raycaster组件

可以通过Event Mask属性,设置作为光线投射对象的3D对象的层
该组件是对摄像机写入范围内对象进行投射的,因此需要附加Camera组件。



Physics 2D Raycaster组件

同上,还需要给目标2D对象设置碰撞机,在Event Mask属性中,可以指定作为光线投射对象的2D对象的层

碰撞机(Collider)是用来判读冲突的组件,因为形状不一样有(Box Collider)和(Sphere Collider)等

原文地址:https://www.cnblogs.com/bimg1999/p/12594657.html

时间: 2025-01-12 11:21:13

2-6 光线投射的相关文章

Raycasting光线投射

游戏开发人员可以使用光线投射,用于像瞄准,确定视线,测量距离之类的动作.Unity当中的Raycast的重载有很多.现在展示最常用的2中方法 bool Raycast( Vector3 origin , Vector3 direction , float distance ,LayerMask mask ); 参数解释 origin : 是光线的开始位置 direction : 光线的方向 distance : 光线行进的距离(可为null) mask : 确定光线会撞上哪一层(可为null)

光线投射算法与光线跟踪算法

原文:http://blog.csdn.net/changbaolong/article/details/8461704 光线跟踪计算机算法的一般描述 为了生成在三维计算机图形环境中的可见图像,光线跟踪是一个比光线投射或者扫描线渲染更加逼真的实现方法.这种方法通过逆向跟踪与假象的照相机镜头相交的光路进行工作,由于大量的类似光线横穿场景,所以从照相机角度看到的场景可见信息以及软件特定的光照条件,就可以构建起来.当光线与场景中的物体或者媒介相交的时候计算光线的反射.折射以及吸收. 光线跟踪的场景经常

体绘制(Volume Rendering)概述之4:光线投射算法(Ray Casting)实现流程和代码(基于CPU的实现)

转自:http://blog.csdn.net/liu_lin_xm/article/details/4850630 摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文 名“GPU编程与CG语言之阳春白雪下里巴人”     算法流程 图 47 展示了使用光线投射算法进行体绘制的实现流程. 首先要渲染出正向面深度图和背向面深度图,这是为了计算射线穿越的最大距离,做为循环采样控制的结束依据:然后在顶点着色程序中计算顶点位置和射线方向,射

Voreen(三) 光线投射参数介绍

本篇介绍光线投射的第二个个制Pass,光线合成的参数,对应于第一篇总的流程介绍中的Processor SingleVolumeRaycaster.可设置的参数如下: 1,Sampling Rate 采样率 采样率越大,所需要的绘制时间越久,一般来说图像质量也高. 2,Use Interpolation Coarseness:用户交互时,是否绘制一幅二维小图,再映射到窗口大小.我们知道光线投射算法和绘制图像大小紧密相关,绘制一幅三维的小图,再进行二维窗口贴图,速度能够大大地提高. 3, Inter

体绘制(Volume Rendering)概述之3:光线投射算法(Ray Casting)原理和注意要点(强烈推荐呀,讲的很好)

转自:http://blog.csdn.net/liu_lin_xm/article/details/4850609 摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文 名“GPU编程与CG语言之阳春白雪下里巴人” 15.1 光线投射算法原理 光线投射方法是基于图像序列的直接体绘制算法.从图像的每一个像素,沿固定方向(通常是视线方向)发射一条光线,光线穿越整个图像序列,并在这个过程中,对图像序列进行采样获取颜色信息,同时依据光线吸收

Unity3D 5.x 交互功能 - 光线投射、碰撞设置

1,光线投射碰撞:第一人称视线在预置范围内(如3米)和看到的物体发生碰撞 ① 检测光线投射碰撞的脚本添加在第一人称FPSController上 #pragma strict private var currentdoor:GameObject; var hit:RaycastHit; function Update(){ var fwd = transform.TransformDirection (Vector3.forward); //当光线投射与任何碰撞器交叉时为真,否则为假 if(Phy

游戏架构其九:光线投射和天空 { Raycast and Sky }

光线和天空能够大大增强游戏的画面效果,以下是实现: 1. 光线效果 Raycast #pragma once //======================================================================== // Raycast.h - implements a raycast into the rendered scene //==========================================================

游戏框架其九:网和着色器( Mesh and Shader )

网的重要作用可以导入3DMAX等创建的模型,到游戏中:着色器可以实现特定绚丽的效果.它们的实现如下 1. 网 Mesh的实现: #pragma once //======================================================================== // File: Mesh.h - classes to render meshes in D3D9 and D3D11 // 主要是导入3DMAX等软件生成的模型文件 基于Windows Dir

微软Hololens学院教程-Hologram 230-空间映射(Spatial mapping )

空间映射地图是将真实环境的环境信息扫描到设备中,使得全息对象可以识别真实场景环境,从而达到可以将虚拟对象与真实世界相结合的效果.这节教程主要学习内容如下: 使用Hololens扫描空间环境并将空间数据导入到开发计算机中. 学习利用shader给空间网格赋予材质以便其更容易被发现. 使用网格处理方法将网格变成简单的平面. 对全息对象可以放置的位置进行放置提醒,使得用户更容易的放置. 开发遮挡效果,即当全息对象被真实场景中的物体遮挡时,你仍然可以看见它,只不过它是线框模式的. 项目文件: Downl