[工具笔记]1.UnityEngine.Plane

这篇具有很好参考价值的文章主要介绍了[工具笔记]1.UnityEngine.Plane。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

public struct Plane : IFormattable{}

Plane是存在于 3D 空间中,无限大的平坦表面,将空间划分为两半(称为半空间)。可方便地确定特定点处于两个半空间的哪一个中,以及确定该点与平面相距多远。

  • 此对象在unity并不可见,只是假设存在一个表面。
  • 法线矢量源自哪一侧十分重要,此表面会区分正面,法线指向方向是正面,法线反方向是反面。
  • 可以用于鼠标的射线定位点检测

构造函数

public Plane(Vector3 inNormal, Vector3 inPoint){}
public Plane(Vector3 inNormal, float d){}
public Plane(Vector3 a, Vector3 b, Vector3 c)

  • inNormal 生成平面的法线,必须是标准化矢量
  • d 距离原点的距离
  • inPoint 生成的位置
  • a,b,c生成的平面穿过给定的三个点。向下看着平面的上表面时,这些点呈顺时针顺序。

变量

distance

public float distance{get;set}

沿平面法线,从平面到原点的距离。

  • 这里是平面沿法线到原点的距离,这里的原点是世界(0,0,0)
  • 距离的正值是平面朝向原点。负距离值是平面背对原点。

flipped

public Plane flipped{get;}

返回朝向相反方向的平面

normal

public Vector3 normal{get;set;}

平面的法线向量

公共函数

ClosestPointOnPlane

public Vector3 ClosestPointOnPlane(Vector3 point){}

平面上最接近于point 的点

  • 沿法线投影到平面上的最近点

Flip

public void Flip(){}

反转平面

GetDistanceToPoint

public float GetDistanceToPoint(Vector3 point)

返回从平面到点的带符号距离。

GetSide

public bool GetSide(Vector3 point){}

点是否处于平面的正向?

  • 当与平面重合时返回flase

Raycast

public bool Raycast(Ray ray, out float enter){}

使射线与平面相交

  • enter为沿着射线,相对于射线与平面的相交处的距离。
  • 如果射线与平面平行,则函数返回 false 并将enter设置为零
  • 如果射线指向相反方向也就是是平面背面,则函数返回 false并将enter设置为沿着射线的距离为负数。
  • 可以通过ray.GetPoint(enter)获取相交于平面的点。

SameSide

public bool SameSide(Vector3 inPt0, Vector3 inPt1){}

两个点是否处于平面的相同侧?

Set3Points

public void Set3Points(Vector3 a, Vector3 b, Vector3 c){}

使用位于其中的三个点设置平面。向下看着平面的上表面时,这些点呈顺时针顺序。
unity中plane用法,萌新Unity,unity,游戏引擎

SetNormalAndPosition

public void SetNormalAndPosition(Vector3 inNormal, Vector3 inPoint){}

使用位于其中的一个点设置平面,该点沿着法线以便确定其方向。

  • inNormal必须是标准化矢量

Translate

public void Translate(Vector3 translation){}

在空间中移动平面

静态函数

Translate

public static Plane Translate(Plane plane, Vector3 translation)

在空间中移动平面并返回文章来源地址https://www.toymoban.com/news/detail-701085.html

  • 会new一个新的Plane

