48 lines
1.3 KiB
C#
48 lines
1.3 KiB
C#
|
//
|
|||
|
// 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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|