Net.Like.Xue.Tokyo/Assets/Samples/Unity Toon Shader/0.10.2-preview/Universal render pipeline/UnityChan/Scripts/SetShadowQuality.cs

48 lines
1.3 KiB
C#
Raw Normal View History

2024-11-16 16:00:16 +08:00
//
// QualitySettings/Shadows内のShadow Distance/Shadow Cascades/Cascade splitsをシーンから設定する.
//
//
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace UnityEngine.Rendering.Toon.Universal.Samples
{
[ExecuteInEditMode]
public class SetShadowQuality : MonoBehaviour {
public enum CascadeMode {
Zero = 0,
Two = 2,
Four = 4,
}
public ShadowProjection shadowProjection = ShadowProjection.CloseFit;
public float shadowDistance = 150.0f;
public CascadeMode cascadeMode = CascadeMode.Four;
public float twoCascadeSetting = 33.3f;
public Vector3 fourCascadeSetting = new Vector3(6.7f,13.3f,26.7f);
private Vector3 settingFor4Cascades;
// Use this for initialization
void Start () {
}
void Update()
{
settingFor4Cascades = new Vector3((fourCascadeSetting.x)/100f,
(fourCascadeSetting.x + fourCascadeSetting.y)/100f,
(fourCascadeSetting.x + fourCascadeSetting.y + fourCascadeSetting.z)/100f);
}
void LateUpdate () {
QualitySettings.shadowProjection = shadowProjection;
QualitySettings.shadowDistance = shadowDistance;
QualitySettings.shadowCascades = (int)cascadeMode;
QualitySettings.shadowCascade2Split = twoCascadeSetting/100f;
QualitySettings.shadowCascade4Split = settingFor4Cascades;
}
}
}