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() { //uvscroll.isLoop = EditorGUILayout.Toggle("是否循环:", uvscroll.isLoop); //uvscroll.IncludeChildren = EditorGUILayout.Toggle("是否包括子节点:", uvscroll.IncludeChildren); EditorGUILayout.HelpBox("Effect_UVScroll脚本不能和Effect_UVTextureAnimator同时作用于同一张贴图", MessageType.Warning); uvscroll.RunMode = (EffectRunMode)EditorGUILayout.EnumPopup("运行模式:", uvscroll.RunMode); uvscroll.TexturePropertyName = EditorGUILayout.TextField("属性名:", uvscroll.TexturePropertyName); if (uvscroll.RunMode == EffectRunMode.Self) { uvscroll.UseSharedMaterial = EditorGUILayout.Toggle("使用共享材质:", uvscroll.UseSharedMaterial); } uvscroll.UseModelUV = EditorGUILayout.Toggle("使用模型UV:", uvscroll.UseModelUV); uvscroll.fStartDelay = EditorGUILayout.FloatField("延时开始(小于0.03无延时):", uvscroll.fStartDelay); uvscroll.BetweenTimes = EditorGUILayout.Vector2Field("两次流动间隔(小于0.03无间隔):", uvscroll.BetweenTimes); uvscroll.ScrollSpeed = EditorGUILayout.Vector2Field("流动速度:", uvscroll.ScrollSpeed); uvscroll.ScrollXTime = EditorGUILayout.FloatField("X流动时间(小于等于0不流动):", uvscroll.ScrollXTime); uvscroll.ScrollYTime = EditorGUILayout.FloatField("Y流动时间(小于等于0不流动):", uvscroll.ScrollYTime); uvscroll.RotateSpeed = EditorGUILayout.Vector3Field("旋转速度:", uvscroll.RotateSpeed); uvscroll.RotateXTime = EditorGUILayout.FloatField("X旋转时间(小于等于0不转):", uvscroll.RotateXTime); uvscroll.RotateYTime = EditorGUILayout.FloatField("Y旋转时间(小于等于0不转):", uvscroll.RotateYTime); uvscroll.RotateZTime = EditorGUILayout.FloatField("Z旋转时间(小于等于0不转):", uvscroll.RotateZTime); uvscroll.RoateInWorldSpace = EditorGUILayout.Toggle("是否在世界空间旋转:", uvscroll.RoateInWorldSpace); if (GUILayout.Button("Play")) { uvscroll.Play(); } if (GUILayout.Button("Stop")) { uvscroll.Stop(); } if (GUILayout.Button("Reset")) { uvscroll.ResetValue(); } if (GUI.changed) { EditorUtility.SetDirty(uvscroll); } }