Unity3D Unity3D:导入带有非人形(通用)动画的模型 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 导入带有非人形(通用)动画的模型 本页面包含有关导入用于 Unity 动画系统的模型的指南。有关创建用于动画系统的模型的信息,请参阅创建动画模型。 动画系统使用两种类型的模型: * 人形 (Humanoid) 模型是一种非常特别的结构,包含至少 15 种骨骼,这些骨骼的组织方式与实际人体骨架大致相符。有关导入此类模型的更多信息,请参阅导入带有人形动画的模型。 * 所有其他模型为通用模型。这可能是从茶壶到龙的任何东西。本页面包含有关导入此类模型的指南。 有关适用于所有类型模型的通用导入指南,请参阅导入模型。 概述 当 Unity 导入通用模型时,您必须告诉它哪个骨骼是根节点。这相当于定义了模型的质心。 由于只有一个骨骼要映射,通用设置不使用 Humanoid Avatar 窗口。因此,准备将非人形模型文件导入 Unity 时所需的步骤比人形模型所需的步骤要少。 1. 设置 Rig 为 Generic。 2. 可以选择通过定义 Avatar
Unity3D Unity3D:导入带有人形动画的模型 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 导入带有人形动画的模型 本页面包含有关导入用于 Unity 动画系统的模型的指南。有关创建用于动画系统的模型的信息,请参阅创建动画模型。 动画系统使用两种类型的模型: * 人形 (Humanoid) 模型是一种非常特别的结构,包含至少 15 种骨骼,这些骨骼的组织方式与实际人体骨架大致相符。本页面包含有关导入此类模型的指南。 * 所有其他模型为通用模型。这可能是从茶壶到龙的任何东西。有关导入此类模型的更多信息,请参阅导入带有非人形(通用)动画的模型。 有关适用于所有类型模型的通用导入指南,请参阅导入模型。 概述 当 Unity 导入包含人形骨架和动画的模型文件时,需要将模型的骨骼结构与其动画进行协调。为了实现这一点,系统会将文件中的每个骨骼映射到人形 Avatar,这样才能正确播放动画。因此,在将模型文件导入 Unity 之前,仔细准备该文件非常重要。 1. 定义骨架类型并创建 Avatar。 2. 纠正或验证 Avatar 的映射。 3. 完成骨骼映射后,
Unity3D Unity3D:导入一个模型 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 导入一个模型 模型文件可以包含各种数据,例如网格、动画绑定和剪辑、材质和纹理。您的文件可能不包含所有这些元素,但您可以按照工作流的任何部分进行操作: 1. 在 Project 视图中选择文件以查看 Import Settings 窗口 2. 设置模型特有的选项或常规导入器选项 3. 设置骨架和动画的导入选项(不适用于 SpeedTree 模型) 4. 处理材质和纹理 5. 将文件拖入 Unity 中 有关如何从 3D 建模软件导出 Humanoid 动画的指南,请参阅做好导出人形模型的准备。 注意:Unity 对模型文件的主要支持是 FBX 格式。但是,您可以将大多数常见 3D 建模软件中的 3D 文件保存为其本机格式(例如,.max、
Unity3D Unity3D:创建动画模型 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 创建动画模型 本页面包含有关创建用于 Unity 动画系统的模型的指南。 有关创建所有类型模型的一般最佳实践指南,请参阅创建模型以获得最佳性能。有关将带有动画的模型导入 Unity 的信息,请参阅导入具有人形动画的模型或导入具有非人形(通用)动画的模型。 有两种类型的模型可以与 Unity 的动画系统一起使用: * 人形 (Humanoid) 模型是一种非常特别的结构,包含至少 15 种骨骼,这些骨骼的组织方式与实际人体骨架大致相符。 * 所有其他模型为通用模型。这可能是从茶壶到龙的任何东西。 两者都需要一个骨骼蒙皮模型。创建这样一个模型的阶段是: 1. 建模 (Modeling):创建模型。该模型包含网格、纹理等。 2. 骨骼绑定 (Rigging):创建骨架,也称为骨骼或关节层级结构。这定义了网格内的骨骼,以及它们相互之间的运动关系。 3. 蒙皮 (skinning):将网格连接到骨架。这定义了给定关节进行动画化时,角色网格的哪个部分移动。 您通常在
Unity3D Unity3D:创建最佳性能模型 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 创建最佳性能模型 以下是一些创建最佳性能模型的技巧。这些技巧有些适用于所有模型,有些仅适用于动画模型: * 尽量减少多边形数量 * 使用尽可能少的材质 * 使用单个带蒙皮的网格渲染器 * 使用尽可能少的骨骼 * 正向和反向动力学保持分离 使用这些方法可能有助于提高模型的动画和渲染速度,但请注意,这些方法也可能会降低您要竭力实现的视觉逼真度和逼真效果。对于每种情况,并没有一个唯一的答案可以在更好的性能和视觉真实感之间取得完美平衡。必须根据角色和场景的复杂性以及所需的整体外观和逼真度来找到最佳的平衡。 尽量减少多边形数量 您应该使用的多边形数量取决于您需要达到的视觉质量,以及您的目标平台。然而,以下两个相互冲突的事实都正确: * 在网格中使用的多边形越少,应用程序运行的速度就越快。这是因为每个顶点、边或面都需要计算资源。 * 在网格中使用的多边形越多,游戏对象的外观就越细致和自然,因为较小的多边形使您可以在更大程度上控制形状。 此外,还需要考虑其他元素也会争夺渲染资源。如果同
Unity3D Unity3D:做好导出模型文件的准备 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 做好导出模型文件的准备 缩放因子 Unity 的物理系统和光照系统希望游戏世界中的 1 米在导入的模型文件中为 1 个单位。 不同 3D 包的默认值如下: * .fbx、.max、.jas = 0.01 * .3ds = 0.1 * .mb、.ma、.lxo、.dxf、.blend、.dae = 1 将模型文件从具有不同缩放因子的 3D 建模应用程序导入 Unity 时,可以通过启用 Convert Units 选项将文件单位转换为使用 Unity 比例。 优化您的文件 在将文件导入 Unity 之前,您应该遵循一些步骤以确保以最佳方式优化您的文件。 思考您希望导出的内容:有些场景对象必不可少,而其他则可能不必要。因此您可以通过仅保留基本对象来优化
Unity3D Unity3D:支持专有模型文件格式 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT 在线文档中心 支持专有模型文件格式 Unity 支持多种专有模型文件格式。您不应在生产中使用这些文件格式,应尽可能导出为 .fbx 文件格式。有关更多信息,请参阅模型文件格式。 注意:本节提供了使用通过 FBX 转换的专有文件格式的指南。但是,有两种文件格式不使用 FBX 作为中介格式:SketchUp 和 SpeedTree。有关这些文件格式的限制的更多信息,请参阅 SketchUp 设置和 SpeedTree 主题。 Unity 导入专有文件时,会在后台启动 3D 建模软件。Unity 随后与该专有软件通信,将原生文件转换为 Unity 可读取的格式。 首次将专有文件导入 Unity 时,3D 建模软件必须在命令行进程中启动。此过程可能需要一段时间,但后续导入操作非常快。 注意:从
Unity3D Unity3D:模型文件格式 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT 在线文档中心 模型文件格式 Unity 支持多种标准和专有模型文件格式。 Unity 内部使用 .fbx 文件格式作为其导入链。最佳做法尽可能使用 .fbx 文件格式,并且不应在生产中使用专有文件格式。 支持的模型文件格式 标准文件格式 Unity 可读取以下标准 3D 文件格式: * .fbx * .dae (Collada) * .dxf * .obj. These file formats are widely supported. They are also often smaller than the proprietary equivalent, which makes your project size smaller, and faster
Unity3D Unity3D:Scene 视图光照绘制模式 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT 在线文档中心 Scene 视图光照绘制模式 场景视图具有多种绘制模式,可帮助您了解和调试场景中的照明。 使用 Scene 视图控制栏选择所需的绘制模式。 着色模式 阴影 Shading Mode 的默认设置为 Shaded。 此选项表示场景根据当前的光照设置完全点亮。 杂项 暗影瀑布 使用颜色可以采用不同的级联级别显示场景的各个部分。 此模式有助于正确设置阴影距离、级联计数和级联分割比率。 请注意,此可视化方法会使用通常大于阴影距离的 Scene 视图远平面,因此如果要将摄像机的游戏内行为与小远平面匹配,可能需要缩短阴影距离。 全局照明 系统 预计算阶段将根据邻近度和光照贴图参数自动将场景细分为系统(即共享相同实时光照贴图的对象组)。这样做是为了在更新间接照明时允许多线程和优化。此可视化显示具有不同颜色的系统。 聚类 Enlighten 计算启用了贡献 GI 的几何图形的可见性信息。它通过使用在聚类分析步骤中生成的聚类来实现此目的。启发实时全局照明和启发烘焙全局照明都依赖于
Unity3D Unity3D:GI 缓存 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT 在线文档中心 GI 缓存 GI 缓存是一个内部数据缓存,Unity 编辑器在预计算烘焙全局光照和启发实时全局光照的光照数据时,使用它来存储中间文件。通过将此数据存储在缓存中,Unity 可以加快后续预计算的速度。 缓存在计算机上的所有 Unity 项目之间共享,因此具有相似内容和光照贴图后端的项目可以共享缓存的文件。没有每个项目的缓存的另一个原因是,缓存在烘焙过程中会增长很多,对于使用 Enlighten 的大型项目,缓存可能会增长到数百 GB,这可能会占用计算机上的所有硬盘空间。 可以使用 GI Cache 偏好设置来管理缓存的大小、位置和压缩。有关更多信息,请参阅偏好设置 (Preferences) 文档。 使用 GI 缓存 Unity 编辑器在预先计算光照数据时使用 GI 缓存。要启用 GI 缓存,请打开照明窗口(>照明窗口)并启用自动选项。这使得照明数据预计算自动,
Unity3D Unity3D:光照数据资源 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT 在线文档中心 光照数据资源 光照数据资源可以存储 Unity Editor 场景预计算的光照数据。出于工作流程原因,光照数据资源在项目中作为单独的文件存在;将预计算的光照数据存储在单独的文件中意味着对预计算的光照数据的更改不会导致对场景文件的更改。光照数据资源不供用户编辑。 使用 Lighting 窗口中的 Generate Lighting 按钮或使用 Lightmapping.Bake 或 Lightmapping.BakeAsync API 来手动调用光照预计算时,Unity 会将预计算的光照数据存储在光照数据资源中。 照明数据资产包含全局照明数据和为场景重新创建照明所需的所有支持文件。此资产引用渲染器、实时光照贴图、烘焙光照贴图、光照探针、反射探针以及存储这些元素之间关系的数据结构。它还包括更新实时全局光照在播放器中的外观所需的所有预先计算的 Enlighten 实时全局光照数据。 当您更改场景时(例如,中断一个标记为 Contribute GI 的游戏对象上的预制件连接),资源数据将过时,因此必
Unity3D Unity3D:生成光照数据 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT 在线文档中心 生成光照数据 在 Unity 中,预计算光照在后台作为自动过程生成或在用户手动启动时生成。在这些过程运行的同时,仍可以在 Editor 中继续工作。 编辑器按照不同的步骤来计算 Enlighten 实时全局光照和烘焙全局光照。进度条显示有关当前进程的信息。 光照预计算的阶段如下: Enlighten Realtime Global Illumination 1. 创建几何体 (Create Geometry) 2. 布局系统 (Layout Systems) 3. 创建系统 (Create Systems) 4. 创建图集 (Create Atlas) 5. 聚类(Clustering) 6. 可见性 (Visibility) 7. 光线传输 (Light Transport) 8.
Unity3D Unity3D:反射探针 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT 在线文档中心 反射探针 __反射探针__非常像一个捕捉周围各个方向的球形视图的摄像机。然后,捕捉的图像将存储为立方体贴图,可供具有反射材质的对象使用。可在给定场景中使用多个反射探针,并可将对象设置为使用由最近探针生成的立方体贴图。带来的结果是对象上的反射可根据环境发生令人信服的变化。 属性 Unity 在反射探针检查器中显示不同的属性,具体取决于项目使用的渲染管线。 * 如果项目使用通用渲染管线 (URP),请参阅 URP 包文档微型网站。 * 如果您的项目使用高清渲染管线 (HDRP),请参阅 HDRP 包文档微型网站。 * 如果您的项目使用内置渲染管线,Unity 会显示以下属性: 属性:功能:Type选择该探针是用于 Baked、Custom 还是 Realtime 设置。如果选择 Baked__,则反射探针在运行时不会捕获禁用了反射探针静态 (Reflection Probe Static) 标志的游戏对象。如果要在烘焙的反射探针中捕获动态游戏对象,请选择 Custom__ 并启用
Unity3D Unity3D:反射探针性能 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT 在线文档中心 反射探针性能 由于诸多原因,渲染反射探针的立方体贴图需要大量的处理器时间: 1. 必须使用探针原点处的“摄像机”单独渲染立方体贴图六个面中的每一面。 2. 对于反射的每个反弹级别,探针都需要单独的时间进行渲染(请参阅高级反射探针的文档以了解更多详细信息)。 3. 立方体贴图的各种 Mipmap 级别必须经过模糊处理才能进行光泽反射。 渲染探针所花费的时间会影响 Editor 中的烘焙工作流程,更重要的是会影响播放器的运行时性能。以下是将反射探针的性能影响降至最低的一些提示。 一般提示 以下问题会同时影响脱机烘焙和运行时性能。 分辨率 立方体贴图的分辨率越高,渲染时间就越长。可以通过在反射细节不太重要的位置设置较低分辨率来优化探针(例如,如果反射对象较小和/或较远,自然就会显示较少的细节)。在细节明显的位置仍应当使用较高的分辨率。 剔除遮罩 (Culling Mask) 提高普通摄像机性能的一项标准技术是使用 Culling Mask 属性来避免渲染无关紧要的对象;该技术
Unity3D Unity3D:高级反射探针功能 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT 在线文档中心 高级反射探针功能 下面将介绍互反射 (Interreflections) 和盒体投影 (Box Projection),这两个高级功能可以改善从反射探针获得的视觉真实感。 互反射 有一种情况是两面镜子靠得相当近并面对面放置。两面镜子不仅反射对面的镜子,还反射镜子产生的反射。结果是两者之间的反射无穷无尽;像这样两个对象之间的反射称为互反射。 反射探针通过从探针位置创建视图快照来创建立方体贴图。但是,对于单个快照,视图无法显示互反射,因此必须为互反射序列中的每个阶段创建其他快照。 在 Lighting 窗口中控制反射在两个对象之间来回“反弹”的次数;选择 Environment > Environment Reflections 并编辑 Bounces 属性。这是针对所有探针全局设置的,而不是针对每个探针单独设置的。反射反弹计数为 1 时,探针观察到的反射对象显示为黑色。计数为 2 时,第一级互反射可见,计数为 3 时,前两级可见,依此类推。
Unity3D Unity3D:使用反射探头 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT 在线文档中心 使用反射探头 默认反射探头 Unity 包含一个专用管理器 - SkyManager,以确保环境光照默认影响您的场景。SkyManager自动生成环境探测器和默认反射探针以捕获环境照明。 要禁用未手动创建的光照贴图和光照探针的场景或游戏对象的光照结果中的环境贡献,请禁用默认反射探针和环境探针。要禁用这些探测器,请参阅禁用 SkyManager。 Adding Reflection Probes 可将反射探针 (Reflection Probe) 组件添加到场景中的任何对象,但标准做法是将每个探针添加到单独的空游戏对象。常规的工作流程如下: * 创建新的空游戏对象(菜单:__GameObject__ > Create Empty__),然后将反射探针组件添加到该对象(菜单:__Component > Rendering > Reflection Probe__)。或者,如果在场景中已有现成的探针,可能直接复制该探针的做法更为方便(菜单:__Edit > __Duplicate__)。
Unity3D Unity3D:反射探针的类型 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 反射探针的类型 反射探针有三种基本类型,通过检视面板中的 Type 属性可进行相应选择(有关更多详细信息,请参阅组件参考页面)。 * 烘焙 (Baked) 探针可存储 Editor 中生成(烘焙)的反射立方体贴图。可以通过单击 Reflection Probe Inspector 底部的 Bake 按钮或 Lighting 窗口中的 Build 按钮来触发烘焙。如果在 Lighting 窗口中启用了 Auto_,则在 Scene 视图中放置对象时,烘焙探针将自动更新。烘焙探针的反射只能显示 Inspector 中标记为 Reflection Probe Static_ 的对象。此设置向 Unity 指示这些对象不会在运行时移动。 * 实时 (Realtime) 探针在运行时在播放器中而不是在
Unity3D Unity3D:反射探针 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 反射探针 CG电影和动画通常具有高度逼真的反射,这对于在场景中的对象之间产生“连接感”非常重要。然而,这些反射的准确性伴随着处理器时间的高成本,虽然这对电影来说不是问题,但它严重限制了实时游戏中反射对象的使用。 传统上,游戏使用一种称为_反射贴图_的技术来模拟来自对象的反射,同时将处理开销保持在可接受的水平。此技术假定场景中的所有反射对象都可以“看到”(因此会反射)完全相同的周围环境。如果游戏的主角(比如闪亮的汽车)处于开放空间中,此技术将非常有效,但是当角色进入不同的周围环境时,便看起来不真实;如果一辆汽车驶入隧道但天空仍然在窗户上产生明显反射,看起来就很奇怪。 Unity 通过使用__反射探针__改进了基本反射贴图,这种探针可在场景中的关键点对视觉环境进行采样。通常情况下,应将这些探针放置在反射对象外观发生明显变化的每个点上(例如,隧道、建筑物附近区域和地面颜色变化的地方)。当反射对象靠近探针时,探针采样的反射可用于对象的反射贴图。此外,当几个探针位于彼此附近时,Unity 可在它们之间进行
Unity3D Unity3D:Light Probe Proxy Volume component 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 Light Probe Proxy Volume component 光照探针代理体 (LPPV) 组件允许不能使用烘焙光照贴图的大型动态游戏对象(例如,大型粒子系统或蒙皮网格)使用更多光照信息。 默认情况下,探针光照渲染器从插入于场景内周围光照探针之间的单个光照探针接受光照。因此,游戏对象在整个表面上具有恒定的环境光照。此光照使用球谐函数,因此具有旋转渐变,但没有空间渐变。在更大的游戏对象或粒子系统上,这一点更明显。游戏对象上的光照与锚点处的光照相匹配,如果游戏对象跨越光照渐变,游戏对象的某些部分可能看起来不正确。 __光照探针代理体__组件在包围体内生成插值光照探针的 3D 网格。可以在该组件的 UI 中指定此网格的分辨率。插值光照探针的球谐函数 (SH) 系数将上传到 3D 纹理中。随后在渲染时会对包含 SH 系数的 3D 纹理进行采样以便计算对漫射环境光照的影响。这会向探针光照游戏对象添加空间渐变。 标准着色器支持此功能。为了将此功能添加到自定义着色器,请使用 ShadeSHPerPi
Unity3D Unity3D:光照探针和场景加载 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 光照探针和场景加载 Unity 会根据您加载或卸载场景的方式而以不同方式更新其光照探针数据。 Unity 使用 LightProbes C# 对象为所有当前加载的场景存储光照探针数据。LightProbes 对象包含一个内部数据结构,称为四面体曲面细分。Unity 在其计算中使用四面体曲面细分来确定光照探针照亮游戏对象的方式。 加载或卸载场景时,Unity 会自动更新 LightProbes 对象,以包含所有当前加载的场景中所有光照探针的位置和系数。但是,Unity 是否更新四面体曲面细分取决于加载或卸载场景的方式。 使用 LoadSceneMode.Single 加载场景时,Unity 会在加载过程中自动更新四面体曲面细分,因为新的光照探针数据会完全替换以前的光照探针数据。 使用 LoadSceneMode.Additive 加载场景或使用 UnloadSceneAsync 卸载场景时,Unity 不会自动更新四面体细分,因为需要重新计算新的或移除的光照探针数据 - 这是一项计算成本高昂的
Unity3D Unity3D:光照探针和网格渲染器 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 光照探针和网格渲染器 要在移动的游戏对象上使用光照探针,移动游戏对象上的网格渲染器组件必须正确设置。网格渲染器组件具有“光照探针”设置,默认情况下该设置设置为“混合探针”。这意味着默认情况下,所有游戏对象都将使用光照探针,并在场景中更改位置时在最近的探针之间进行混合。 您可以将此设置更改为“关闭”或“使用代理体”。将光照探针设置切换为关闭状态将禁用光照探针对此游戏对象的影响。 光照探针代理体 (Light Probe Proxy Volumes) 是一种特殊设置;如果__大型移动对象__可能太大而无法通过光照探针组的单个四面体获得明显光照,而是需要在模型的整个长度上由多组光照探针进行光照,则可使用这种设置。有关更多信息,请参阅“光照探针代理体”。 Mesh Renderer 检视面板中与光照探针相关的另一个设置是 Anchor Override 设置。如先前所述,当游戏对象在场景中移动时,Unity 会根据光照探针组定义的体积计算该游戏对象所在的四面体。默认情况下,这是从网格包围盒的中心点开始
Unity3D Unity3D:用于移动对象的光照探针 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 用于移动对象的光照探针 光照贴图通过捕获逼真的反射光作为纹理(这些纹理将“烘焙”到__静态__对象的表面上)来显著增加场景的真实感。但是,由于光照贴图的性质,光照贴图只能应用于标记为 Contribute GI 的非移动对象。 虽然实时和混合模式光照可在移动对象上投射直射光,但除非使用__光照探针__,否则移动对象不会从静态环境接受反射光。光照探针存储关于光在场景中如何反射的信息。因此,当对象在游戏环境中的空间内移动时,它们可以使用光照探针中存储的信息来显示反射光在当前位置处的近似值。 在上述场景中,当方向光照射到作为静态景物的红色和绿色建筑物时,反射光被投射到场景中。反射光在每个建筑物正前方的地面上显示为红色和绿色。由于所有这些模型都是__静态的__,因此所有这些光照都存储在__光照贴图__中。 将移动对象引入场景中时,它们不会自动接受反射光。在下图中,您可以看到救护车(动态移动对象)不受建筑物反射的红色光影响。实际上,它的侧面是单调的灰色。这是因为救护车是一种动态对象,可在游戏中四处移动,
Unity3D Unity3D:使用脚本放置光照探针 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 使用脚本放置光照探针 手动大量放置光照探针可能十分耗时。您可以通过编写自己的编辑器脚本来自动放置光照探针。您的脚本可创建具有 LightProbeGroup 组件的新游戏对象,然后您可以根据您选择编程的任何规则单独添加探针位置。 例如,以下脚本可将光照探针放置在圆形或圆环中。 using UnityEngine; using System.Collections.Generic; [RequireComponent (typeof (LightProbeGroup))] public class LightProbesTetrahedralGrid : MonoBehaviour { // 公用 public float m_Side = 1.0f; public float m_Radius = 5.0f; public float m_InnerRadius = 0.1f; public float m_Height = 2.
Unity3D Unity3D:光探针组 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 光探针组 要将光照探针置于场景中,必须使用已附加 Light Probe Group 组件的游戏对象。 可从菜单 Component > Rendering > Light Probe Group 添加 Light Probe Group 组件。 可将 Light Probe Group 组件添加到场景中的任何游戏对象。 但是,最好创建一个新的空游戏对象(菜单:__GameObject > Create Empty__),然后将该组件添加到这个游戏对象,从而降低意外将该组件从项目中移除的可能性。 属性功能编辑光照探针要更改 Light Probe Group,请单击 Edit Light Probes 按钮以启用编辑。 这会更改 Unity,只允许移动和编辑光照探针,因此必须记住在完成后禁用此设置。 启用 Edit
Unity3D Unity3D:光照探针-技术信息 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 光照探针:技术信息 光照探头中的照明信息被编码为球谐基函数。我们使用三阶多项式,也称为 L2 球谐波。它们使用 27 个浮点值存储,每个颜色通道 9 个。 Unity 中的 Enlighten 全局光照实现使用与该功能的原始开发人员 Geomerics 不同的球谐方法,即 Peter-Pike Sloan 的论文《愚蠢的球谐波 (SH) 技巧》中的符号和重建方法。Geomerics的原始方法基于Ramamoorthi / Hanrahan的论文“辐照度环境图的有效表示”中的符号和重建方法。 用于重建的着色器代码可在 UnityCG.cginc 中找到,并使用 Peter-Pikes 论文中附录 A10 辐照度环境贴图的着色器/CPU 代码中的方法。 数据在内部的排列顺序如下: [L00: DC] [L1-1: