SRPG游戏开发(十四)第五章 颜色映射与职业动画 - 六 颜色组编辑器(EditorWindow)

本文介绍了在Unity中开发SRPG游戏时,如何创建一个颜色组编辑器EditorWindow,用于自动填充贴图颜色和方便地编辑颜色组。详细讲解了自动填充贴图颜色的方法、读取Texture2D颜色时遇到的问题及其原因,以及颜色组编辑器的实现过程,包括颜色对比和ScrollView滚动条的使用。
摘要由CSDN通过智能技术生成


返回目录

第五章 颜色映射与职业动画


六        颜色组编辑器(EditorWindow)


每次导入进素材还要把颜色一个一个的输入进去,是不是很麻烦?这一节我们来解决这个问题,更方便的编辑我们的颜色组。


1        自动填充贴图颜色(ColorChartEditor.cs)


首先,创建ColorChartEditor.cs


using UnityEditor;
using UnityEngine;

namespace DR.Book.SRPG_Dev.ColorPalette
{
    [CanEditMultipleObjects]
    [CustomEditor(typeof(ColorChart))]
    public class ColorChartEditor : Editor
    {
        public ColorChart chart
        {
            get { return target as ColorChart; }
        }

        public override void OnInspectorGUI()
        {
            DrawDefaultInspector();

            // TODO 自动填充贴图颜色
        }
    }
}

同样的,我们并不需要自定义Inspector面板,而只是需要一个自动获取贴图颜色的方法。


其次,要获取贴图的颜色,首先得先获取贴图。我们用一个按钮,来获取贴图并获取颜色:


            if (GUILayout.Button("Load Colors From Texture"))
            {
                string path = EditorUtility.OpenFilePanelWithFilters("Create Chart", "Assets", new string[] { "PNG Image", "png", "JPG Image", "jpg", "GIF Image", "gif" });
                if (!string.IsNullOrEmpty(path) && path.Contains(Application.dataPath))
                {
                    path = path.Replace(Application.dataPath, "Assets");
                    Texture2D texture = AssetDatabase.LoadAssetAtPath<Texture2D>(path);
                    // TODO 获取贴图颜色
                }
            }

最后,我们在ColorChart.cs中完成获取贴图颜色的方法,Texture需要设置成可读:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值