Unity编辑器扩展-第六集-创建窗口/批量填图

这篇具有很好参考价值的文章主要介绍了Unity编辑器扩展-第六集-创建窗口/批量填图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第五集链接:Unity编辑器扩展-第五集-撤回操作/禁止操作/加快捷键_菌菌巧乐兹的博客-CSDN博客

一、本节目标+效果展示

1.创建窗口

Unity编辑器扩展-第六集-创建窗口/批量填图

2.图片批量赋值到物体上

Unity编辑器扩展-第六集-创建窗口/批量填图

二、创建窗口 

这个功能其实也很好理解,我们之前学了点击选择,但我们难免会遇见需要选不同位置,不同种类的很多物体,这时候窗口就很好的解决了这个问题,它可以随便你编辑多少个可以拖物体的地方。

1.了解ScriptableWizard

ScriptableWizard就是一个类,里面有很多关于窗口的功能。

2.我们写一个类继承ScriptableWizard类

(这里和编辑脚本写在一起就可以,不需要单另一个脚本,用起来还方便)

例:

Unity编辑器扩展-第六集-创建窗口/批量填图

 

 3.打开创建的这个窗口

Unity编辑器扩展-第六集-创建窗口/批量填图

有个方法:

public class Editor_Base
{

    [MenuItem("基础扩展/批量赋值图片")]
    static void Rename_SpriteName()
    {
        //前面我们继承的类  //打开窗口      //上文写的那个类       //窗口的名称     //窗口右下角的按钮
        ScriptableWizard.DisplayWizard<SetName_SpriteName>("统一创建按钮", "赋值图片");
    }
}

到这里就可以去unity中打开窗口了。

备注:这里我们可以理解为,我们到底有什么是可以写在别的脚本里的,我们以什么样式展示(窗口,菜单)都是在编辑脚本里写的。

4.加入方法void OnWizardCreate()

这个方法里加入,你希望窗口执行什么功能

这块就正常写,如果这里不会。。umm....可以先放放,先学学别的再回来文章来源地址https://www.toymoban.com/news/detail-494972.html

public class SetName_SpriteName : ScriptableWizard
{
    //想要修改的物体
    public List<GameObject> oldList;
    //图片们
    public List<Sprite> spriteList;

    //我们打开窗口以后要干什么
    private void OnWizardCreate()
    {
        //如果选的物体和照片数量一致
        if (oldList.Count == spriteList.Count) {
            
            for (int i = 0; i < oldList.Count; i++)
            {
                //上一节讲的撤回相关,这里删了也不影响功能
                Undo.RecordObject(oldList[i], "赋值图片,改名称");

                //把名字改成图片的名字
                oldList[i].name = spriteList[i].name;
                //把图片改成现在的图片
                oldList[i].GetComponent<Image>().sprite = spriteList[i];
            }
        }
    }
}

三、所有代码 

using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;

public class SetName_SpriteName : ScriptableWizard
{
    //想要修改的物体
    public List<GameObject> oldList;
    //图片们
    public List<Sprite> spriteList;

    //我们打开窗口以后要干什么
    private void OnWizardCreate()
    {
        //如果选的物体和照片数量一致
        if (oldList.Count == spriteList.Count) {
            
            for (int i = 0; i < oldList.Count; i++)
            {
                //上一节讲的撤回相关,这里删了也不影响功能
                Undo.RecordObject(oldList[i], "赋值图片,改名称");

                //把名字改成图片的名字
                oldList[i].name = spriteList[i].name;
                //把图片改成现在的图片
                oldList[i].GetComponent<Image>().sprite = spriteList[i];
            }
        }
    }
}

public class Editor_Base
{
    [MenuItem("基础扩展/批量赋值图片")]
    static void Rename_SpriteName()
    {
        ScriptableWizard.DisplayWizard<SetName_SpriteName>("统一创建按钮", "赋值图片");
    }
}

