Unity3D

A collection of 1256 posts
Unity3D

Unity3D:遮挡区域

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 遮挡区域 使用 Occlusion Area 组件可以定义遮挡剔除系统中的视图体积。视图体积是摄像机可能处于运行时的场景区域。在烘焙时,Unity 在视图体积内生成更高精度的数据。在运行时,当摄像机位于视图体积内的时候,Unity 进行更高精度的计算。 如果尚未在场景中定义任何视图体积,Unity 将在烘焙时创建一个视图体积,其中包含标记为 Occluder Static 或 Occludee Static 的所有场景几何体。在大型或复杂场景中,这可能导致不必要的大量数据、漫长的烘焙时间以及资源密集的运行时计算。为了避免发生这种情况,请将遮挡区域 (Occlusion Areas) 放置在场景中,从而定义摄像机可能处于的区域的视图体积。 使用遮挡区域 (Occlusion Area) 组件来定义视图体积 1. 将 Occlusion Area 组件添加到场景中的空游戏对象 2. 在 Inspector 窗口中,配置
2 min read
Unity3D

Unity3D:遮挡剔除和场景加载

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 遮挡剔除和场景加载 在运行时,无论打开了多少个场景,Unity 一次仅加载一个遮挡剔除数据资源。因此,必须根据计划是一次加载一个场景还是一次加载多个场景,从而以不同方式准备遮挡剔除数据。 一次加载一个场景 如果使用 LoadSceneMode.Single 一次加载一个场景,则必须分别按以下方式烘焙每个场景的遮挡剔除数据: 1. 在 Unity Editor 中,打开需要烘焙遮挡剔除数据的单个场景。 2. 烘焙场景的数据。Unity 会生成数据并将保存为 Assets/[场景名称]/OcclusionCullingData.asset。Unity 会将对此资源的引用添加到打开的场景中。 3. 保存场景。 4. 对每个场景重复步骤 1、2 和 3。 在运行时,按以下方式加载场景: 1. 将场景加载为项目的默认场景,或者使用 LoadSceneMode.Single 来加载场景。
3 min read
Unity3D

Unity3D:对动态游戏对象使用遮挡剔除

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 对动态游戏对象使用遮挡剔除 游戏对象可以是静态的,也可以是动态的(非静态)。静态游戏对象和动态游戏对象在 Unity 的遮挡剔除系统中的行为不同: * Unity 可以将静态游戏对象作为静态遮挡物和/或静态被遮挡物烘焙到遮挡剔除数据中。 * Unity 无法将动态游戏对象烘焙到遮挡剔除数据中。动态游戏对象可以在运行时充当被遮挡物,而不能充当遮挡物。 要确定动态游戏对象是否充当被遮挡物,可以在任何类型的渲染器组件上设置 Dynamic Occlusion 属性。启用 Dynamic Occlusion 后,渲染器在摄像机的视图中被静态遮挡物 (Static Occluder) 阻挡时,Unity 会剔除渲染器。禁用 Dynamic Occlusion 后,渲染器在摄像机的视图中被静态遮挡物 (Static Occluder) 阻挡时,Unity 不会剔除渲染器。 默认情况下会启用 Dynamic Occlusion。为了获得特定的效果,例如在墙后的角色周围绘制轮廓,可能需要禁用 Dynami
2 min read
Unity3D:开始使用遮挡剔除
Unity3D

Unity3D:开始使用遮挡剔除

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 开始使用遮挡剔除 本页介绍如何设置场景以进行遮挡剔除、烘焙遮挡剔除数据以及对结果进行可视化。 设置场景 在开始之前,请确定场景中所有要设定为静态遮挡物 (Static Occluder)(这些游戏对象不会移动,但会阻挡后面的游戏对象)和静态被遮挡物 (Static Occludee)(这些游戏对象不会移动,但会被静态遮挡物遮挡)。一个游戏对象可以同时是静态遮挡物和静态被遮挡物。 适合作为静态遮挡物的游戏对象包括中型到大型的实体游戏对象(例如墙壁或建筑物)。要被设定为静态遮挡物,游戏对象必须满足以下条件: * Have a Terrain or Mesh Renderer component * 不透明 * 在运行时不移动 请注意,如果使用了 LOD 组,则 Unity 会使用静态遮挡物的基础细节级别游戏对象 (LOD0) 来确定要遮挡的对象。如果游戏对象的轮廓在 LOD0 和其他 LOD 级别之间变化很大,这个游戏对象可能不适合设定为静态遮挡物。 任何可能在运行时被遮挡的游戏对象
4 min read
Unity3D:遮挡剔除
Unity3D

