Unity3D Unity3D:预设 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 预设 预设是可用于将相同属性设置跨多个组件、资源或项目设置窗口保存和应用的资源。 您还可以使用预设在预设管理器中指定新组件的默认设置和资源的默认导入设置。 预设管理器支持您添加到 Unity 编辑器的任何导入器、组件或脚本化对象。 您只能在编辑器中应用预设。预设在运行时不起作用。您可以使用脚本来支持您自己的 Monobehavior、ScriptableObject 或 ScriptedImporter 类中的预设。 保存和应用预设 预设允许您将组件、资源或 Project Settings 窗口的属性配置保存为预设资源。 然后,您可以使用此预设资源将相同的设置应用到不同的组件、资源或 Project Settings 窗口。 例如,您可以编辑刚体组件的属性,将这些设置保存到一个预设资源,然后将该预设资源应用到其他游戏对象中的刚体组件。 游戏对象中的其他组件不受影响; 预设仅将其设置应用于刚体组件。 可将预设存储在项目的 文件夹中。 使用 Project 窗口可查看并选择要在 Inspe
Unity3D Unity3D:“导入活动”窗口 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 “导入活动”窗口 概述 “导入活动”窗口提供有关 Unity 导入资源时发生的情况的信息。您可以使用此信息来确定最近导入了项目中的哪些资源、导入每个资源所花费的时间以及导入(或重新导入)的原因。 此信息允许您分析项目的导入活动,并决定如何缩短 Unity 导入资源所需的时间,或如何完全避免不必要的导入。因此,“导入活动”窗口的作用类似于导入过程的探查器。 访问“导入活动”窗口 要打开“导入活动”窗口,请转到“>分析窗口”>“导入活动窗口”。 您也可以直接从资产打开〖导入活动〗窗口,这将使窗口立即显示所选资产的导入详细信息。如果您已经知道要分析哪个资产的导入数据,这将非常有用。有两种方法可以执行此操作: * 右键单击“项目”窗口中的资源,然后从上下文菜单中选择“在导入活动窗口中查看”。 * 在检查器中查看资源,右键单击检查器的选项卡,然后从上下文菜单中选择“在导入活动窗口中打开”。 布局 “导入活动”
Unity3D Unity3D:特殊文件夹名称 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 特殊文件夹名称 您通常可以为创建的文件夹选择任何名称来组织 Unity 项目。但是,Unity 会为特殊用途保留一些文件夹名称。例如,必须将编辑器脚本放在名为“编辑器”的文件夹中,才能正常工作。 本页面包含 Unity 使用的特殊文件夹名称的完整列表。 Assets Assets 文件夹是包含 Unity 项目使用的资源的主文件夹。Editor 中的 Project 窗口的内容直接对应于 Assets 文件夹的内容。大多数 API 函数都假定所有内容都位于 Assets 文件夹中,因此不要求显式提及该文件夹。但是,有些函数需要将 Assets 文件夹作为路径名的一部分添加(例如,AssetDatabase 类中的一些函数)。 Editor 编辑器脚本在开发期间向 Unity 添加功能,但在运行时的构建中不可用。编辑器文件夹中的脚本作为编辑器脚本运行,而不是运行时脚本。
Unity3D Unity3D:AssetDatabase 批处理 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 使用批处理可以减少在代码中更改资源时所需的时间和处理量。 如果在代码中对多个资源进行更改(例如,复制或移动资源文件),则资源数据库 (Asset Database) 的默认行为是依次处理每个更改,并对资源执行完整的“刷新”过程,然后再转到下一行代码。 以下示例中将更改三个资源。执行的操作是复制 Asset1、移动 Asset2 和删除 Asset3: AssetDatabase.CopyAsset("Assets/Asset1.txt", "Assets/Text/Asset1.txt"); AssetDatabase.MoveAsset("Assets/Asset2.txt", "Assets/Text/Asset2.txt"); AssetDatabase.DeleteAsset("Assets/Asset3.txt"); 如果不进行批处理,Unity 会在处理每个更改后移到下一行代码。这不仅会花费不必要的时间,
Unity3D Unity3D:自定义资产数据库工作流 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 自定义资产数据库工作流 使用 AssetDatabase 类自定义资产管线,并创建工具来使用您自己的管线访问、加载、创建和操作资产脚本 ,以扩展编辑器的工作方式。它是一个编辑器类,因此其功能在运行时在独立构建中不可用。 自定义您的资产工作流程 AssetDatabase 类具有大量方法,允许您以与 Unity 编辑器本身完全相同的方式访问资源并对其执行操作。您可以创建、导入、删除、复制、移动、加载和保存资产,以及搜索资产数据库。 这意味着您可以使用 Unity 的编辑器脚本和编辑器窗口自定义来创建从简单调整到强大工具以及项目资源工作流程的自定义的任何内容。 有关一个简单的示例,请参阅 AssetDatabase.ForceReserializeAssets 方法的文档。它展示了如何将菜单项添加到编辑器中,以便更好地控制在将项目升级到较新版本的 Unity 时应如何升级某些资源包。 有关可用方法的完整列表以及每个方法的文档,请参阅资产数据库脚本 API 页面。 资产对象 从脚本的角度
Unity3D Unity3D:刷新资源数据库 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 刷新资源数据库 Unity 在以下情况下会刷新资源数据库: * Unity Editor 重新获得焦点时(如果已在 Preferences 窗口中启用 Auto-Refresh) * 从菜单中选择 Assets > Refresh 时 * 从 C# 调用 AssetDatabase.Refresh 时 其他一些 AssetDatabase API 会触发 Refresh(),但是仅针对您指定的资源。例如,CreateAsset() 和 ImportAsset()。 Unity 在资源数据库刷新期间执行以下步骤: 1. 查找资源文件的更改,然后更新源资源数据库 2. 导入并编译与代码相关的文件,例如 .dll、.asmdef、.asmref、.rsp 和 .cs 文件。 3.
Unity3D Unity3D:资源数据库 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 资源数据库 对于大多数类型的资源,Unity 需要将资源的源文件中的数据转换为可用于游戏或实时应用程序的格式。这些转换后的文件及其关联的数据会存储在资源数据库 (Asset Database) 中。 由于大多数文件格式都经过优化来节省存储空间,所以需要执行转换过程,而在游戏或实时应用程序中,资源数据需要采用可用于硬件(例如 CPU、显卡或音频硬件)的格式才能立即使用。例如,Unity 将 .png 图像文件导入为纹理时,在运行时不会使用原始的 .png 格式数据。而在导入纹理时,Unity 将以另一种格式创建图像的新表示形式,并将其存储在项目的 Library 文件夹中。Unity 引擎中的 Texture 类会使用此导入版本,然后 Unity 将其上传到 GPU 以进行实时显示。 如果随后修改资源已导入的源文件(或更改其任何依赖项),Unity 会重新导入该文件并更新导入版本的数据。请参阅刷新资源数据库以了解关于此过程的更多信息。 资源数据库还提供了 AssetDatabase
Unity3D Unity3D:资源元数据 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 资源元数据 当 Unity 导入资源时,它还会存储和管理有关资源的其他数据,例如 Unity 应使用哪些导入设置来导入资源,以及在整个项目中使用资源的位置。以下是此过程如何工作的描述: 1. Unity 为资源分配唯一 ID。 2. Unity 创建一个伴随资源文件的 文件。.meta 3. Unity 对资源进行处理。 任何给定资源的导入设置都会影响 Unity 处理资源的方式。如果修改资源文件或资源的任何导入设置,Unity 将重新导入资源。有关更多信息,请参阅资产及其导入设置。 唯一 ID Unity 编辑器经常根据它已知的资源列表检查文件夹的内容。将资源放入文件夹时,Unity 会检测到您已添加新文件。AssetsAssets Unity 找到新文件时会向此资源分配唯一 ID。 这是 Unity 在内部使用的 ID,用于引用资源,
Unity3D Unity3D:Text assets 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 Text assets __文本资源__是导入的文本文件的格式。将文本文件拖放到 Project 文件夹中时,它将转换为文本资源。支持的文本格式如下: * .txt * .html * .htm * .xml * .bytes * .json * .csv * .yaml * .fnt 请注意,为了使用 AssetDatabase.FindAssets 函数,脚本文件也被视为文本资源,因此当此函数与“t:TextAsset”过滤条件一起使用时,脚本文件也将包含在结果列表中。 属性 属性:功能:Text资源的完整文本(作为单个字符串)。 详细信息 文本资源是一种非常专业的用例。在构建游戏时,将文本从不同的文本文件添加到游戏中非常有用。您可以编写一个简单的 .txt 文件,并且很容易就能将该文本添加到游戏中。该资源不适用于在运行时生成文本文件。如果有此需求,您需要使用传统的输入/输出编程技术来读写外部文件。
Unity3D Unity3D:导入器一致性 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 导入器一致性 资源导入器,包括您编写的任何脚本化导入器,应产生一致(确定性)的结果。这意味着它们应始终从相同的输入和依赖集产生相同的输出。 为了验证您的导入器是否如此,资源数据库提供了两种方法检查当前项目中资源的导入结果的一致性。检查一致性的两种方法是: * 在编辑器中手动重新导入一项或多项资源 * 使用 -consistencyCheck 命令行参数打开编辑器。 手动重新导入一致性检查 手动重新导入资源会使 Unity 检查新的导入结果是否与之前缓存的导入结果匹配。 要开始手动重新导入,请右键单击资源并从上下文菜单选择 Reimport。 Unity 会检查导入结果的一致性。如果检测到不一致的结果,Unity 会在控制台窗口中打印警告,详细说明导致问题的导入器,例如: Importer() generated inconsistent result for asset(guid:) "
Unity3D Unity3D:脚本化导入器 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 脚本化导入器 (Scripted Importer) Scripted Importer 是 Unity Scripting API 的一部分。您可以使用 Scripted Importer 使用 C# 为 Unity 本身不支持的文件格式编写自定义资源导入器,从而添加支持。 您可以应通过专门定义抽象类 ScriptedImporter 并应用 ScriptedImporter 属性来创建自定义导入器。这样会注册您的自定义导入器以处理一个或多个文件扩展名。当资源管线检测到一个与注册的文件扩展名匹配的文件为新文件或已更改的文件时,Unity 会调用自定义导入器的 OnImportAsset 方法。 注意:Scripted Importer 无法处理已由 Unity 本身处理的文件扩展名。 示例 下面是 Scripted Importer 的一个简单示例:它使用立方体图元作为主资源,将扩展名为 “cube” 的资源文件导入一个 Unity
Unity3D Unity3D:内置导入器 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 内置导入器 Unity 通过其内置导入器集合支持多种资源文件类型。这些导入器中的大多数都是在 Unity 编辑器的本机代码中实现的,并被命名为“本机导入程序”。它们为 Unity 的大多数基本资源类型(例如 3D 模型、纹理和音频文件)提供导入功能。 内置原生导入器 导入器文件格式AssemblyDefinitionImporterasmdefAssemblyDefinitionReferenceImporterasmrefAudioImporterogg、aif、aiff、flac、wav、mp3、mod、it、s3m、xmComputeShaderImportercomputeDefaultImporterrsp、unityFBXImporterfbx、mb、ma、max、jas、dae、dxf、obj、c4d、blend、lxoIHVImageFormatImporterastc、dds、ktx、pvrLocalizationImporterpoMesh3DSImporter3dsNat
Unity3D Unity3D:支持的资源类型 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 支持的资源类型 Unity 支持许多不同类型的资源和最常见的图像文件类型,包括 BMP、TIFF、TGA、JPG 和 PSD。 如果将分层的 Photoshop (.psd) 文件保存在文件夹中,Unity 会将它们作为拼合图像导入。您可以了解有关将图像导入为纹理或将图像导入为精灵的更多信息。Assets 有关 Unity 内置导入器、支持的文件类型和支持的文件扩展名的完整列表,请参阅内置导入器。 下面列出了您在开始使用 Unity 时可能想要使用的一些更常见的资源类型,以及进一步了解如何使用的链接。 常用的资源类型 类型描述3D 模型文件Unity 支持 FBX 文件格式,这意味着您可以从任何支持 FBX 的 3D 建模软件导入数据。Unity 还原生支持导入 SketchUp 文件。有关 Unity 支持的 3D
Unity3D Unity3D:同时导入资源 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 同时导入资源 默认情况下,Unity 在主编辑器进程中按顺序依次导入资源。但是,Unity 还支持并行导入某些类型的资源。并行导入使用多个进程同时导入资源,这比默认的顺序导入方法更快。 要启用并行导入,请转到编辑器>编辑>项目设置,然后在“资源管线”部分下,启用“并行导入”复选框。 平行进口的范围 Unity 的并行导入功能仅支持某些类型的资源。仅当编辑器执行其标准资源数据库刷新时,它才适用,当编辑器在 Project 文件夹中检测到新的或修改的资源并自动导入它们时,就会发生这种情况。 Unity 可以并行导入的特定资源类型包括: * 纹理导入器导入的图像文件类型 * 模型导入程序导入的模型文件类型 其他类型的资产始终在资产数据库刷新期间按顺序导入。 某些资产数据库 API 方法也遵循此设置,如果您使用它们来导入、刷新或创建纹理或模型资源。这些是: * 资产数据库导入 * AssetDatabase.Refresh * AssetDatabase.CreateAsset
Unity3D Unity3D:导入资源 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 导入资源 您可以将在 Unity 外部创建的资源引入 Unity 项目。为此,您可以将文件直接导出到项目的文件夹中,也可以将其复制到该文件夹中。对于许多常见格式,您可以将源文件直接保存到项目的文件夹中,Unity 可以读取它。Unity 还会检测何时保存对文件所做的新更改,并根据需要重新导入文件。AssetsAssets 创建 Unity 项目时,Unity 会创建一个文件夹(以项目命名),其中包含以下子文件夹: * Temp * Library * Assets * ProjectSettings * Logs * Packages 您可以将要在项目中使用的文件保存或复制到文件夹中,也可以使用 Unity 中的“项目”窗口查看文件夹的内容。因此,如果将文件保存或复制到文件夹,Unity 会导入该文件并显示在“项目”窗口中。AssetsAssetsAssets 在 Unity 中修改文件时,
Unity3D Unity3D:资源加载指标 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 资源加载指标 AsyncReadManagerMetrics 类用于监控运行时资源加载和文件读取性能。该类记录了有关由 AsyncReadManager 管理的所有文件读取操作的数据。 Unity 引擎使用 AsyncReadManager 在运行时读取大多数文件。使用 AsyncReadManager 加载的文件包括 AssetBundles、Addressables 和 Resources。此外,您可以使用 AsyncReadManager.Read 从脚本加载文件。 AsyncReadManagerMetrics 类允许您启用指标收集并检索记录的指标数据。您还可以过滤和汇总记录的数据以帮助您进行分析。该指标信息可帮助您识别涉及资源加载的问题区域,并衡量您的更改对资源加载性能的影响。 AsyncReadManagerMetrics 类仅在开发版中提供。您必须将任何对 AsyncReadManagerMetrics API 的调用保护在使用 ENABLE_PROFILER 符号的 #if 预
Unity3D Unity3D:特别优化 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 特别优化 上一部分介绍了适用于所有项目的优化,本节将详细介绍在收集性能分析数据之前不应使用的优化。可能的原因是这些优化在实现时非常耗费精力,在提高性能的同时可能会损害代码整洁性或可维护性,或者解决的可能仅仅是特定的范围内才存在的问题。 多维数组与交错数组 如该 StackOverflow 文章所述,遍历交错数组通常比遍历多维数组更高效,因为多维数组需要函数调用。 注意: * 声明为 type[x][y] 则为数组的数组而与 type[x,y] 不同。 * 使用 ILSpy 或类似工具检查通过访问多维数组生成的 IL 即可发现此情况。 在 Unity 5.3 中进行性能分析时,在三维 100x100x100 数组上进行 100 次完全顺序的迭代得出了以下时间,这些值是通过 10 遍测试获得的平均结果: 数组类型总时间(100 次迭代)一维数组660 ms交错数组730 ms多维数组3470
Unity3D Unity3D:一般优化 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 一般优化 有多少原因导致性能问题,就有多少种不同的方式来优化代码。通常,强烈建议开发者在尝试应用 CPU 优化之前对其应用程序进行性能分析。不过,还是存在几种普遍适用的简易 CPU 优化方式。 按 ID 寻址属性 Unity 不使用字符串名称对 Animator、Material 和 Shader 属性进行内部寻址。为了加快速度,所有属性名称都经过哈希处理为属性 ID,实际上正是这些 ID 用于寻址属性。 因此,每当在 Animator、Material 或 Shader 上使用 Set 或 Get 方法时,请使用整数值方法而非字符串值方法。字符串方法只执行字符串哈希处理,然后将经过哈希处理的 ID 转发给整数值方法。 从字符串哈希创建的属性 ID 在单次运行过程中是不变的。
Unity3D Unity3D:字符串和文本 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 字符串和文本 字符串和文本的处理不当是 Unity 项目中性能问题的常见原因。 在 C# 中,所有字符串均不可变。 对字符串的任何操作均会导致分配一个完整的新字符串。 这种操作的代价相对比较高,而且在大型字符串上、大型数据集上或紧凑循环中执行时,接连不断的重复的字符串可能发展成性能问题。 此外,由于 N 个字符串连接需要分配 N–1 个中间字符串,串行连接也可能成为托管内存压力的主要原因。 如果必须在紧凑循环中或每帧期间对字符串进行连接,请使用 StringBuilder 执行实际连接操作。 为最大限度减少不必要的内存分配,可重复使用 StringBuilder 实例。 Microsoft 整理了一份处理 C# 中的字符串的最佳做法清单,可在这里的 MSDN 网站上找到该清单:msdn.microsoft.com。 区域约束与序数比对 在与字符串相关的代码中经常出现的核心性能问题之一是无意间使用了缓慢的默认字符串 API。 这些 API 是为商业应用程序构建的,可根据与文本字符有关的多种
Unity3D Unity3D:资源审核 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 资源审核 实际项目中发现的许多问题都是源自无心之过:临时的“测试”更改和疲惫不堪的开发人员的误点击可能会暗地里添加性能不良的资源或更改现有资源的导入设置。 对于任何大规模的项目,最好是将防止人为错误作为第一道防线。编写一小段代码来禁止将 4K 未压缩纹理添加到项目中,是相对简单的事情。 但是,这种错误操作却是十分常见的。一个 4K 的未压缩纹理会占用 60 MB 的内存。在低端移动设备(如 iPhone 4S)上,占用的内存超过大约 180–200 MB 是十分危险的。如果误添加此类纹理,就会无意中占用应用程序内存预算的三分之一到四分之一,并导致难以诊断的内存不足错误。 虽然现在可以使用 5.3 版内存性能分析器来跟踪这些问题,但最好在最初就确保这些错误不可能发生。 使用 AssetPostprocessor Unity Editor 中的 AssetPostprocessor 类可用于在 Unity 项目上强制执行某些最低标准。
Unity3D Unity3D:日志文件 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 日志文件 Unity 为编辑器、包管理器、许可、开发播放器和 Hub 生成日志文件。您可以使用这些日志文件来了解应用程序中发生任何问题的位置。 Unity 会将控制台窗口中的所有消息、警告和错误添加到日志文件中。若要将自己的消息添加到控制台窗口和日志,请使用 Debug 类。 每个操作系统将日志文件存储在不同的位置。此页面上概述了默认位置,但您也可以使用某些命令行参数来控制 Unity 生成日志文件的时间和位置。有关详细信息,请参阅命令行参数文档。 注意:并非所有平台都支持此功能。有关详细信息,请参阅特定于平台的文档。 与编辑器相关的日志位置 您可以从控制台窗口访问编辑器日志。为此,请打开控制台窗口(菜单:常规>>控制台窗口),然后从控制台窗口菜单中选择打开编辑器日志。 您可以使用操作系统的文件管理器应用程序访问其他日志。 Linux目录 日志类型日志位置编辑 器~/.config/unity3d/Editor.log包管理器~/.config/unity3d/upm.
Unity3D Unity3D:分析探查器跟踪 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 分析探查器跟踪 分析应用程序时,可能会遇到一些常见问题。本页概述了如何调查一些常见性能问题的原因。 解析启动跟踪 在查看启动时间的痕迹时,有两种关键方法可以检查:和 。这两种方法是项目的配置、资产和代码可能影响启动时间的主要位置。UnityInitApplicationGraphicsUnityLoadApplication 注意:应用程序的启动时间因平台而异。在大多数平台上,启动发生在初始屏幕出现时。 在上面的屏幕截图中,来自在 iOS 设备上运行的示例 Unity 项目的 Instruments 跟踪,在特定于平台的方法中,记下 and 方法。startUnityUnityInitApplicationGraphicsUnityLoadApplication UnityInitApplicationGraphics执行大量内部工作,例如设置图形设备和初始化许多 Unity 内部系统。它还通过加载资源系统中包含的所有文件的索引来初始化资源系统。 Unity 的资源系统在其数据中包含每
Unity3D Unity3D:低级原生插件 Profiler API 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 低级原生插件 Profiler API Unity 性能分析器是一种可用于分析和改进应用程序性能的工具。性能分析器对应用程序的原生 Unity 代码和托管代码中的函数调用执行帧时间分析。可以使用 ProfilerMarker API 将计时标记插入自己的代码中,以便更好地了解应用程序特定区域的性能。 可以使用低级原生插件性能分析器 API 扩展性能分析器并分析原生插件代码的性能,或是准备性能分析数据以发送到第三方性能分析工具,例如 Razor (PS4)、PIX(Xbox、Windows)、Chrome Tracing、ETW、ITT、Vtune 或 Telemetry。低级原生插件性能分析器 API 提供以下接口来用于 Unity 性能分析器与外部工具之间的通信: * IUnityProfiler:使用此接口可从 C/C++ 原生插件代码向 Unity 性能分析器添加检测事件。 * IUnityProfilerCallbacks:使用此接口可拦截 Unity 性能分析器事件并将它们存储或重
Unity3D Unity3D:创建自定义模块详细信息面板 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 创建自定义模块详细信息面板 选择模块时,模块详细信息面板将显示在“性能分析器”窗口的底部。您可以自定义此部分以显示与模块相关的其他详细信息或显示性能数据的自定义可视化效果。 要为 Profiler 模块创建自定义模块详细信息面板,请执行以下操作: * 创建模块详细信息面板 控制器脚本以绘制自定义模块详细信息面板。 * 创建探查器模块脚本,以将自定义模块详细信息面板控制器连接到自定义探查器模块。 创建脚本以控制模块详细信息面板 可以使用探查器模块视图控制器基类在探查器窗口中自定义模块详细信息面板。为此,请创建一个脚本,用于控制在选择特定模块时模块详细信息面板中显示的内容。 为自定义模块详细信息面板而创建的脚本必须: * 为调用基构造函数的视图控制器定义公共构造函数。base(profilerWindow) * 覆盖以构建自定义模块详细信息面板。CreateView 例如: public class CustomDetailsViewController : Profile
Unity3D Unity3D:性能分析器模块编辑器 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 Profiler Module Editor(性能分析器模块编辑器) Profiler Module Editor 工具可用于将您自己的自定义模块添加到 Unity Profiler 窗口。您还可以向模块添加内置计数器,或使用运行时 API 将您自己的自定义计数器添加到模块。有关如何实现自己的计数器的信息,请参阅有关 Profiler Counters API 的 Profiling 包文档。 当您需要深入了解要进一步分析的统计信息,或打算将有关您的应用程序的自定义统计信息添加到 Profiler 窗口时,此工具特别有用。 要使用 Profiler Module Editor,请打开 Profiler 窗口 (Window > Analysis > Profiler),然后选择 Profiler Modules 下拉选单。 选择齿轮图标,打开 Profiler Module