射线碰撞

Physics.Raycast 光线投射

1.一个静态的发射射线的方法,在场景中投下可与所有碰撞器碰撞的一条光线。

参数解释:

origin:射线起始点

direction:射线方向

distance:射线长度

layerMask:只选定Layermask层内的碰撞器,其它层内碰撞器忽略。

返回布尔类型,当光线投射与任何碰撞器交叉时为真,否则为假。(注意:如果从一个球型体的内部到外部用光线投射,返回为假。 )这一点测试不成功!

2.在场景中投下可与所有碰撞器碰撞的一条光线,并返回碰撞的细节信息。Unity3D教程手册

Parameters参数

origin:在世界坐标,射线的起始点。

direction:射线的方向。

distance:射线的长度。

hitInfo:如果返回true,hitInfo将包含碰到器碰撞的更多信息。

layerMask:只选定Layermask层内的碰撞器,其它层内碰撞器忽略。

Returns:当光线投射与任何碰撞器交叉时为真,否则为假。

使用c#中out关键字传入一个空的碰撞信息类,然后碰撞后赋值。可以得到碰撞物体的transform,rigidbody,point等信息。

详细解释一下: LayerMask 层蒙版

每一个物体都有一个Tag和Layer标签,tag就是一个简单的标签,可以用来区分不同的物体,LayerMask的作用是可以选择性地过滤物体,例如当投射射线时,比如camera.cullingmask和光线投射时候。Unity3D教程手册

可以在TagManager中编辑tag和Layer。然后设置物体的Layer层级,在摄像机中设置camera.cullingmask,可以控制摄像机的渲染层级,用在射线上,可以控制射线碰撞什么,不碰撞什么。

//Raycast hit

RaycastHit hit;

LayerMask mask = 1 << 8;

void testRay(){

if(Physics.Raycast(transform.position,Vector3.right,out

hit,100, mask.value)){

Debug.DrawLine(transform.position,hit.point,Color.red,1);

}

}

上面的例子是从当前脚本所绑定的物体做标点向右发射长度100的射线,射线碰撞层级为8,其他层级忽略。为了测试,我们在碰撞到物体后画一条红色线条,表示射线,停留一秒钟。上面这些是射线的一些基本操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246266.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPU Gems2 - 3 几何体实例化的内幕(Inside Geometry Instancing)

文章部分内容摘自 https://zhuanlan.zhihu.com/p/38411575 【章节概览】 本章讨论了在Direct3D中渲染一个几何体的许多独特实例&#xff08;Instance&#xff09;的技术细节问题&#xff0c;对几何体实例&#xff08;Geometry Instancing&#xff09;的技术内幕进行了分析。 【…

Unity所有移动方法总结

简介 在Unity3D中&#xff0c;有多种方式可以改变物体的坐标&#xff0c;实现移动的目的&#xff0c;其本质是每帧修改物体的position。 通过Transform组件移动物体 Transform 组件用于描述物体在空间中的状态&#xff0c;它包括 位置(position)&#xff0c; 旋转(rotation)和…

GPU Gems2 - 4 分段缓冲(Segment Buffering)

文章参照该文 https://zhuanlan.zhihu.com/p/38411575 【章节概览】 本章介绍了一项可以明显减少一个显示帧中渲染的批次数目的技术——分段缓冲&#xff08;segment buffering&#xff09;&#xff0c;以及其改进。 【核心要点】 分段缓冲&#xff08;segment buffering&…

tcp 和 dcp 的几大区别

TCP&#xff0c;Transmission Control Protocol的缩写&#xff0c;即传输控制协议。 DCP&#xff0c;User Data Protocol 的缩写&#xff0c;即用户数据报协议。 顺便提一下ARP&#xff0c;即地址解析协议。 区别&#xff1a; 1、TCP协议是有连接的&#xff0c;开始传输数据之…

GPU Gems2 - 6 用多流来优化资源管理(Optimizing Resource Management with Multistreaming)

本文摘自https://zhuanlan.zhihu.com/p/38411575 【章节概览】 现代实时图形应用程序最困难的问题之一是必须处理庞大的数据。复杂的场景结合多通道的渲染&#xff0c;渲染起来往往会较为昂贵。 首先&#xff0c;多流&#xff08;Multistreaming&#xff09;技术由微软在Dire…

unity中世界坐标与局部坐标

本人学生一枚&#xff0c;刚接触unity3D&#xff0c;若有理解得不对的地方&#xff0c;还望各路大神不吝赐教~ unity中的坐标系统包括世界坐标(World Space)&#xff0c;屏幕坐标(Screen Space)&#xff0c;视口坐标(View Space)以及GUI坐标系统。世界坐标(World Space)场景中添…

四元数(Quaternion)和欧拉角(Eulerangle)

欧拉旋转、四元数、矩阵旋转之间的差异 除了欧拉旋转以外&#xff0c;还有两种表示旋转的方式&#xff1a;矩阵旋转和四元数旋转。接下来我们比较它们的优缺点。 欧拉角 优点&#xff1a;三个角度组成&#xff0c;直观&#xff0c;容易理解。 优点&#xff1a;可以进行从一个方…

