【Unity】基于Obi的绳/杆渲染及ObiRopeExtrudedRenderer、ObiRopeLineRenderer、ObiRopeChainRenderer、ObiRopeMeshRende

这篇具有很好参考价值的文章主要介绍了【Unity】基于Obi的绳/杆渲染及ObiRopeExtrudedRenderer、ObiRopeLineRenderer、ObiRopeChainRenderer、ObiRopeMeshRende。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、绳/杆渲染

在每一帧结束时,绳子模拟完成后,渲染就开始了。有几个渲染组件可用,具有不同的外观和性能特征。它们中的大多数并不直接使用基于原始粒子的 rope 表示。相反,一个名为 ObiPathSmoother 的附加组件生成一个基于帧的绳子的中间表示(可选择抽取(decimated),平滑(smoothed )或扭曲(smoothed )),渲染器将其作为输入进行渲染

你不需要手动添加 ObiPathSmoother 组件,所有需要的渲染器都会自己添加它。

1.1 Obi路径平滑器(ObiPathSmoother)

三个重要的属性

1.1.1 抽取(Decimation)

阈值用于根据其曲率自适应地减少绳帧的数量。在内部,它使用了Rmer - Douglas - Peucker抽取算法的迭代变体。将decimation设置为零不会执行任何缩减。更高的值将从绳子的直线部分移除帧,使渲染更轻便。

下面的图片显示了在线框模式下使用 ObiRopeExtrudedRenderer 渲染的绳子,可以清楚地看到抽取的效果:

绳索模拟obi rope,游戏引擎,unity,游戏引擎

1.1.2 平滑(Smoothing)

平滑迭代应用于抽取后的绳几何。在内部,它使用了 Chaikin 的切角算法的封闭形式变体。将平滑设置为0将不执行任何平滑。更高的值将在现有帧之间插入额外的帧。将低“分辨率(粒子密度)”蓝图值与高“平滑”值相结合,可以生成由很少颗粒组成的视觉上令人愉悦的绳索。

绳索模拟obi rope,游戏引擎,unity,游戏引擎

1.1.3 部分捻/扭度(Section twist)

每个绳段的捻度。例如,如果您想制作一个链,其中每个链接相对于前一个扭曲90度,则此值应该为90。
绳索模拟obi rope,游戏引擎,unity,游戏引擎

1.2 四种Rope renderers(绳的渲染组件)

在路径平滑组件生成基于帧的绳子表示后,渲染器使用它来输出可见的几何形状。绳索和杆都支持4种不同的渲染组件:

  1. ObiRopeExtrudedRenderer:沿着绳子的主轴挤压ObiRopeSection资源。这是默认的渲染器。
  2. ObiRopeLineRenderer:沿着绳子的主轴生成一个面向摄像机的三角形带,类似于Unity的TrailRenderer。这通常比ObiRopeExtrudedRenderer更加节省性能。
  3. ObiRopeChainRenderer:沿绳段生成预制件。
  4. ObiRopeMeshRenderer:沿着绳子的路径变形网格的多个实例。这是最昂贵的渲染器,不支持调整大小或撕裂。

1.2.1 ObiRopeExtrudedRenderer (默认)

通过挤压 ObiRopeSection,沿着构成绳子的粒子生成光滑的连续网格。不需要手动创建网格或几何图形。所有这些都是自动生成的。

绳索模拟obi rope,游戏引擎,unity,游戏引擎

使用过程模式和默认绳索部分渲染绳索。

渲染器的参数:

  • UV锚(UV Anchor):纹理坐标原点所在的绳子上的点。它用标准化坐标表示:0是绳子的起点,1是绳子的终点。
  • UV缩放(UV Scale):缩放绳网格中的纹理坐标。
  • Normalize V(Normalize V):强制V纹理坐标在绳子开始处为0,在绳子结束处为V刻度。如果你不想让你的纹理沿着绳子平铺,而是与它一起拉伸,请启用此选项。比使用ObiRopeCursor来改变他们的长度有用。
  • 截面(Section):用于为网格横截面提供自定义形状。默认资源是一个8段圆,但您可以定义自己的形状。
  • 截面厚度刻度(Section thickness scale):根据颗粒半径缩放实际网格厚度。值为1将生成一个完全符合粒子半径的网格。较大的值将使网格比粒子表示更厚,较小的值将使网格更薄。

