Unity3d 查找所选的是否引用过某资源

一、使用方式:

1、选择要被查找的资源,右键->Find Reference

2、把资源拽入Res,点Find

3、输出结果见Console

//代码

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

public class FindReference : ScriptableWizard
{
    public UnityEngine.Object Res;

    // Use this for initialization
    void Start()
    {

    }

	[MenuItem("Assets/Find Reference")]
    public static void OpenDialog()
    {
		DisplayWizard<FindReference>("Find Reference Object In Current Select", "Find", "Cancel");
    }

    void OnWizardCreate()
    {
        Find();
    }
    void OnWizardOtherButton()
    {
        Close();
    }

    public void Find()
    {
		EditorUtility.DisplayProgressBar("Find Reference", "Finding...", 0);

		var instanceId = Res.GetInstanceID();

		var gos = Selection.GetFiltered(typeof(UnityEngine.Object), SelectionMode.DeepAssets);

	    string log = "";

	    int i = 0;
	    try
	    {
			foreach (var go in gos)
			{
				var assetPath = AssetDatabase.GetAssetPath(go.GetInstanceID());
				var paths = AssetDatabase.GetDependencies(new[] { assetPath });
				foreach (var path in paths)
				{
					var res = AssetDatabase.LoadAssetAtPath(path, typeof(UnityEngine.Object));
					if (res.GetInstanceID() == instanceId)
					{
						log+= assetPath;
						log += "\n";
					}
				}
				EditorUtility.DisplayProgressBar("Find Reference", assetPath, i / gos.Length);
				i++;
			}
	    }
	    catch (Exception e)
	    {
			Debug.Log(e.Message);
	    }
	    finally
	    {
			EditorUtility.ClearProgressBar();
	    }

		Debug.Log(log);
    }

}

  

时间: 2024-12-31 03:23:37

Unity3d 查找所选的是否引用过某资源的相关文章

pycharm中查找一个对象在哪里被引用

pycharm中查找一个对象在哪里被引用 2018年10月28日 19:22:20 vivian_wanjin 阅读数:1600 PyCharm的Find Usages功能可以查找某个对象(变量.函数.或者类等)被引用的地方 使用: 在要查找的对象上右键->Find Usages->界面下方会列出查找结果. 快捷键:Alt + F7 下面以test.py和test2.py为例,其中test2.py使用了test.py的foo函数 在文件test.py中,把鼠标放到foo上面再右键点击Find

Unity查找Editor下Project视图中特定的资源

1 [MenuItem("Tools/Check Text Count")] 2 public static void CheckText () 3 { 4 //查找指定路径下指定类型的所有资源,返回的是资源GUID 5 string[] guids = AssetDatabase.FindAssets ("t:GameObject", new string[] { "Assets/Resources/UI" }); 6 //从GUID获得资源所

wpf资源嵌套,一个资源引用另外一个资源,被引用的资源应该声明在前面

在wpf的XAML的Window.Resources中,一个资源引用另外一个资源,出现如下错误: “错误 1 “{DependencyProperty.UnsetValue}”不是 Setter 上“System.Windows.FrameworkElement.FocusVisualStyle”属性的有效值”. 如下图: 虽然错误列表里出现如图的错误,但是程序缺依然可以运行,只是在设计器里看不了UI视图(界面). 出现这个错误的原因是: 被引用的资源的声明在引用它的资源的后面了(或者是没有声明

vue-cli 项目中绝对路径引用的相关资源 npm run build 后 打开页面报404错误

在项目中.通过vue-cli 搭建的项目,npm run dev时,以绝对路径引用的相关资源在npm run build 后,页面打开报相关资源404错误: 解决方法如下: 打开build/utils.js,在图中相应位置加入红框内容,其中值可能会有不同,若不同,自己配置成相应的即可. 原文地址:https://www.cnblogs.com/xzma/p/9162584.html

如何查找文献及规范参考文献引用格式(以石家庄铁道大学图书馆为例)

凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 1.打开石家庄铁道大学官网,找到图书馆 2.找到中国知网,可查找中文文献 3.点击中国知网,出现如下界面后,选择选项 4.可按照关键词搜索博硕士论文,加锁的文章不能下载 5.也可找到图书馆中的资源检索--电子期刊 6.有很多镜像链接,可查找外文文献 7.点击Elsevier CD,出现如下界面,输入关键词即可 8.打开Springer,可进行同样操作 9.也可以点击"超星百链",输入关键词,找到你想

Unity3D 查找Update函数体为空的类

如果是大项目,有很多Update空跑还是多少有些效率损耗,那我们就把他们都找出来. 先引用Mono.Cecil //代码 using UnityEngine; using UnityEditor; using System.Collections; using System.IO; using System.Collections.Generic; using System.Text; //处理UILabel public class EmptyUpdateCleaner { [MenuItem

Unity3d查找游戏对象的方法

获取游戏对象有三种方法: 1.通过对象名称获取:objCube=GameObject.Find("Cube"); 例如: private var objCube:GameObject;private var isCubeRoate=false; function Start () {  objCube=GameObject.Find("Cube");} function Update(){  if(isCubeRoate){     objCube.transfor

SQL Server查找一个外键被引用的所有表

直接上代码: 1 SELECT oSub.name AS [子表名称] , 2 fk.name AS [外键名称] , 3 SubCol.name AS [子表列名] , 4 oMain.name AS [主表名称] , 5 MainCol.name AS [主表列名] 6 FROM sys.foreign_keys fk 7 JOIN sys.all_objects oSub ON ( fk.parent_object_id = oSub.object_id ) 8 JOIN sys.all_

wpf 在引用外部的资源字典

启动的APP.xaml 资源字典: ScrollViewStyle.xaml 引用的界面的xaml <UserControl x:Class="FranceNews.Pages.点位.Views.FranceFilter" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/