参考链接:

https://blog.csdn.net/hjzyzr/article/details/53316919?utm_source=blogxgwz4

https://blog.csdn.net/weixin_39706943/article/details/80507276

0.场景如下:

1.获取场景中所有的Go,包括嵌套的,隐藏的。需要注意的是要进行go.scene.name != null,这句判断,否则会包含很多来自其他地方的go(不只是来自Project视图)

 using UnityEngine;
using UnityEditor; /// <summary>
/// 查找GameObject在场景中所有被引用的地方
/// </summary>
public class FindGoInScene { [MenuItem("GameObject/FindGoInScene", priority = )]
static void Init()
{
GameObject[] goes = Resources.FindObjectsOfTypeAll<GameObject>();
for (int i = ; i < goes.Length; i++)
{
GameObject go = goes[i];
if (go.scene.name != null)
{
Debug.Log(go.name);
}
}
}
}

输出如下:

2.查找引用

TestFindGoInScene.cs

 using UnityEngine;

 public class TestFindGoInScene : MonoBehaviour {

     public GameObject temp;
}

FindGoInScene.cs

 using UnityEngine;
using UnityEditor;
using System.Reflection; /// <summary>
/// 查找GameObject在场景中所有被引用的地方
/// </summary>
public class FindGoInScene { [MenuItem("GameObject/FindGoInScene", priority = )]
static void Init()
{
GameObject[] goes = Resources.FindObjectsOfTypeAll<GameObject>();
for (int i = ; i < goes.Length; i++)
{
GameObject go = goes[i];
if (go.scene.name != null)
{
if (go != Selection.activeGameObject)
{
//Debug.Log(go.name);
Find(go);
}
}
}
} static void Find(GameObject go)
{
Component[] components = go.GetComponents<Component>();
for (int i = ; i < components.Length; i++)
{
Component component = components[i];
FieldInfo[] fields = component.GetType().GetFields(BindingFlags.Public | BindingFlags.Instance);
for (int j = ; j < fields.Length; j++)
{
var value = fields[j].GetValue(component);
if (value == (object)Selection.activeGameObject)
{
Debug.LogWarning(go.name);
}
}
}
}
}

输出如下:

[Unity工具]查找GameObject在场景中所有被引用的地方的更多相关文章

  1. unity 查找脚本被场景中哪些对象引用

    在需要查找的脚本上右键: 在场景中已经显示出所有引用该脚本的对象

  2. 在unity中用鼠标实现在场景中拖动物体,用鼠标滚轮实现缩放

    在场景中添加一个Plan,Camera,Directional Light,Cube.添加两个脚本scrollerScirpt(挂在Camera),CubeDragScript(挂在Cube上). 1 ...

  3. eclipse中查找类、方法及变量被引用的地方

    1.选中要查看的类.方法或变量,然后Ctrl+Shift+G或右键-->References--->Project,就可以找到它所有被引用的地方. 2.对于方法,还可以通过右键--> ...

  4. Unity查找子物体的方式-怎么查找GameObject

    Unity动态查找物体 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创 ...

  5. unity NGUI点击消息不传入到场景中去

    unity NGUI点击消息不传入到场景中去 1.今天遇到的问题是点击NGUI的按钮,场景中也相应了这个消息 解决的办法是在场景中需要互动的时候,也就是在update中进行判断 是否是点击了NGUI按 ...

  6. 使用Unity中的Box Collider组件完成游戏场景中的碰撞检测功能

    一.介绍 目的:通过Unity自带的组件完成游戏场景中的碰撞检测功能. 软件环境:Unity 2017.3.0f3 二.实现过程 1,在面板中点击Add Component按钮 2,添加Box Col ...

  7. 在Unity场景中更改天空盒的步骤

    一.介绍 目的:在Unity场景中制作一个天空盒. 软件环境:Unity 2017.3.0f3,VS2013. 参考 skybox 二.自制一个天空盒 1,创建一个材质material 2,更改属性为 ...

  8. 在Unity场景中控制日夜的轮转

    一.介绍 目的:通过在Unity场景中添加C#脚本完成日夜轮转的效果. 软件环境:Unity 2017.3.0f3,VS2013 二.操作过程 通过拖拽场景中的Directional Light我们知 ...

  9. untiy3d小工具——修改scene与prefab中的sprite

    坑1:因为替换图片要获取所有包含image的组件,开始我使用的是gameobject.getComponents<Image>()和FindObjectsOfType<Image&g ...

随机推荐

  1. 基于Eclipse搭建hadoop开发环境

    一.基础环境准备 1.Eclipse 下载地址:http://pan.baidu.com/s/1slArxAP 2.JDK1.8  下载地址:http://pan.baidu.com/s/1i5iNy ...

  2. position实现分层和遮罩层功能

    很多网站,当点了一个按钮后,弹出一个窗口,底层变透明不可选,就是用到层的概念,至少三层 第一层,底层原始层 第二层,遮罩层,用到positon: fixed; top bottom left righ ...

  3. 什么是词性标注(POS tagging)

    词性标注也叫词类标注,POS tagging是part-of-speech tagging的缩写. 维基百科对POS Tagging的定义: In corpus linguistics, part-o ...

  4. 使用influxQL进行数据检索(说明)

    非官方:InfluxDB 基本命令操作文档 原地址:https://docs.influxdata.com/influxdb/v1.6/query_language/data_exploration/ ...

  5. Flsk-Werkzeug-请求参数获取备忘

    Werkzeug:response,request,routing 获取请求参数:data,form,args,files,cookies,headers,method,url routing:Rul ...

  6. html json 导出Excel

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. [蓝桥杯]ALGO-101.算法训练_图形显示

    问题描述 编写一个程序,首先输入一个整数,例如5,然后在屏幕上显示如下的图形(5表示行数): * * * * * * * * * * * * * * * 题目描述 代码如下: #include < ...

  8. Reg2Bat_By Slore(生成同名bat文件,支持XP WIN7 WIN7X64).vbs

    原文http://slore.blogbus.com/logs/52627038.htmlSlore编写的这个reg文件转换为bat文件,是逐句转换的,不是通过批处理生成临时reg文件然后导入的方法, ...

  9. ribbon的注解使用报错--No instances available for [IP]

    使用RestTemplate类调用其他系统的url的时候,加上ribbon的注解@LoadBalanced上这个注解之后访问,就报错了. 报错如下: 因为这里你不能直接访问地址,需要把地址改成你所调用 ...

  10. shell文件描述符和重定向

    1.文件描述符是与一个打开的文件或数据流相关联的整数.文件描述符0,1,2是系统预留的. 0 --------stdin(标准输入) 1 --------stdout(标准输出) 2--------- ...