1.2.2 ObiRopeLineRenderer

生成一个面向摄像机的三角形条,类似于轨迹渲染。这比其他方法更加节省性能,但缺点是必须为每个渲染它的摄像机生成一次绳索网格(而不是为所有摄像机生成一次)。

绳索模拟obi rope,游戏引擎,unity,游戏引擎
使用线模式渲染的绳索。

该渲染器的参数:

  1. UV锚(UV Anchor):纹理坐标原点所在的绳子上的点。它用标准化坐标表示:0是绳子的起点,1是绳子的终点。
  2. 截面厚度比例(Section thickness scale):根据颗粒半径缩放实际网格厚度。值为1将生成一个完全符合粒子半径的网格。较大的值将使网格比粒子表示更厚,较小的值将使网格更薄。
  3. UV缩放(UV Scale):缩放绳网格中的纹理坐标。
  4. Normalize V(Normalize V ):强制V纹理坐标在绳子开始处为0,在绳子结束处为V刻度。如果你不想让你的纹理沿着绳子平铺,而是与它一起拉伸,请启用此选项。特别有用的绳索比使用ObiRopeCursor来改变他们的长度。

1.2.3 ObiRopeChainRenderer

在粒子之间的空间实例化自定义预制件。这就形成了一条由刚性链环组成的链条。您必须提供至少一个预制件作为链条。

绳索模拟obi rope,游戏引擎,unity,游戏引擎
绳索渲染使用链模式与链接形状的网格和节扭曲45度。

该模式的参数:

  1. UV锚(UV Anchor):沿着绳子开始预制循环的点。它用标准化坐标表示:0是绳子的起点,1是绳子的终点。
  2. 链接比例(Link scale):沿绳索实例化的预制件的比例。
  3. 随机链接(Randomize links):启用此选项可以从链链接列表中随机选择每个链接。禁用它以按照列表中提供的顺序生成链接。
  4. 链扣(Chain links):用于构建链扣的链扣预制件列表。
  5. 节捻度(Section twist):施加于每一节绳上的捻度,以度表示

1.2.4 ObiRopeMeshRenderer (最昂贵)

这是最灵活的渲染方法,但也是最昂贵的。它将采用自定义网格,并沿着绳索多次布局,使其变形以遵循绳索的形状和运动。此渲染模式不支持调整大小或撕裂绳索。

在运行时修改的任何网格必须在其导入设置中启用读/写。所以如果使用ObiRopeMeshRenderer,确保网格是可读的!

绳索模拟obi rope,游戏引擎,unity,游戏引擎
绳索渲染使用自定义网格模式与Unity的默认胶囊网格。

该模式的参数:文章来源地址https://www.toymoban.com/news/detail-786603.html

  1. 网格(Mesh):参考将被绳索变形的网格。
  2. 轴(Axis):网格轴(在模型空间中),将与绳索对齐。
  3. 体积缩放(Volume scaling):控制当绳子拉伸超过其静止长度时,网格将变形多少以尝试保持体积。
  4. 与绳子一起拉伸(Stretch with rope):如果启用,网格将与绳子一起挤压/拉伸。如果禁用,当网格长度超过或低于剩余长度时,网格将在绳子上“滑动”。
  5. 跨越整个长度(Span entire length):如果启用,网格将跨越绳子的整个长度,即使它必须沿着绳子轴拉伸或压缩。如果禁用,网格将沿着绳子轴保持其大小,而不管绳子的长度。
  6. 实例(Instances):沿绳重复使用网眼的次数。
  7. 实例间距(Instance spacing):网格实例之间的间隙大小。
  8. 偏移量(Offset):在第一个网格实例之前留下的初始间隙。
  9. 缩放(Scale):缩放网格实例。

