Esempio n. 1
0
        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());
            }
        }
Esempio n. 2
0
        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();
                }
            }
        }
Esempio n. 3
0
        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();
                }
            }
        }
Esempio n. 4
0
        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);
            }
        }