Unity 编辑器拓展之 自定义改变整个粒子特效缩小放大

将脚本加入Editor,右键点击相应的特效即可,面板上更改这个psScaleFloat
自定义修改特效大小

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.IO;
using System;
using UnityEditor.Experimental.SceneManagement;
using UnityEditor.SceneManagement;
using I2.Loc;

public class PartialScale : EditorWindow
{
    private static PartialScale window;
    public static double psScaleFloat = 100f;
    private static string patchMSize = "100";

    static GameObject seGameObject;
    [MenuItem("GameObject/缩放当前特效", false, 12)]
    static void CreatePatch()
    {
        if (seGameObject == null)
        {
            seGameObject = Selection.activeGameObject;
        }
        if (seGameObject == null)
        {
            Debug.LogError("请选择游戏物体");
            return;
        }
        window = (PartialScale)GetWindow(typeof(PartialScale)); //初始化一个操作窗口  
        window.minSize = new Vector2(400, 600);
        window.maxSize = new Vector2(800, 900);
        window.Show();
    }

    void ResetParticle()
    {
        foreach (var item in seGameObject.transform.GetComponentsInChildren<ParticleSystem>())
        {
            var main = item.main;
            main.scalingMode = ParticleSystemScalingMode.Local;
            item.transform.localScale = new Vector3((float)psScaleFloat, (float)psScaleFloat, (float)psScaleFloat);
        }
    }

    private void OnGUI()
    {
        patchMSize = EditorGUILayout.TextField("缩放大小:", patchMSize);
        psScaleFloat = Convert.ToDouble(patchMSize);
        EditorGUILayout.Space();

        if (GUILayout.Button("确认缩放"))
        {
            ResetParticle();
            seGameObject = null;
            window.Close();
        }
    }
}

用法图一
在这里插入图片描述
对应的编辑器图二:
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lq1340817945

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值