Unity3D:遮挡剔除

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 遮挡剔除 “遮挡剔除”过程可防止 Unity 为那些被其他游戏对象完全挡住(遮挡)的游戏对象执行渲染计算。 摄像机在每一帧中执行剔除操作,这些操作会检查场景中的渲染器,并排除(剔除)那些不需要绘制的渲染器。默认情况下,摄像机执行视锥体剔除,这一过程将排除所有不在摄像机视锥体范围内的渲染器。但是,视锥体剔除不会检查渲染器是否被其他游戏对象遮挡,因此 Unity 仍会浪费 CPU 和 GPU 时间进行在最终帧中不可见的渲染器的渲染操作。遮挡剔除将阻止 Unity 执行这些徒劳的操作。 何时使用遮挡剔除 要确定遮挡剔除是否有可能改善项目的运行时性能,请考虑以下事项: * 防止无意义的渲染操作可以节省 CPU 和 GPU 时间。Unity 的内置遮挡剔除在 CPU 上执行运行时计算,这可能会抵消其节省的 CPU 时间。因此,当项目因过度绘制而具有 GPU 密集型特征时,
4 min read
Unity3D

Unity3D:使用斜视锥体

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 使用斜视锥体 默认情况下,视锥体围绕摄像机的中心线对称安放,但这并不是必须的。视锥体可设置为“倾斜的”,即一侧与中心线的角度小于对侧与中心线的角度。 这种做法使得图像一侧的透视看起来更加紧凑,给人的印象是观察者非常靠近在该边缘处可见的对象。此功能的一个用法示例是赛车游戏;如果视锥体在其底部边缘变平,则从观察者的角度看起来会更贴近道路,凸显了速度感。 在内置渲染管线中,使用斜视锥体的摄像机只能使用前向渲染路径。如果摄像机设置为使用延迟着色 (Deferred Shading) 渲染路径并使视锥体倾斜,Unity 会强制该摄像机使用前向渲染路径。 设置视锥体倾斜度 虽然 Camera 组件没有专门用于设置视锥体倾斜度的功能,但可以通过启用摄像机的 Physical Camera 属性并应用 Lens Shift 设置,或通过添加脚本来更改摄像机的投影矩阵,从而实现这样的功能。 使用 Lens Shift 设置视锥体倾斜度 启用摄像机的 Physical Camera 属性可显示 Lens
4 min read
Unity3D

Unity3D:摄像机射线

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 摄像机射线 了解视锥体部分说明了摄像机视图中的任何一点都对应于世界空间中的一条线。有时使用这条线的数学表示形式是有用的,Unity 能够以 Ray 对象的形式提供该表示形式。Ray 始终对应于视图中的一个点,因此 Camera 类提供 ScreenPointToRay 和 ViewportPointToRay 函数。两者之间的区别在于 ScreenPointToRay 期望以像素坐标的形式提供该点,而 ViewportPointToRay 则接受 0..1 范围内的标准化坐标(其中 0 表示视图的左下角,1 表示右上角)。这些函数中的每一个函数都返回由一个原点和一个矢量(该矢量显示从该原点出发的线条方向)组成的 Ray。射线 (Ray) 源自近裁剪面而不是摄像机 (Camera) 的 transform.position 点。 射线投射 来自摄像机的射线最常见的用途是将射线投射 (raycast) 到场景中。
2 min read
Unity3D