Bent Normal

https://blog.csdn.net/BugRunner/article/details/7272902 https://blog.csdn.net/weixin_33719619/article/details/87467892

GameObject数组逐渐消失

GameObject数组逐渐消失 我做了10个物体需要每隔俩秒消失一个。 我是这样做的&#xff1a; 我先梳理出大概我需要怎么做的&#xff0c;第一步先引用预制体然后再创建一个数组最后是代码主体。 在start里先把起始时间设好&#xff0c;然后再看Nos方法time是让他时间自己在加&am…

Unity SRP自定义渲染管线 -- 1.Custom Pipeline

该篇是对Catlike Coding这篇文章的概要总结&#xff0c;本人能力有限&#xff0c;如果有不正确的地方欢迎指正 https://catlikecoding.com/unity/tutorials/scriptable-render-pipeline/custom-pipeline/ 通过这篇文章&#xff0c;你将学习到 Create a pipeline asset and i…

GPU Gems2 - 7 带位移映射的细分表面自适应镶嵌

文章参照该文 https://zhuanlan.zhihu.com/p/38411575 【章节概览】 这章介绍了如何使用可选的位移贴图&#xff08;Displacement Mapping&#xff09;执行Catmull-Clark细分曲面&#xff08;Catmull-Clark Subdivision Surfaces&#xff09;的视图相关的自适应镶嵌&#xff0…

GPU Gems2 - 8 使用距离函数的逐像素位移贴图

【章节概览】 距离贴图&#xff08;distance map&#xff09;是一种在像素着色器中给对象添加小范围位移映射的技术。这章中详细介绍了使用距离函数的逐像素位移贴图&#xff08;Per-Pixel Displacement Mapping with Distance Functions&#xff09;技术。 【核心要点】 这章中…

GPU Gems2 - 9 S.T.A.L.K.E.R.中的延迟着色(Deferred Shading in S.T.A.L.K.E.R.)

关于延迟着色的详细技术及最新渲染管线技术可以参考我的这篇文章&#xff1a; https://blog.csdn.net/yinfourever/article/details/90263638 【章节概览】 本章是对《S.T.A.L.K.E.R.》中所用渲染器的几乎两年的研究和开发的事后剖析。该渲染器完全基于延迟着色&#xff08;De…

GPU Gems2 - 10 动态辐照度环境映射实时计算

【章节概览】 环境映射&#xff08;Environment Maps&#xff09;是常用的基于图像的渲染技术&#xff0c;用来表现以空间上不变的球面函数。本章描述了一种完全GPU加速的方法&#xff0c;来生成一个环境映射在图形上特别有趣的类型——辐照度环境映射&#xff08;Irradiance …

GPU Gems2 - 11 近似的双向纹理函数(Approximate Bidirectional Texture Functions)

【章节概览】 本章介绍的内容关于如何较容易地采集和渲染的真实材质&#xff0c;如布料、羊毛和皮革等的技术。这些材质难以用早先的技术渲染&#xff0c;它们基本来与兼得的纹理映射。本章的目标是在采集上花费少量的努力&#xff0c;在渲染上花费少量的技术&#xff0c;但是仍…

GPU Gems2 - 12 基于贴面的纹理映射(Tile-Based Texture Mapping)

本文内容摘自https://zhuanlan.zhihu.com/p/38411575 【章节概览】 这章介绍了一个基于贴面的纹理映射&#xff08;Tile-Based Texture Mapping&#xff09;系统&#xff0c;用来从一组贴面生成一个大的虚拟纹理。 【核心要点】 使用纹理贴面&#xff08;Texture Tiling&#…

一些图形学中的数学应用

包围体是一个简单的几何空间&#xff0c;里面包含着复杂形状的物体。为物体添加包围体的目的是快速的进行碰撞检测或者进行精确的碰撞检测之前进行过滤&#xff08;即当包围体碰撞&#xff0c;才进行精确碰撞检测和处理&#xff09;。包围体类型包括球体、轴对齐包围盒&#xf…

GPU Gems2 - 13 动态环境光遮蔽与间接光照(Dynamic Ambient Occlusion and Indirect Lighting)

本文摘自https://zhuanlan.zhihu.com/p/38411575 【章节概览】 这章在讲大家很熟知的环境光遮蔽&#xff08;Ambient Occlusion , AO&#xff09;。 文中的描述是&#xff0c;介绍了一种用于计算散射光传递的新技术&#xff0c;并演示如何用它来计算运动场景中的全局光照。主要…

解析Monte-Carlo算法(基本原理,理论基础,应用实践)

转载自https://www.cnblogs.com/leoo2sk/archive/2009/05/29/1491526.html 引言 最近在和同学讨论研究Six Sigma&#xff08;六西格玛&#xff09;软件开发方法及CMMI相关问题时&#xff0c;遇到了需要使用Monte-Carlo算法模拟分布未知的多元一次概率密度分布问题。于是花了几天…

皮肤渲染技术

两篇极好的文章&#xff1a; https://zhuanlan.zhihu.com/p/42433792 https://zhuanlan.zhihu.com/p/27014447