using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEditor;
using UnityEngine;
namespace Assets.Editor
{
class FindMonoBehaviour : ScriptableWizard
{
public string text;
[MenuItem("Temp/Find MonoBehaviour")]
public static void CreateAssetBundle()
{
var findMonoBehaviour = DisplayWizard<FindMonoBehaviour>("Find MonoBehaviour", "Create");
}
public void OnWizardCreate()
{
string currentScenePath = EditorApplication.currentScene;
if (!string.IsNullOrEmpty(currentScenePath))
EditorApplication.OpenScene(currentScenePath);
else
return;
foreach (GameObject obj in UnityEngine.Object.FindObjectsOfType(typeof(GameObject)))
{
if (obj.transform.parent == null)
{
FindScripts(obj, obj.name);
TraceGameObject(obj, obj.name);
}
}
}
public void FindScripts(GameObject obj, String gameObjPath)
{
List<MonoBehaviour> scripts = new List<MonoBehaviour>();
obj.GetComponents<MonoBehaviour>(scripts);
foreach (MonoBehaviour script in scripts)
{
if (script == null)
continue;
if (script.GetType().ToString().Contains(text))
Debug.Log("Script=" + script.GetType() + " GameObject=" + gameObjPath);
}
}
public void TraceGameObject(GameObject obj, String prefix)
{
List<Transform> trs = new List<Transform>();
obj.GetComponentsInChildren<Transform>(true, trs);
foreach (Transform tr in trs)
{
if (tr.parent == obj.transform)
{
String temp = prefix + "/" + tr.gameObject.name;
//Debug.Log(temp);
FindScripts(tr.gameObject, temp);
TraceGameObject(tr.gameObject, temp);
}
}
}
}
}
相关推荐
在Unity3D游戏开发中,`MonoBehaviour`类扮演着至关重要的角色,它是所有脚本组件的基础。这个类位于继承层次的顶端,具体为`Object->Component->Behaviour->MonoBehaviour`。无论是JavaScript、C#还是Boo语言编写的...
非常优秀的Unity运动模糊插件,包含Unity4.X和Unity5.X两个版本,其中Unity5.X版本可以支持到Unity5.X到2019.该插件通过分层运算,挂载到摄像机产生告诉运动特效,并且不会占用过多GPU资源,本插件支持打包到windows...
有刚入门的群友咨询搜索筛选控件怎么处理,这里记录一下之前做过的两种方式一种是用InputField控件和DropDown控件组合做的,另外一种是用InputField结合自己写的界面做。两种方式都可以具体哪种更适合需要结合自己的...
Unity 镜头模糊的光影特效插件,适用于多种摄像机特效。
在Unity项目中,管理和查找图片资源的引用是十分重要的任务,尤其当项目变得庞大时,了解每个图片资源在游戏中的使用情况有助于优化性能和管理内存。以下是对标题和描述中涉及的知识点的详细说明: 一、Unity 图片...
Unity动态高斯模糊效果Shader
2019-04-19 新鲜出炉的原创作品 超实用的 Unity 高斯模糊(Gaussian Blur) 在UGUI中[高效][易用][效果棒]的实用方案 原文地址:https://blog.csdn.net/weixin_43452343/article/details/89407650 应该就是你想要
在Unity中实现"屏幕模糊"效果,是通过图形处理技术来达到视觉上的艺术效果或者功能需求。在游戏开发中,屏幕模糊经常被用来模拟人物的视线模糊、景深效果或者在某些UI元素(如提示面板或对话框)出现时对背景进行...
查找资源引用(依赖)
在Unity引擎中,MonoBehaviour是所有用户自定义脚本的基础类,它包含了多个生命周期方法,这些方法在不同的阶段被自动调用,以实现对游戏对象的行为控制。以下是对标题和描述中提到的方法的详细解释: 1. **Start()...
不同于Unity自带的相机全屏模糊(后处理屏幕特效),是一个材质球的方式,直接模糊当前物体层级的背景图像。可以添加到任何能设置材质球的地方,比如UGUI的一个Panel组件,在Image里的Material中设置此高斯模糊的...
基于Unity引擎编写的高斯模糊效果的Shader,真实可用,仅供学习参考
unity3d 径向模糊-运动模糊 模糊效果shader
Unity通用泛型单例设计模式(普通型和继承自MonoBehaviour) Unity通用泛型单例设计模式是指在Unity中使用泛型单例设计模式来实现单例模式的设计模式。单例模式是设计模式中最为常见的,它可以保证一个类只有一个...
查找图片或其他资源文件在unity项目中在哪里被引用到。 1. 将 FindReference.cs 放在 Assets\Editor目录下 2.重启unity 3.资源管理器中,右键图片,选中 FindReference , 即可在 console 窗口显示相应的引用log信息
Unity3D是一个广泛应用于游戏开发的跨平台3D引擎,其核心特性之一是基于C#的脚本系统,通过继承自MonoBehaviour类,开发者可以实现各种游戏逻辑。在Unity3D中,MonoBehaviour类包含了一系列的虚函数,这些函数作为...
主要为大家详细介绍了Unity3D UGUI特效之Image高斯模糊效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
开启混合(Blend)后,通过 Alpha 通道控制当前屏幕纹理与历史屏幕纹理进行混合,当有物体运动时,就会...本资源基于 Unity3D 实现了运动模糊特效,效果见→https://zhyan8.blog.csdn.net/article/details/131033499
选定对象,查找所有的引用地方,目前可查找场景内对象身上的唯一引用和List内的引用,包含选定对象的所有脚本,和GameObject。
/// /// 查询内容 /// private InputField queries; /// /// 所有内容 /// private List<string> allStr = new List(); ... /// 当前查询内容 ... private List<string> currentStr = new List();...