You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CrowdControl/Assets/FlatKit/Shaders/GradientSkybox/Editor/GradientSkyboxEditor.cs

33 lines
1.1 KiB
C#

3 months ago
using UnityEngine;
using UnityEditor;
public class GradientSkyboxEditor : UnityEditor.MaterialEditor {
public override void OnInspectorGUI() {
serializedObject.Update();
var theShader = serializedObject.FindProperty ("m_Shader");
if (isVisible && !theShader.hasMultipleDifferentValues && theShader.objectReferenceValue != null) {
EditorGUI.BeginChangeCheck();
base.OnInspectorGUI();
if (EditorGUI.EndChangeCheck()) {
var dirPitch = GetMaterialProperty(targets, "_DirectionPitch");
var dirYaw = GetMaterialProperty(targets, "_DirectionYaw");
var dirPitchRad = dirPitch.floatValue * Mathf.Deg2Rad;
var dirYawRad = dirYaw.floatValue * Mathf.Deg2Rad;
var direction = new Vector4(Mathf.Sin(dirPitchRad) * Mathf.Sin(dirYawRad), Mathf.Cos(dirPitchRad),
Mathf.Sin(dirPitchRad) * Mathf.Cos(dirYawRad), 0.0f);
GetMaterialProperty(targets, "_Direction").vectorValue = direction;
PropertiesChanged();
}
}
}
}