版本:Unity 6 (6000.0)
语言英语
  • C#

FrameDataView.GetUnityObjectInfo

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交的内容,但我们确实会阅读我们用户的每条建议性修改,并在适用的情况下进行更新。

关闭

提交失败

由于某种原因,您的建议修改无法提交。请在几分钟后<a>重试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public bool GetUnityObjectInfo(int instanceId, out Profiling.FrameDataView.UnityObjectInfo info);

参数

instanceId UnityEngine.Object 实例标识符。
info 包含名称和其他属性的 UnityEngine.Object 信息输出结构体。

返回值

bool 如果 instanceId 在帧中存在且对象信息可用,则返回 true。

描述

获取给定实例 ID 的 UnityEngine.Object 信息。

获取分析器捕获中 UnityEngine.Object 实例的信息。

分析器样本可以与表示资产、游戏对象,或源自 UnityEngine.Object 的任何内容的对象的实例相关联。
此信息作为样本元数据的一部分提供。若要获取此元数据,可以使用 RawFrameDataView.GetSampleMetadataAsIntHierarchyFrameDataView.GetItemInstanceID

using UnityEditorInternal;
using UnityEditor.Profiling;

public class Example { public static string GetInstanceName(int frame, int instanceId) { using (var frameData = ProfilerDriver.GetRawFrameDataView(frame, 0)) { if (!frameData.GetUnityObjectInfo(instanceId, out var info)) return "N/A"; return (frameData.GetUnityObjectNativeTypeInfo(info.nativeTypeIndex, out var typeInfo)) ? typeInfo.name + ": " + info.name : info.name; } } }