Unity3D:距摄像机一定距离的视锥体的大小

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 距摄像机一定距离的视锥体的大小 距摄像机一定距离的视锥体的横截面将在世界空间中定义一个构成可见区域的矩形。此形状有时可用于计算此矩形在给定距离处的大小,或者查找矩形为给定大小时所处的距离。例如,如果移动的摄像机需要始终将对象(例如玩家)完全保持在镜头中,则不得过于接近摄像机以免该对象的一部分被截断。 可使用以下公式来计算视锥体在给定距离处的高度(均以世界单位表示): var frustumHeight = 2.0f * distance * Mathf.Tan(camera.fieldOfView * 0.5f * Mathf.Deg2Rad); …还可反转该过程以计算获得指定视锥体高度所需的距离: var distance = frustumHeight * 0.5f / Mathf.Tan(camera.fieldOfView * 0.5f * Mathf.Deg2Rad); 当高度和距离已知时,也可以计算 FOV(视野)角度: var camera.fieldOfView
1 min read
Unity3D

Unity3D:了解视锥体

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 了解视锥体 __视锥体__一词表示看起来像顶部切割后平行于底部的金字塔的实体形状。这是透视摄像机可以看到和渲染的区域的形状。以下思维实验应该有助于解释为什么会这样。 想象一下,将一根直杆(例如扫帚柄或一支铅笔)正对着摄像机,然后拍照。如果杆垂直于摄像机镜头保持在图片中心位置,那么只有其一端可在图片上显示为圆圈;所有其他部分都会被遮挡。如果将杆向上移动,下侧将开始变得可见,但可通过向上倾斜杆再次将其隐藏。如果继续向上移动杆并进一步将其向上倾斜,则圆形末端最终将到达图片的顶部边缘。此时,在世界空间中由此杆跟踪的界线上方的任何对象在图片上都不可见。 很容易将杆向左、向右或向下(或者水平和垂直方向的任何组合方式)移动或旋转。“隐藏”杆的角度仅取决于它在两个轴上距离屏幕中心的距离。 这一思维实验的意义在于,摄像机图像中的任何一点实际上都对应于世界空间中的一条线,在图像中只能看到这条线上的一个点。这条线上该位置背后的一切都会被遮挡。 图像的外边缘由对应于图像四个角的发散线界定。如果这些线向后追踪到摄像机
3 min read
Unity3D

Unity3D:摄像机和深度纹理

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 摄像机和深度纹理 Camera 可生成深度、深度+法线或运动矢量纹理。这是一种极简化的 G 缓冲纹理,可用于后期处理效果或实现自定义光照模型(例如光照预通道)。 这些主要用于效果;例如,后期处理效果经常使用深度信息。 深度纹理中的像素值介于 0 和 1 之间,具有非线性分布。精度通常为 32 或 16 位,具体取决于所使用的配置和平台。从深度纹理读取时,将返回 0 到 1范围内的高精度值。如果需要获取与摄像机之间的距离或其他 0 到 1 之间的线性值,请使用 helper 宏手动进行计算(见下文)。 大多数现代硬件和图形 API 都支持深度纹理。下面列出了特殊要求: * Direct3D 11+ (Windows)
6 min read
Unity3D:使用物理摄像机
Unity3D

Unity3D:使用物理摄像机

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 使用物理摄像机 (Physical Camera) 摄像机组件的 Physical Camera 属性在 Unity 摄像机上模拟真实摄像机格式。这可用于从同样模拟真实摄像机的 3D 建模应用程序导入摄像机信息。 Unity 提供的设置与大多数 3D 建模应用程序的物理摄像机设置相同。控制摄像机视野的两个主要属性是 Focal Length 和 Sensor Size。 * Focal Length:传感器和摄像机镜头之间的距离,即焦距。此属性决定了垂直视野。Unity 摄像机处于 Physical Camera 模式时,改变 Focal Length 也会相应改变视野。焦距越小,视野越大,反之亦然。 * Sensor Size:捕捉图像的传感器的宽度和高度,表示传感器大小。这些数值决定了物理摄像机的宽高比。可从对应于真实摄像机格式的几个预设传感器大小中进行选择,或设置自定义大小。
9 min read
Unity3D

