VR模拟枪支打靶,消灭鬼怪,换弹以及上弦等等硬核枪支操作。 使用HTCVive设备,开启SteamVR进行游玩。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

101 lines
4.9 KiB

using UnityEngine;
using UnityEditor;
public class ME_CustomShaderGUI: ShaderGUI
{
static float tollerance = 0.001f;
public override void OnGUI(MaterialEditor m, MaterialProperty[] properties)
{
var _UseMainTex = ShaderGUI.FindProperty("_UseMainTex", properties);
var _MainTex = ShaderGUI.FindProperty("_MainTex", properties);
var _TintColor = ShaderGUI.FindProperty("_TintColor", properties);
var _NormalTex = ShaderGUI.FindProperty("_NormalTex", properties);
var _MainColor = ShaderGUI.FindProperty("_MainColor", properties);
var _Distortion = ShaderGUI.FindProperty("_Distortion", properties);
var _UseRefractive = ShaderGUI.FindProperty("_UseRefractive", properties);
var _RefractiveStrength = ShaderGUI.FindProperty("_RefractiveStrength", properties);
var _UseSoft = ShaderGUI.FindProperty("_UseSoft", properties);
var _InvFade = ShaderGUI.FindProperty("_InvFade", properties);
var _UseHeight = ShaderGUI.FindProperty("_UseHeight", properties);
var _HeightTex = ShaderGUI.FindProperty("_HeightTex", properties);
var _Height = ShaderGUI.FindProperty("_Height", properties);
var _HeightUVScrollDistort = ShaderGUI.FindProperty("_HeightUVScrollDistort", properties);
var _UseFresnel = ShaderGUI.FindProperty("_UseFresnel", properties);
var _FresnelColor = ShaderGUI.FindProperty("_FresnelColor", properties);
var _FresnelPow = ShaderGUI.FindProperty("_FresnelPow", properties);
var _FresnelR0 = ShaderGUI.FindProperty("_FresnelR0", properties);
var _FresnelDistort = ShaderGUI.FindProperty("_FresnelDistort", properties);
var _UseCutout = ShaderGUI.FindProperty("_UseCutout", properties);
var _CutoutTex = ShaderGUI.FindProperty("_CutoutTex", properties);
var _Cutout = ShaderGUI.FindProperty("_Cutout", properties);
var _CutoutColor = ShaderGUI.FindProperty("_CutoutColor", properties);
var _CutoutThreshold = ShaderGUI.FindProperty("_CutoutThreshold", properties);
var _ZWriteMode = ShaderGUI.FindProperty("_ZWriteMode", properties);
var _CullMode = ShaderGUI.FindProperty("_CullMode", properties);
var _UseAlphaCliping = ShaderGUI.FindProperty("_UseAlphaCliping", properties);
var _AlphaClip = ShaderGUI.FindProperty("_AlphaClip", properties);
var _UseBlending = ShaderGUI.FindProperty("_UseBlending", properties);
m.ShaderProperty(_UseMainTex, _UseMainTex.displayName);
if (Mathf.Abs(_UseMainTex.floatValue - 1) < tollerance)
{
m.ShaderProperty(_MainTex, _MainTex.displayName);
m.ShaderProperty(_TintColor, _TintColor.displayName);
}
m.ShaderProperty(_NormalTex, _NormalTex.displayName);
m.ShaderProperty(_MainColor, _MainColor.displayName);
m.ShaderProperty(_Distortion, _Distortion.displayName);
m.ShaderProperty(_UseRefractive, _UseRefractive.displayName);
if (Mathf.Abs(_UseRefractive.floatValue - 1) < tollerance)
m.ShaderProperty(_RefractiveStrength, _RefractiveStrength.displayName);
m.ShaderProperty(_UseSoft, _UseSoft.displayName);
if (Mathf.Abs(_UseSoft.floatValue - 1) < tollerance)
m.ShaderProperty(_InvFade, _InvFade.displayName);
m.ShaderProperty(_UseHeight, _UseHeight.displayName);
if (Mathf.Abs(_UseHeight.floatValue - 1) < tollerance)
{
m.ShaderProperty(_HeightTex, _HeightTex.displayName);
m.ShaderProperty(_Height, _Height.displayName);
m.ShaderProperty(_HeightUVScrollDistort, _HeightUVScrollDistort.displayName);
}
m.ShaderProperty(_UseFresnel, _UseFresnel.displayName);
if (Mathf.Abs(_UseFresnel.floatValue - 1) < tollerance)
{
m.ShaderProperty(_FresnelColor, _FresnelColor.displayName);
m.ShaderProperty(_FresnelPow, _FresnelPow.displayName);
m.ShaderProperty(_FresnelR0, _FresnelR0.displayName);
m.ShaderProperty(_FresnelDistort, _FresnelDistort.displayName);
}
m.ShaderProperty(_UseCutout, _UseCutout.displayName);
if (Mathf.Abs(_UseCutout.floatValue - 1) < tollerance)
{
m.ShaderProperty(_CutoutTex, _CutoutTex.displayName);
m.ShaderProperty(_Cutout, _Cutout.displayName);
m.ShaderProperty(_CutoutColor, _CutoutColor.displayName);
m.ShaderProperty(_CutoutThreshold, _CutoutThreshold.displayName);
}
m.ShaderProperty(_ZWriteMode, _ZWriteMode.displayName);
m.ShaderProperty(_CullMode, _CullMode.displayName);
m.ShaderProperty(_UseAlphaCliping, _UseAlphaCliping.displayName);
if (Mathf.Abs(_UseAlphaCliping.floatValue - 1) < tollerance)
{
m.ShaderProperty(_AlphaClip, _AlphaClip.displayName);
}
m.ShaderProperty(_UseBlending, _UseBlending.displayName);
m.RenderQueueField();
}
}