VRCQualitySettings
一个只读层,封装 UnityEngine.QualitySettings 的属性。
当前暴露的属性:
int AntiAliasingint PixelLightCountfloat LODBiasint MaximumLODLevelShadowResolution ShadowResolutionfloat ShadowDistanceint ShadowCascadesint vSyncCount
其中一些可能受到用户图形设置的影响。
阴影距离
你可以使用 VRCQualitySettings.SetShadowDistance() 覆盖世界中的阴影距离。在 VRChat 中,该值被限制在 0.1f 到 10000.0f 之间。
SetShadowDistance() 接受四个 float 参数:low、medium、high 和 mobile。这些对应图形设置菜单中的"Low"、"Medium"和"High"阴影质量设置。如果你指定了不同的值,将使用与本地用户当前设置匹配的参数。mobile 适用于所有非 PC 平台,无论设置如何。如果你想为所有四个参数使用相同的值,请使用接受单个参数的 SetShadowDistance() 重载方法。
一旦使用此属性设置了阴影距离,用户配置的"Shadow Quality"设置将被覆盖。用户将在其图形设置中看到警告。请谨慎设置阴影距离,因为较大的值可能会对性能产生严重影响。
要禁用覆盖并恢复为用户配置的阴影距离值,可以调用 VRCQualitySettings.ResetShadowDistance()。
此外,以下 2 个与阴影相关的属性可作为读写属性访问:
float shadowCascade2SplitVector3 shadowCascade4Split
所有属性在世界加载时重置。
OnChanged 事件
当用户更改影响已暴露属性的图形设置时,会触发 OnVRCQualitySettingsChanged 事件。