38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
using System;
|
|
using UnityEngine;
|
|
using UnityEngine.Rendering.Universal;
|
|
|
|
namespace NBF.Setting
|
|
{
|
|
[Sort(5)]
|
|
public class RenderScaleSetting : RangeOption
|
|
{
|
|
public override string Name => "RenderScale";
|
|
public override string Group => SettingsDef.Group.Graphic;
|
|
public override string Tab => SettingsDef.Tab.Graphic;
|
|
public override int MinValue => 1;
|
|
public override int MaxValue => 20;
|
|
|
|
protected override int DefaultValue => 10;
|
|
|
|
public override int ShowRate => 10;
|
|
|
|
protected override void OnInitialize()
|
|
{
|
|
SetValue(10);
|
|
}
|
|
|
|
protected override void OnApply()
|
|
{
|
|
// 获取当前URP Asset
|
|
UniversalRenderPipelineAsset URPAsset =
|
|
QualitySettings.GetRenderPipelineAssetAt(QualitySettings.GetQualityLevel()) as
|
|
UniversalRenderPipelineAsset;
|
|
if (URPAsset)
|
|
{
|
|
//渲染比例
|
|
URPAsset.renderScale = (float)Math.Round(GetValue() / 10f, 1);
|
|
}
|
|
}
|
|
}
|
|
} |