unity编辑器拓展(三) 预制体(Image)资源引用查找

主要功能有三个:

1.右键菜单自定义方法

2.获取选中预制体内的所有Image图片引用(打印出了路径)

3.该预制体用到的图片资源,被其他预制体引用的情况(打印出了引用的预制体路径)

具体看代码,有注释

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

public class GetPrefabImageDetal : EditorWindow
{
    static List<string> spritePath = new List<string>();
    static new string name = "";

    static List<string> checkGuids = new List<string>();
    static List<string> pList = new List<string>();

    static Vector2 srPos;
    bool isCheck = true;

    public static void Open()
    {
        var rect = new Rect(0, 0, 400, 600);
        GetWindowWithRect(typeof(GetPrefabImageDetal), rect, true);
        
    }

    //在Project下添加自定义功能
    [MenuItem("Assets/CheckImg", false)]
    public static void CheckImg()
    {
        GameObject go = Selection.act
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Unity中制作3D地图编辑器,您可以使用Unity的UI系统和基本的3D对象来构建编辑器界面和场景。 以下是一个简单的示例代码,可以帮助您入门: ```csharp using UnityEngine; using UnityEngine.UI; using System.Collections.Generic; public class MapEditor : MonoBehaviour { public GameObject cubePrefab; // 3D方块预制 public Transform cubeParent; // 存放方块的父级对象 public Dropdown dropdown; // 下拉菜单,用于选择方块颜色 private List<GameObject> cubes = new List<GameObject>(); // 用于存放场景中的方块 void Start() { dropdown.onValueChanged.AddListener(OnDropdownValueChanged); // 监听下拉菜单的变化 } void Update() { if (Input.GetMouseButton(0)) // 如果鼠标左键被按下 { RaycastHit hit; if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit)) // 射线检测鼠标位置处是否有碰撞 { Vector3 pos = hit.point + hit.normal * 0.5f; // 在碰撞点上方0.5个单位处生成方块 GameObject cube = Instantiate(cubePrefab, pos, Quaternion.identity, cubeParent); // 生成方块 cube.GetComponent<Renderer>().material.color = dropdown.options[dropdown.value].image.color; // 设置方块颜色 cubes.Add(cube); // 添加方块到列表中 } } } void OnDropdownValueChanged(int value) { foreach (GameObject cube in cubes) { cube.GetComponent<Renderer>().material.color = dropdown.options[value].image.color; // 设置所有方块的颜色 } } } ``` 此代码将创建一个简单的地图编辑器,允许用户在场景中单击鼠标左键创建彩色方块。用户可以使用下拉菜单切换方块颜色,所有已创建的方块都将更改为新颜色。 请注意,此示例代码并不完整,您可以根据自己的需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值