Unity——ParticleSystem(粒子系统)与Animator(动画状态机)批量管理器
该脚本可以在Unity运行时同时播放多个粒子与动画,方便美工、特效师反复查看特效和动画细节。
(注:该脚本只做了简单的循环播放控制与单次播放控制,如有其他需求可自行扩展。)
using UnityEngine;
using System.Collections;
using UnityEditor;
public class ParticleAndAnimation : MonoBehaviour
{
void Start() {
PlayOnce();
}
[ContextMenu("Play Loop")]
public void PlayLoop() {
ParticleSystem[] pss = this.GetComponentsInChildren<ParticleSystem> (true);
foreach (ParticleSystem ps in pss) {
ps.loop = true;
ps.Play();
}
print("粒子系统开启循环成功");
Animator[] anis = this.GetComponentsInChildren<Animator>(true);
foreach (Animator an in anis)
{
//string animString = an.GetCurrentAnimatorClipInfo(0)[0].clip.name;
string animString = an.runtimeAnimatorController.animationClips[0].name;
AnimationClip clip = an.runtimeAnimatorController.animationClips[0];// an.GetCurrentAnimatorClipInfo(0)[0].clip;
AnimationClipSettings clipsetting = AnimationUtility.GetAnimationClipSettings(clip);

这是一个Unity脚本,用于在运行时批量管理ParticleSystem和Animator,实现粒子效果与动画的循环播放和单次播放。通过简单扩展,可以满足更多播放控制需求。此外,还提供了可视化编辑器按钮以便于操作。
最低0.47元/天 解锁文章
932

被折叠的 条评论
为什么被折叠?



