63 lines
2.0 KiB
C#
63 lines
2.0 KiB
C#
using UnityEditor;
|
|
using UnityEngine;
|
|
|
|
namespace AllIn13DShader
|
|
{
|
|
public class TriplanarEffectDrawer : AbstractEffectDrawer
|
|
{
|
|
private int mainTexPropertyIndex;
|
|
private EffectProperty mainNormalMapProperty;
|
|
|
|
public TriplanarEffectDrawer(EffectProperty mainNormalMapProperty, AllIn13DShaderInspectorReferences references,
|
|
PropertiesConfig propertiesConfig) : base(references, propertiesConfig)
|
|
{
|
|
this.drawerID = Constants.TRIPLANAR_EFFECT_DRAWER_ID;
|
|
this.mainNormalMapProperty = mainNormalMapProperty;
|
|
|
|
mainTexPropertyIndex = FindPropertyIndex("_MainTex");
|
|
}
|
|
|
|
protected override void DrawProperties()
|
|
{
|
|
bool isTriplanarNoiseTransitionEnabled = references.IsKeywordEnabled("_TRIPLANAR_NOISE_TRANSITION_ON");
|
|
|
|
MaterialProperty matProperty = references.matProperties[mainTexPropertyIndex];
|
|
|
|
EffectPropertyDrawer.DrawProperty(
|
|
materialProperty: matProperty,
|
|
labelPrefix: string.Empty,
|
|
displayName: matProperty.displayName,
|
|
customValue: string.Empty,
|
|
allowReset: true,
|
|
isKeywordProperty: false,
|
|
propertyType: EffectProperty.PropertyType.BASIC,
|
|
references: references);
|
|
|
|
EffectProperty triplanarNoiseTransitionToggleProperty = effectConfig.effectProperties[6];
|
|
|
|
DrawProperty(effectConfig.effectProperties[0]);
|
|
DrawProperty(effectConfig.effectProperties[1]);
|
|
|
|
if (IsEffectPropertyVisible(mainNormalMapProperty, references.targetMatInfos))
|
|
{
|
|
EditorUtils.DrawLine(Color.grey, 1, 3);
|
|
DrawProperty(mainNormalMapProperty, false);
|
|
DrawProperty(effectConfig.effectProperties[2]);
|
|
}
|
|
|
|
EditorUtils.DrawLine(Color.grey, 1, 3);
|
|
DrawProperty(effectConfig.effectProperties[3]);
|
|
DrawProperty(effectConfig.effectProperties[4]);
|
|
|
|
EditorUtils.DrawLine(Color.grey, 1, 3);
|
|
DrawProperty(effectConfig.effectProperties[5]);
|
|
DrawProperty(triplanarNoiseTransitionToggleProperty);
|
|
|
|
if (isTriplanarNoiseTransitionEnabled)
|
|
{
|
|
DrawProperty(effectConfig.effectProperties[7]);
|
|
DrawProperty(effectConfig.effectProperties[8]);
|
|
}
|
|
}
|
|
}
|
|
} |