Unity 获取场景中所有目标对象(包括不激活的对象)

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

public class ExampleScript : MonoBehaviour
{
    // 获取场景中所有目标对象(包括不激活的对象)不包括Prefabs:

    List<T> FindSceneObject<T>(string _SceneName)where T:UnityEngine.Component {
        List<T> objectsInScene = new List<T>();
        foreach (var go in Resources.FindObjectsOfTypeAll<T>())
        {
            if (go.hideFlags == HideFlags.NotEditable || go.hideFlags == HideFlags.HideAndDontSave)
                continue;
            if (EditorUtility.IsPersistent(go.transform.root.gameObject))// 如果对象位于Scene中,则返回false
                continue;
            if (_SceneName != go.gameObject.scene.name)
                continue;
            Debug.LogFormat("gameObject:{0},scene:{1}", go.gameObject.name, go.gameObject.scene.name);
            objectsInScene.Add(go);
        }
        return objectsInScene;
    }
}

参考:Resources.FindObjectsOfTypeAll

原文地址:https://www.cnblogs.com/dream-follower/p/10777532.html

时间: 2024-08-08 16:13:37

Unity 获取场景中所有目标对象(包括不激活的对象)的相关文章

activiti获取流程图中的所有信息包括变量名

今天在看activiti的变量的时候,都是由用户来设置变量,我们在后台写代码通过变量设置或取一些参数的时候,非常的不方便. 比如:设置变量的时候通过页面设置 设置之后,我们如何动态的给这个变量设置参数,我参考了好多资料,大部分都是直接进行的设置,比如: Map<String, Object> variables = new HashMap<String, Object>(); variables.put("userIDs", "大大,中中,小小&quo

unity查找场景中所有物体

代码很简单就一句话,至于你想怎么用再往里面加东西就好 //查找场景中所有的物体 foreach (GameObject objj in UnityEngine.Object.FindObjectsOfType(typeof(GameObject))) { Debug.Log(objj.transform.name); } 原文地址:https://www.cnblogs.com/qq2351194611/p/11423827.html

Unity输出场景中选中的物体数量

需要注意的有两点: 1.如果直接输出,每个没选中的物体都会执行一遍命令,需要过滤只让一个物体执行命令,但是我用Validate不太管用.直接在命令里过滤 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; [CanEditMultipleObjects] public class SelectionCount : Editor { [MenuItem("

js获取URL中的参数

js获取URL中的一些参数的意思 location对象 含有当前URL的信息. 属性 href 整个URL字符串. protocol 含有URL第一部分的字符串,如http: host 包含有URL中主机名:端口号部分的字符串.如//www.cenpok.net/server/ hostname 包含URL中主机名的字符串.如http://www.cenpok.net ; port 包含URL中可能存在的端口号字符串. pathname URL中"/"以后的部分.如~list/inde

Unity制作游戏中的场景

Unity制作游戏中的场景 1.2.3  场景 在Unity中,场景(Scene)就是游戏开发者制作游戏时,所使用的游戏场景.它是一个三维空间,对应的三维坐标轴分别是X轴.Y轴和Z轴本文选自Unity 2D游戏开发从入门到精通清华大学出版社. 要创建一个新的场景,只需单击File|New Scene命令,或者按下快键键Ctrl+N,如图1-16所示. 图1-16  创建程序的命令,以及场景 默认情况下,新创建游戏项目的同时,也新创建了游戏的场景,只不过还没有保存罢了.使用快捷键Ctrl+S即可保

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

一.介绍 目的:在Unity场景中制作一个天空盒. 软件环境:Unity 2017.3.0f3,VS2013. 参考 skybox 二.自制一个天空盒 1,创建一个材质material 2,更改属性为Skybox/6 Sided,并且把六个面的图片都选好 三.修改天空盒 在菜单栏Window属性下,选中Lighting -> settings,会出现下面对话框 修改后效果如下 原文地址:https://www.cnblogs.com/OctoptusLian/p/8932428.html

Java非递归的方式获取目录中所有文件(包括目录)

零.思路解析 对于给出的文件查看其下面的所有目录,将这个目录下的所有目录放入待遍历的目录集合中,每次取出该集合中的目录遍历,如果是目录再次放入该目录中进行遍历. 一.代码 /** * 非递归的方式获取目录中的所有文件<br> * 此方法获取的路径未按照目录->文件方式排列 * * @param dirPath 目录路径 * @return 指定目录下所有文件和目录的集合 */ public static List<File> listAllFile(String dirPat

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

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

Unity 3D:在现有的Android游戏场景中显示AdMob的横幅

关于如何在现有的Android项目现场显示AdMob的横幅,在一个Android项目中使用一个简单的Android JAR文件似乎不是一个简单的事情.我终于设法让AdMob在现有工作统一安卓游戏.对于本例,我使用统一为Windows版本3.5.2和最新的Eclipse为Android插件. 先决条件我假设您有一个工作在你的电脑上安装Android的Eclipse插件.如果没有,请按照本教程准备工作区: https://github.com/unity-plugins/Unity-Admob. E