到了这里,关于【Unity】基于Obi的绳/杆渲染及ObiRopeExtrudedRenderer、ObiRopeLineRenderer、ObiRopeChainRenderer、ObiRopeMeshRende的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Unity Shdaer 前向渲染与延时渲染

    目录 1.前向渲染Forward 1.1 渲染设置 1.2 两个pass块 1.3 Unity如何判断光源类型 1.4 性能影响 2.延时渲染Deffered 2.1 原理 2.2 两部分Shdaer 2.3 性能影响 2.4 不足 Unity中的渲染路径有多种,可以在Editor/ProjectSetting中的Graphics中进行调整。当取消掉Use Defaults时,可以在Rendering Path中进行切换

    2024年01月19日
    浏览(39)
  • 【Unity Shader】Unity前向渲染

    ForwardBase Pass(优先渲染),渲染一个逐像素平行光和所有的顶点/球面调和光,阴影只和平行光有关系,那阴影应该是这个Pass中实现的 ForwardAdd Pass(需要和Base配合使用,否则不生效),渲染剩余全部逐像素灯光 Unity会根据场景中各个光源的设置以及这些光源对物体的影响程

    2024年02月08日
    浏览(56)
  • 【Unity渲染】URP透明物体自身渲染穿插异常问题

    对于URP中的某个物体,我们如果希望他正反面都可以被渲染。 通常会有两种解决方案: 1.将网格设置为双面网格。(此种情况Mesh.RecalculateNormals计算结果可能会异常,解决可参考网格法线生成异常解决) 2.将材质设置为双面材质Render Face设置为Both 期望的结果: 异常结果 很明

    2024年01月20日
    浏览(38)
  • Unity URP渲染管线与内置渲染管线的性能差别

    首先,我们来了解一下Unity的内置渲染管线。内置渲染管线是Unity较早版本中使用的默认渲染管线,它使用的是传统的图形渲染技术。内置渲染管线提供了一系列的渲染功能,如阴影、反射、抗锯齿等。但是,由于其较为庞大且复杂的设计,它的性能相对较低。在高质量图形效

    2024年02月08日
    浏览(38)
  • Unity云图渲染效果

    根据有限元分析后处理结果(应力等),将云图效果在Unity中复现同样的效果 从有限元分析软件(Abaqus、Ansys等)将模型结点数据进行导出 Step1 通过C#根据结点(相当于模型顶点)数据大小将数据转化由红到蓝颜色区间的颜色(采用HSV色彩模型以便于获取纯色彩),获得一个

    2024年02月09日
    浏览(30)
  • Unity学习 渲染管线介绍

    SRP: (Scriptable Render Pipeline,可编程渲染管线/脚本化渲染管线),可以在Unity通过C#脚本调用API配置或执行渲染命令的方式来实现渲染流程,SRP将这些命令传递给Unity底层图形体系结构(low-level graphics architecture),然后再将指令发送给图形API(Graphics API),最终由GPU进行处理

    2024年02月04日
    浏览(37)
  • unity NPR 卡通渲染

    NPR是计算机图形学中的一类,即非真实感绘制(Non-photorealistic rendering),主要用于模拟艺术式的绘制风格,也用于发展新绘制风格,形式一般是卡通造影。 NPR是Unity中的一种非真实渲染技术,它使用一种称为\\\"NPR\\\"的算法来模拟非真实渲染效果。这种技术可以用于制作各种类型的

    2024年02月05日
    浏览(34)
  • Unity 渲染顺序

    Unity中的渲染顺序自上而下大致分为三层 渲染优先级 Camera depth Sorting Layer Order in Layer RenderQueue Camera depth:越小越先渲染(大的显示在小的前面) 如图:尽管Sphere距离摄像机较远,但由于Camera_Sphere depth大于Camera_Cube,所以最后Sphere显示在Cube的前面。 Sorting Layer/Order in Layer:越小越

    2024年02月13日
    浏览(43)
  • Unity光照渲染设置

    先看效果图   下面是设置 1、将【Edit - Player -Other Settings】Color Space这个调成Linear模式,有更好的阴影效果  2、光照Lighting的设置【Window-Rendering-Lighting Settings】 标注说明: Baked Global IIIumir 这个是GI 就是是否会有反射光线 Final Gather 这个是最后光照的计算,勾选之后光线根据贴图

    2024年02月15日
    浏览(41)
  • Unity的渲染

    Unity的渲染是通过使用Graphics API(Graphics Processing Interface)来实现的,常见的API有OpenGL和Direct3D。在Unity中, 渲染管线(Render Pipeline)负责渲染场景,其中包括三个主要阶段:几何体处理(Geometry Processing),光照计算(Shading)和输出(Output)。 在几何体处理阶段,Unity会根据场景中所有的

    2024年02月06日
    浏览(22)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包