到了这里,关于[工具笔记]1.UnityEngine.Plane的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity Shader】Plane实现风格化水

    写在前面 长文警告!!!!! 很久没更新博客了,,这次是要做一个风格化水效果,是基于Plane着色实现水面效果。 项目:Unity 2017.4.40f1 Build-in,因此实现过程会跟URP有些出入(例如获取相机深度图等等),但思路都是一样的。 以《RIME》 和《原神》为例: 想实现的是二者

    2024年02月08日
    浏览(37)
  • 论文笔记:tri-plane 【持续更新】

    论文名称: Efficient Geometry-aware 3D Generative Adversarial Networks Project page: https://github.com/NVlabs/eg3d 任务: 从一堆单视角的2D图像中生成有效的三维表达。 途径: 混合的显式与隐式三维表达; dual-discremination的训练策略,以保持神经渲染之间的一致性。 为生成器引入 pose-based的条件

    2024年02月02日
    浏览(39)
  • Unity报错:InvalidOperationException:You are tring to read lnput using the UnityEngine. ……的解决办法

    问题描述: 我在运行steam VR的Interaction_Example时报错,其中unity为2021.3.6f1c1,steam VR(2.7.3),头显为HTC Vive pro2。报错具体内容如下: InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings. UnityEngine

    2024年02月12日
    浏览(43)
  • Unity Shader编辑器工具类ShaderUtil 常用函数和用法

    Unity的Shader编辑器工具类ShaderUtil提供了一系列函数,用于编译、导入和管理着色器。本文将介绍ShaderUtil类中的常用函数和用法。 函数签名: public static bool CompileShader(string source, out string error); CompileShader函数用于编译一个着色器。它接受一个字符串参数source,表示要编译的着

    2024年02月14日
    浏览(35)
  • Unity 编辑器选择器工具类Selection 常用函数和用法

    点击封面跳转下载页面 在Unity中,Selection类是一个非常有用的工具类,它提供了许多函数和属性,用于操作和管理编辑器中的选择对象。本文将介绍Selection类的常用函数和用法,并提供相应的示例代码。 功能: 获取或设置当前活动的上下文对象。 示例代码: 功能: 获取或

    2024年02月14日
    浏览(45)
  • Unity 编辑器预制体工具类PrefabUtility 常用函数和用法

    在Unity中,预制体(Prefab)是一种非常有用的工具,它允许我们创建可重复使用的对象和场景元素。Unity提供了许多内置的工具和函数来处理预制体,其中一个重要的类就是PrefabUtility。PrefabUtility类提供了一系列函数,用于创建、实例化和管理预制体。在本文中,我们将介绍

    2024年02月14日
    浏览(42)
  • 【Unity3D】Unity 脚本 ③ ( C# 脚本的执行入口函数 | 获取当前游戏物体及物体名称 | 获取游戏物体的 Transform 组件数据 | UnityEngine 命名空间简介 )

    在 C# 脚本中控制 游戏物体 GameObject 运动 , 要先获取该物体 , 然后 修改其 Transform 组件的属性 ; 在 游戏开始运行后 , 会自动执行 游戏物体 GameObject 上的 C# 组件代码 , 程序入口是 MonoBehaviour#Start() 函数 ; 在 C# 脚本中 , 主要的内容都在 Start() 函数 中实现 ; 在 C# 脚本中 , 游戏物体

    2023年04月12日
    浏览(81)
  • 【Unity小技巧】最简单的UI设置适配方案,萌新必看

    这期来讲一个简单的UI设计方案,很多同学可能搞不懂锚点、轴心这些概念,导致做好的UI在别人的设备上,乱跑或者是重叠,或者是参加游戏老发时间比较紧来不及做适配,都可以来试试这个方法,通过填充边框来保持游戏画面的原始比例,所以它的缺点也很明显,在一些移

    2024年02月11日
    浏览(33)
  • python萌新爬虫学习笔记【建议收藏】

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。 为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章

    2024年02月08日
    浏览(46)
  • 【学习笔记】Unity基础(十)【Unity界面之Scene窗口工具栏】

    转载请注明出处:🔗https://blog.csdn.net/weixin_44013533/article/details/131707918 主要参考: 官方手册 Scene视图 注:本文使用的unity版本是2021.3.25f Scene 视图是正在创建的世界的交互式视图。Scene 视图可用于选择和定位景物、角色、摄像机、光源和所有其他类型的游戏对象。 本节将详细

    2024年02月06日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包