vanelloper 2021-07-19 10:23 采纳率: 40%
浏览 307
已结题

unity动画中想要添加粒子特效怎么加

可以通过把粒子特效作为动画事件来添加么?如果不能的话该怎么添加

  • 写回答

1条回答 默认 最新

  • 带酒书生 2021-07-19 15:30
    关注

    可以的,这是我之前写的一个脚本,可以作为参考

    public class AmtEvent : UnityObject
    {
        public ParticleSystem mWater;
        /// <summary>
        /// vect2.x表示事件类型0表示播放1表示暂停,vect2.y表示事件插入时间
        /// </summary>
        /// <typeparam name="Vector2"></typeparam>
        /// <returns></returns>
        public List<Vector2> mEventList = new List<Vector2>();
        Animation mAmt;
        protected override void Init()
        {
            base.Init();
            mAmt=GetComponent<Animation>();
            if (mEventList != null && mEventList.Count > 0)
            {
                for (int i = 0; i < mEventList.Count; i++)
                {
                    AnimationEvent animationEvent = new AnimationEvent();
                    if (mEventList[i].x == 0)
                    {
                        animationEvent.functionName = "PlayParticle";
                    }
                    else
                    {
                        animationEvent.functionName = "StopParticle";
                    }
                    animationEvent.time = mEventList[i].y;
                    mAmt.clip.AddEvent(animationEvent);
                }
            }
        }
        void PlayParticle()
        {
            mWater.Play();
        }
        void StopParticle()
        {
            mWater.Stop();
        }
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月30日
  • 已采纳回答 11月22日
  • 创建了问题 7月19日

悬赏问题

  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。