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

XRStats.TryGetStat

建议更改

成功!

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

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static bool TryGetStat(IntegratedSubsystem xrSubsystem, string tag, out float value);

参数

xrSubsystem 注册统计数据的子系统。
tag 用于查询统计数据的标签。
value 接收请求的统计数据的当前值。当此方法返回 true 时,包含有效值。

返回值

bool 如果请求的统计数据可用,则为 true,否则为 false。

描述

检索 XR 子系统的统计数据。

TryGetStat 方法查询 XR 子系统以获取指定的统计数据,如果可用,则将输出 value 参数设置为当前统计数据值。TryGetStat 返回 true 以指示输出参数包含有效统计数据值。如果指定的标签未在子系统中定义,或者子系统本身未准备好,则 TryGetStat 返回 false。

using UnityEngine.XR.Provider;
using System.Collections.Generic;
using UnityEngine.XR;
using UnityEngine;
using XRStats = UnityEngine.XR.Provider.XRStats;

public static class OpenVRStats { public static float GPUFrameTime() { float tmp; XRStats.TryGetStat(GetFirstDisplaySubsystem(), "OpenVR.Display.GPUFrameTime", out tmp); return tmp; }

public static float MotionToPhoton() { float tmp; XRStats.TryGetStat(GetFirstDisplaySubsystem(), "MotionToPhoton", out tmp); return tmp; }

// etc... private static IntegratedSubsystem GetFirstDisplaySubsystem() { List<XRDisplaySubsystem> displays = new List<XRDisplaySubsystem>(); SubsystemManager.GetInstances(displays); if (displays.Count == 0) { Debug.Log("No display subsystem found."); return null; } return displays[0]; } }