Unity3D:使用多个摄像机

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 使用多个摄像机 当一个 Unity 场景刚创建完毕时,它只包含一个摄像机,这在大多数情况下就已经足够了。但是,您也可以在场景中添加任意数量的摄像机,还能以不同的方式组合它们的视图,如下所述。 切换摄像机 默认情况下,摄像机会用它所渲染的画面覆盖整个屏幕,因此同一时刻只能看到一个摄像机的画面(即 depth 属性具有最高值的摄像机)。通过在脚本中禁用一个摄像机并启用另一个,即可从一个摄像机的镜头“切”到另一个,从而得到场景的多个镜头画面。在某些情况下,例如要在俯瞰地图视角和第一人称视角之间切换时,就可以采用这种方法。 using UnityEngine; public class ExampleScript : MonoBehaviour { public Camera firstPersonCamera; public Camera overheadCamera; // 调用此函数可禁用 FPS 摄像机, // 并启用高架摄像机。 public v
2 min read
Unity3D:摄像机
Unity3D

Unity3D:摄像机

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 摄像机 Unity 场景在三维空间中表示游戏对象。由于观察者的屏幕是二维屏幕,Unity 需要捕捉视图并将其“平面化”以进行显示。它使用摄像机来实现这一点。在 Unity 中,您可以通过将一个 Camera 组件添加到游戏对象来创建摄像机。 定义摄像机的视野 摄像机所看到的内容由它的变换和 Camera 组件来定义。变换位置定义了视点,其向前的 (Z) 轴定义视图方向,向上的 (Y) 轴定义屏幕的顶端。Camera 组件的设置还定义了视图中区域的大小和形状。通过设置这些参数,摄像机能够显示其在当前屏幕上“观察”到的内容。当游戏对象移动和旋转时,显示的视图会随之移动和旋转。 透视和正交摄像机 现实世界中的摄像机(实际相当于人眼)在观察外界事物时,物体距离视点越远,看起来越小。这种众所周知的_透视_效果在艺术和计算机图形领域广泛应用,对于创建现实场景至关重要。当然,Unity
4 min read
Unity3D

Unity3D:在自定义渲染管线中创建简单渲染循环

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 在自定义渲染管线中创建简单渲染循环 渲染循环是指在单一帧中发生的所有渲染操作的术语。本页面包含有关在基于 Unity 可编程渲染管线的自定义渲染管线中创建简单渲染循环的信息。 本页面上的代码示例演示使用可编程渲染管线的基本原则。可以使用此信息构建自己的自定义可编程渲染管线,或了解 Unity 的预构建可编程渲染管线如何工作。 准备项目 开始为渲染循环编写代码之前,必须准备好项目。 步骤如下所示: 1. 创建与 SRP 兼容的着色器。 2. 创建一个或多个要渲染的游戏对象。 3. 创建自定义 SRP 的基本结构。 4. 可选:如果计划扩展简单自定义 SRP 以添加更复杂的功能,请安装 SRP Core 包。SRP Core 包中包含 SRP Core 着色器库(可以用于使着色器与 SRP Batcher 兼容)以及用于常见操作的实用程序函数。有关更多信息,请参阅
8 min read
Unity3D

Unity3D:在自定义渲染管线中创建渲染管线资源和渲染管线实例

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 在自定义渲染管线中创建渲染管线资源和渲染管线实例 如果要基于可编程渲染管线 (SRP) 创建自己的渲染管线,项目必须包含: * 一个继承自 RenderPipelineAsset 并覆盖其 CreatePipeline() 方法的脚本。此脚本用于定义渲染管线资源。 * 一个继承自 RenderPipeline 并覆盖其 Render() 方法的脚本。此脚本定义渲染管线实例,是编写自定义渲染代码的地方。 * 一个从 RenderPipelineAsset 脚本创建的渲染管线资源。此资源充当渲染管线实例的工厂类。 因为这些元素非常紧密相关,所以应该同时创建它们。 创建基本渲染管线资源和渲染管线实例 以下示例显示了如何为实例化渲染管线实例的基本自定义渲染管线资源创建脚本、如何创建可定义渲染管线实例的脚本以及如何创建渲染管线资源本身。 1. 创建一个名为 ExampleRenderPipelineAsset.cs 的 C# 脚本。 2. 将以下代码复制并粘贴到新脚本中: using
5 min read
Unity3D

Unity3D:基于可编程渲染管线创建自定义渲染管线

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 基于可编程渲染管线创建自定义渲染管线 本页面包含有关如何开始基于可编程渲染管线 (SRP) 创建自己的自定义渲染管线的信息。 创建新项目并安装自定义渲染管线所需的包 以下说明信息说明如何使用 SRP Core 包来创建自定义渲染管线。SRP Core 是 Unity 创建的包,其中包含可复用代码来帮助您创建自己的渲染管线,包括用于与平台特定的图形 API 结合使用的样板代码、用于常见渲染操作的实用函数以及供 URP 和 HDRP 使用的着色器库。有关 SRP Core 的更多信息,请参阅 SRP Core 包文档。 1. 创建新的 Unity 项目。 2. 使用 Git 来创建 SRP 源代码仓库的克隆体。可以将 SRP 源代码放在磁盘中的任何位置,只要不在任何保留的项目子文件夹内即可。 3.
3 min read
Unity3D

Unity3D:在可编程渲染管线中调度和执行渲染命令

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 在可编程渲染管线中调度和执行渲染命令 本页介绍如何通过使用 CommandBuffers 或通过对 ScriptableRenderContext 进行直接 API 调用,在可编程渲染管线 (SRP) 中调度和执行渲染命令。本页面上的信息适用于通用渲染管线 (URP)、高清渲染管线 (HDRP) 和基于 SRP 的自定义渲染管线。 在 SRP 中,应使用 C# 脚本来配置和调度渲染命令。然后,需要告诉 Unity 的低级图形架构执行这些命令,此过程会将指令发送到图形 API。 主要做法是对 ScriptableRenderContext 进行 API 调用,不过也可以立即执行 CommandBuffers。 使用 ScriptableRenderContext API 在 SRP 中,ScriptableRenderContext 类用作 C#
2 min read
Unity3D

Unity3D:可编程渲染管线简介

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 可编程渲染管线简介 本页说明 Unity 的可编程渲染管线 (SRP) 的工作原理,并介绍一些关键概念和术语。本页面上的信息适用于通用渲染管线 (URP)、高清渲染管线 (HDRP) 和基于 SRP 的自定义渲染管线。 可编程渲染管线是一个瘦 API 层,允许使用 C# 脚本来调度和配置渲染命令。Unity 将这些命令传递给它的低级图形架构,后者随后将指令发送给图形 API。 URP 和 HDRP 建立在 SRP 之上。您还可以在 SRP 之上创建自己的自定义渲染管线。 渲染管线实例和渲染管线资源 每个基于 SRP 的渲染管线都有两个关键的自定义元素: * 渲染管线实例。这是定义渲染管线功能的类的实例。它的脚本继承自 RenderPipeline 并覆盖其 Render() 方法。 * 渲染管线资源。这是
2 min read
Unity3D:使用高清渲染管线资源
Unity3D

Unity3D:使用高清渲染管线资源

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 使用高清渲染管线资源 高清渲染管线 (HDRP) 是由 Unity 预先构建的可编程渲染管线。借助 HDRP 可以为高端平台创建出色的高保真图形。 HDRP 可以用于 AAA 级高品质游戏、汽车演示、建筑应用以及任何需要高保真图形的应用。HDRP 使用基于物理的光照和材质,并且支持前向渲染和延迟渲染。HDRP 使用计算着色器技术,因此需要兼容的 GPU 硬件。 由3D建模学习工作室整理翻译,转载请注明出处! 上一篇:Unity3D:使用通用渲染管线 (mvrlink.com) 下一篇:Unity3D:可编程渲染管线简介 (mvrlink.com)
1 min read
Unity3D:使用通用渲染管线
Unity3D

Unity3D:使用通用渲染管线

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 使用通用渲染管线 通用渲染管线 (Universal Render Pipeline, URP) 是由 Unity 制作的预构建可编程渲染管线 (Scriptable Render Pipeline)。URP 提供了对美术师友好的工作流程,可让您在移动平台、高端游戏主机和 PC 等各种平台上快速轻松地创建优化的图形。 早期版本的 URP 称为轻量级渲染管线 (LWRP)。URP 替换了 LWRP。 有关如何使用 URP 的信息,请参阅 URP 文档微型网站 由3D建模学习工作室整理翻译,转载请注明出处! 上一篇:Unity3D:可视化顶点数据 (mvrlink.com) 下一篇:Unity3D:使用高清渲染管线资源 (mvrlink.com)
1 min read
Unity3D:可视化顶点数据
Unity3D

Unity3D:可视化顶点数据

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 可视化顶点数据 内置渲染管线的这些示例着色器演示以不同方式可视化顶点数据。 有关编写着色器的信息,请参阅编写着色器。 可视化 UV 下面的示例着色器将网格的第一组 UV 可视化。此着色器对于调试坐标非常有用。 代码定义了一个名为 appdata 的结构作为其顶点着色器的输入。该结构将顶点位置和第一个纹理坐标作为其输入。 Shader "Debug/UV 1" { SubShader { Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" // 顶点输入:位置、UV struct appdata { float4 vertex : POSITION; float4 texcoord : TEXCOORD0;
5 min read
Unity3D:自定义着色器基础
Unity3D

Unity3D:自定义着色器基础

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 自定义着色器基础 这些内置渲染管线的着色器示例演示了编写自定义着色器的基础知识,并涵盖了常见的用例。 有关编写着色器的信息,请参阅编写着色器。 设置场景 第一步是创建一些用于测试着色器的对象。在主菜单中选择 Game Object > 3D Object > Capsule。然后,调整摄像机位置,使其显示胶囊体。在 Hierarchy 视图中双击胶囊体 (Capsule) 以将 Scene 视图聚焦在该胶囊体上,然后选择主摄像机 (Main Camera) 对象,并单击主菜单中的 Game object > Align with View。 在 Project 视图中,从菜单中选择 Create > Material,创建新的材质。Project 视图中将显示一个名为 New Material 的新材质。 创建着色器
28 min read
Unity3D

Unity3D:内置渲染管线的硬件要求

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 内置渲染管线的硬件要求 摘要 (Summary) Win/Mac/LinuxiOS/Android游戏主机延迟光照SM3.0、GPU 支持-是前向渲染是是是顶点光照渲染是是-实时阴影GPU 支持GPU 支持是图像效果是是是可编程着色器是是是固定函数着色器是是- 实时阴影 实时阴影 (Realtime Shadows) 适用于大多数 PC、游戏主机和移动平台。在 Windows (Direct3D) 上,GPU 还需要支持阴影贴图功能;自 2003 年以后,大多数独立 GPU 都支持这些功能,而自 2007 年以后,大多数集成 GPU 也支持这些功能。从技术上讲,在 Direct3D 9 上,GPU 必须支持 D16/D24X8
2 min read
Unity3D:使用 CommandBuffer 来扩展内置渲染管线
Unity3D

Unity3D:使用 CommandBuffer 来扩展内置渲染管线

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 使用 CommandBuffer 来扩展内置渲染管线 本页包含有关在内置渲染管线中使用 CommandBuffer 的信息。有关在渲染管线中基于可编程渲染管线使用 CommandBuffer 的信息,请参阅在可编程渲染管线中调度和执行渲染命令。 CommandBuffer 基础知识 CommandBuffer 保存渲染命令列表(例如设置渲染目标或绘制给定网格)。您可以指示 Unity 在内置渲染管线中的各个点安排和执行这些命令,因此,您可以自定义和扩展 Unity 的渲染功能。 可以使用 Graphics.ExecuteCommandBuffer API 立即执行 CommandBuffer,也可以进行安排,让它们在渲染管线中的给定点执行。要安排它们,请使用 Camera.AddCommandBuffer API 与CameraEvent 枚举,以及 Light.AddCommandBuffer API 与 LightEvent 枚举。要查看 Unity
4 min read
Unity3D

Unity3D:顶点光照渲染路径

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 顶点光照渲染路径 本页面将介绍 Unity 内置渲染管线中的顶点光照渲染路径的详细信息。 顶点光照路径通常在一个通道中渲染每个对象,并为每个顶点计算所有光源的光照。 顶点光照路径是最快的渲染路径,具有最广泛的硬件支持。 由于所有光照都是在顶点级别计算的,因此该渲染路径不支持大多数每像素效果:阴影、法线贴图、光照剪影和高度细节化的镜面高光都不受支持。 由3D建模学习工作室整理翻译,转载请注明出处! 上一篇:Unity3D:旧版延迟渲染路径 (mvrlink.com) 下一篇:Unity3D:使用 CommandBuffer 来扩展内置渲染管线 (mvrlink.com)
1 min read
NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号