private void PlayerImpl() { GenrateMaterialInstance(); //把材质设置进动画里 if (FadeInOutMaterialColor) { //如果运行模式不是外部指定的 if (FadeInOutMaterialColor.RunMode == EffectRunMode.OutSiedePointed) { FadeInOutMaterialColor.SetMaterialInstance(GetMaterialInstance()); FadeInOutMaterialColor.Play(); } } if (FadeInOutMaterialFloat) { //如果运行模式不是外部指定的 if (FadeInOutMaterialFloat.RunMode == EffectRunMode.OutSiedePointed) { FadeInOutMaterialFloat.SetMaterialInstance(GetMaterialInstance()); FadeInOutMaterialFloat.Play(); } } if (UVTextureAnimator) { //如果运行模式不是外部指定的 if (UVTextureAnimator.RunMode == EffectRunMode.OutSiedePointed) { UVTextureAnimator.SetMaterialInstance(GetMaterialInstance()); UVTextureAnimator.Play(); } } if (UVScroll) { //如果运行模式不是外部指定的 if (UVScroll.RunMode == EffectRunMode.OutSiedePointed) { UVScroll.SetMaterialInstance(GetMaterialInstance()); UVScroll.Play(); } } if (GradientColor) { //如果运行模式不是外部指定的 if (GradientColor.RunMode == EffectRunMode.OutSiedePointed) { GradientColor.SetMaterialInstance(GetMaterialInstance()); GradientColor.Play(); } } if (Duartion > 0.03f) { GameUtil.StartCoroutineHelper(this, WaitForFinish()); } }
void PlayMaterialControl() { List <Material> mats = new List <Material>(); mats.Clear(); if (useMultiColor) { foreach (LineRenderer line in m_subLineRenders) { mats.AddRange(line.materials); } UVScroll.SetMaterialInstance(mats); } else { mats.AddRange(m_LineRender.materials); } //把材质设置进动画里 if (FadeInOutMaterialColor) { //如果运行模式不是外部指定的 if (FadeInOutMaterialColor.RunMode == EffectRunMode.OutSiedePointed) { FadeInOutMaterialColor.SetMaterialInstance(mats); FadeInOutMaterialColor.Play(); } } if (FadeInOutMaterialFloat) { //如果运行模式不是外部指定的 if (FadeInOutMaterialFloat.RunMode == EffectRunMode.OutSiedePointed) { FadeInOutMaterialFloat.SetMaterialInstance(mats); FadeInOutMaterialFloat.Play(); } } if (UVTextureAnimator) { //如果运行模式不是外部指定的 if (UVTextureAnimator.RunMode == EffectRunMode.OutSiedePointed) { UVTextureAnimator.SetMaterialInstance(mats); UVTextureAnimator.Play(); } } if (UVScroll) { //如果运行模式不是外部指定的 if (UVScroll.RunMode == EffectRunMode.OutSiedePointed) { UVScroll.SetMaterialInstance(mats); UVScroll.Play(); } } }
void PlayMaterialControl() { //把材质设置进动画里 if (FadeInOutMaterialColor) { //如果运行模式不是外部指定的 if (FadeInOutMaterialColor.RunMode == EffectRunMode.OutSiedePointed) { FadeInOutMaterialColor.SetMaterialInstance(GenerateMaterialInstance()); FadeInOutMaterialColor.Play(); } } if (FadeInOutMaterialFloat) { //如果运行模式不是外部指定的 if (FadeInOutMaterialFloat.RunMode == EffectRunMode.OutSiedePointed) { FadeInOutMaterialFloat.SetMaterialInstance(GenerateMaterialInstance()); FadeInOutMaterialFloat.Play(); } } if (UVTextureAnimator) { //如果运行模式不是外部指定的 if (UVTextureAnimator.RunMode == EffectRunMode.OutSiedePointed) { UVTextureAnimator.SetMaterialInstance(GenerateMaterialInstance()); UVTextureAnimator.Play(); } } if (UVScroll) { //如果运行模式不是外部指定的 if (UVScroll.RunMode == EffectRunMode.OutSiedePointed) { UVScroll.SetMaterialInstance(GenerateMaterialInstance()); UVScroll.Play(); } } if (GradientColor) { //如果运行模式不是外部指定的 if (GradientColor.RunMode == EffectRunMode.OutSiedePointed) { GradientColor.SetMaterialInstance(GenerateMaterialInstance()); GradientColor.Play(); } } }
public override void OnInspectorGUI() { GUILayout.TextField("所有跟时间有关的变量小于0.03秒,等同于无效!"); pa.ColorName = EditorGUILayout.TextField("属性名:", pa.ColorName); pa.Loop = EditorGUILayout.Toggle("循环:", pa.Loop); pa.FadeAlpha = EditorGUILayout.Toggle("alpha:", pa.FadeAlpha); pa.FadeColor = EditorGUILayout.Toggle("颜色:", pa.FadeColor); GUI.enabled = !EditorApplication.isPlaying; pa.RunMode = (EffectRunMode)EditorGUILayout.EnumPopup("运行方式:", pa.RunMode); if (pa.RunMode == EffectRunMode.Self) { pa.UseSharedMaterial = EditorGUILayout.Toggle("使用共享材质:", pa.UseSharedMaterial); } pa.valueMode = (ValueMode)EditorGUILayout.EnumPopup("运算方式:", pa.valueMode); GUI.enabled = true; if (pa.valueMode == ValueMode.Constant) { ConstantUI(); } else if (pa.valueMode == ValueMode.Curve) { CurveUI(); } if (GUILayout.Button("Play")) { pa.Play(); } if (GUILayout.Button("Stop")) { pa.Stop(); } }