到了这里,关于Unity编辑器扩展-第六集-创建窗口/批量填图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity 可视化节点编辑器(GraphView、编辑器扩展)

      前几天把导师的项目打包发布交了一稿,这半个星期除了再把项目缝缝补补外(说实话项目做到后边实在有些无聊,都是些琐碎的东西而且自己也学不到什么,纯粹是 浪费 消磨时间)无聊逛Unity商店发现了个有意思的东西,说实话一开始我以为只是单纯绘制的2D动画:

    2024年02月12日
    浏览(63)
  • Unity编辑器扩展(外挂)

    每日一句:未来的样子藏在现在的努力里 目录 什么是编译器开发 C#特性[System.Serializable] 特殊目录 命名空间 /*检视器属性控制*/     //添加变量悬浮提示文字     //给数值设定范围(最小0,最大150) //指定输入框,拥有5行 //默认显示5行,最多显示10行内容,再多用滚动条控

    2024年01月24日
    浏览(88)
  • Unity编辑器扩展之GenericMenu菜单扩展

    内容将会持续更新,有错误的地方欢迎指正,谢谢!   Unity编辑器扩展之GenericMenu自定义菜单       TechX 坚持将创新的科技带给世界! 拥有更好的学习体验 —— 不断努力,不断进步,不断探索 TechX —— 心探索、心进取! 助力快速掌握 GenericMenu 菜单扩展 为初学者节省宝贵的

    2024年02月01日
    浏览(76)
  • Unity 编辑器扩展之 Attribute

    Unity内置属性[Attribute]是一种类似修饰功能的标签。可以对OnSceneGUI,InspectorGUI,MenuGUI,WindowGUI等实现各种各样的GUI扩展。用户只要添加上特性标签,就能够自由的使用这些扩展功能。下面列出一些常用的标签: 隐藏属性在Inspector面板上的显示。在继承了MonoBehaviour的类中,用

    2023年04月09日
    浏览(71)
  • Unity编辑扩展:功能篇之Json数据编辑器

    前言 编辑器扩展算是比较纯粹的功能开发,基本没有什么理论知识,都是一些 Unity 相关接口的使用与数据类型的设计操作等。在本篇文章主要的文字描述基本都是在做代码解释,为了使内容接受度更高,我会尽量描述到代码结构中的每个细节。如果有对此不太了解又很感兴

    2024年02月06日
    浏览(103)
  • 【Unity编辑器扩展】| Inspector监视器面板扩展

    前言 前面我们介绍了Unity中编辑器扩展的一些基本概念及基础知识,还有编辑器扩展中用到的相关特性Attribute介绍。 后面就来针对Uniity编辑器扩展中比较常用的模块进行学习介绍。 本文就来详细介绍一下Unity编辑器扩展中关于 Inspector面板 扩展功能学习。

    2024年02月08日
    浏览(66)
  • 盘点Unity几款编辑器扩展工具

    unity 编辑器一个不容忽视的强大之处就是非常易于自定义扩展工具,来满足各种各样的美术、策划及程序上的需求。今天为大家介绍Asset Store资源商店中几款实用的编辑器扩展工具,帮助大家直接在Unity编辑器中完成3D建模与调整工作,免去与其它软件进行数据转换的过程,从

    2024年04月09日
    浏览(49)
  • Unity编辑器扩展-第四集-获取物体的方法

    第三集链接:Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件_菌菌巧乐兹的博客-CSDN博客  一、本节目标+效果展示 1.改选中单个物体的名字 2.改选中所有物体的名字  3.选中了所有的物体,但只改第一层物体的名称  4.来个有用的(选中的所有物体,按顺序起名)

    2024年02月14日
    浏览(59)
  • 【Unity UIToolkit】UIBuilder基础教程-制作简易的对话系统编辑器 3步教你玩转Unity编辑器扩展工具

    随着Unity开发的深入,基本的Unity编辑器界面并不能满足大部分玩家高阶开发的要求。为了提高开发的效率,有针对性的定制化扩展编辑器界面是提高开发效率的不错选择。 今天就给大家带来Unity官方提高的编辑器扩展工具UIToolkit(集成了UIBuilder和UI Debugger等插件)的使用教程。

    2024年02月04日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包