Unity获取场景中所有根物体

2023-11-10

        每个物体都属于一个Scene,而通过Scene.GetRootGameObjects()接口就可以获得该Scene的所有根物体,我们只需要遍历所有Scene即可

List<GameObject> roots = new List<GameObject>();
for (int i = 0; i < SceneManager.sceneCount; i++)
{
    var scene = SceneManager.GetSceneAt(i);
    if (!scene.isLoaded) continue;
    
    roots.AddRange(scene.GetRootGameObjects());
}

        而被DontDestroyOnLoad处理过的物体就不再属于原来的场景了,它们被分配到一个隐藏的叫做DontDestroyOnLoad的新场景里。这个场景无法通过SceneMananger找到,但是我们可以曲线救国,准备一个已经被DontDestroyOnLoad的物体,然后通过接口GameObject.scene即可获取该场景了

foreach (var go in dontDestoryGo.scene.GetRootGameObjects())
{
    // 注意该场景里经常会有各种隐藏物体,把它们屏蔽掉
    if ((go.hideFlags & HideFlags.HideInHierarchy) == 0)
    {
        roots.Add(go);
    }
}

上面两部分结合起来,就能拿到与Hierarchy一致的所有根物体了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity获取场景中所有根物体 的相关文章

  • UE4 解决景深效果闪烁问题

    原因 1 模型的垂直竖线 造成抗锯齿算法对竖线的渲染计算 处于一种不稳定的状态 因此闪烁 解决办法 使用LOD 用贴图去替代线条模型 2 材质的法线贴图 当法线贴图含有垂直竖线的纹理效果 也会造成闪烁 比如这种幕墙材质 解决办法 关闭或动态
  • Unity 粒子特效、材质发光 HDR ShaderGraph图文教程[完成lit发光设置]

    效果如图 准备工作 在hdr模式下 关闭Directional Light 相机设置 移动球挂一个点光源作为子节点 设置自行调节 0 创建移动球的材质及shader shader gt 在Project Create Shader Grap
  • Unity中按钮检测鼠标状态

    改方法主要是用于按钮检测鼠标的进入 滑出 点击 抬起 长按 长按停止 1 先将下面这个脚本挂载到需要检测鼠标状态的按钮上 using System Collections using System Collections Generic u
  • UnityVR--组件3--Line Renderer--线性渲染

    目录 线性渲染组件简介 绘制线条Line Renderer组件介绍 绘制拖尾Trail Renderer组件介绍 应用1 使用Line Renderer绘制线段 应用1实现 使用系统工具或自定义工具绘制线段 应用2 Trail Render
  • Unity3d 插件 系列——DoTweenPro介绍(图文详细+案例)

    Unity3d 插件 系列 DoTweenPro介绍 图文详细 案例 前言 一 DoTweenPro简介 二 DoTweenPro安装 三 DoTweenPro主要组件 1 DoTweenAnimation 2 DoTweenPath 3
  • Unity中UI框架的使用1-添加面板、显示Loading页面

    其中BasePanel和Canvas都是挂在面板的预制物上的 1 导入我们的UI框架 本篇文章中有用的是两个UIPanelType NUIManager和NBasePanel 会放在文章最后供大家使用 2 先将我们做好的Panel设置成预制
  • Unity学习笔记(一)—— 基础知识

    一 基础知识 1 开发团队组成 2 unity特点 图形界面 所见即所得 入门简单 支持C 比OC C 更友好 js 国内外资源丰富 因为使用的人多 跨平台性好 PC端 移动端等 对VR AR的支持最完善 3 成功案例 游戏 炉石传说 神庙
  • unity: C#的Action Event Delegate的异同

    目录 一 Action 二 Event 三 Action和Event区别 四 Delegate 总结 Action Event Delegate的异同 前言 Action Event和Delegate都是C 语言中的重要概念 分别用于管理函
  • Unity保存图片到相册

    Unity保存图片到Android相册 Java 纯文本查看 复制代码 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
  • unity实现鼠标右键控制视角

    主要实现的功能是相机跟随主角 鼠标右击移动后 相机的视角会旋转 思路 在主角里创建空的子物体 把相机绑在空物体上 通过旋转空物体来实现视角的旋转 要把相机调整到适当位置 代码如下 public float rotateSpeed 100 设
  • Unity旋转以及万向锁问题

    我之前研读了一些关于unity旋转相关的博客 一直想抽个时间写个总结 但是由于实习太忙一直没有写 趁着今天请了假晚上有时间把这段时间一些学习心得写出来 Unity inspector面板中的Rotation 在unity中 想必大家最先接触
  • unity3d切换场景Application.LoadLevel(1)含义

    Application LoadLevel 1 场景ID
  • Unity万向节死锁解决方案(2023/12/4)

    1 万向节死锁无法解决 这是因为它的特性就是如此 就像玻璃杯就是玻璃 这不可否认 别钻牛角尖昂 2 大多数情况下欧拉角足够用 例如 CF 摄像机不可能绕z轴旋转 x轴旋转也不会超过九十度 因为那样人物的腰子会被扭断 塔防游戏 保卫萝卜 吃鸡
  • 【原神游戏开发日志1】缘起

    原神游戏开发日志1 缘起 版权声明 本文为 优梦创客 原创文章 您可以自由转载 但必须加入完整的版权声明 文章内容不得删减 修改 演绎 相关学习资源见文末 大家好 最近看到原神在TGA上频频获奖 作为一个14年经验的游戏开发行业的老兵 我就
  • 【Unity】如何让Unity程序一打开就运行命令行命令

    背景 Unity程序有时依赖于某些服务去实现一些功能 此时可能需要类似打开程序就自动运行Windows命令行命令的功能 方法 using UnityEngine using System Diagnostics using System T
  • 【Unity】运行时创建曲线(贝塞尔的运用)

    Unity 运行时创建线 贝塞尔的运用 1 实现的目标 在运行状态下创建一条可以使用贝塞尔方法实时编辑的网格曲线 2 原理介绍 2 1 曲线的创建 unity建立网格曲线可以参考 Unity程序化网格体 的实现方法 主要分为顶点 三角面 U
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜
  • VS2022 | 显示Unreal Engine日志

    VS2022 显示Unreal Engine日志 视图 gt 其他窗口 gt Unreal Engine日志 视图 gt 其他窗口 gt Unreal Engine日志
  • 游戏开发常见操作梳理之角色选择一

    进入游戏后 我们经常会进入角色选择的界面 通常是左右两个按钮可以更改角色供玩家选择 对于这种界面我们通常使用数据持久化将角色信息存储起来 接下来的笔记中 我将使用自带的数据持久化系统对其进行操作 实现角色的选择页面 后续会更新xml系列的文
  • 游戏开发常用实践操作之按动任意键触发

    接下来一些笔记会对于一些大大小小的实践操作进行记录 希望对你有所帮助 在游戏中 我们经常会遇到一些按动任意键触发的操作 接下来展示核心代码 以下是对于Unity中的操作 使用的UI是NGUI 对于核心操作没有影响 你可以自己置换 void

随机推荐

  • GIt在pyCharm的使用教程

    GIt在pyCharm的使用教程 目录 GIt在pyCharm的使用教程 一 Git的安装和配置 二 在pycharm中配置git 三 创建仓库 四 一些基础操作 五 建立远程仓库提交代码 一 Git的安装和配置 1 下载git git的官
  • 运用selenium库写淘宝抢购详解【3】(文末附带源码)

    每日一更 3 今天讲的是用selenium库写一个淘宝抢购程序 10 19亲测可用 1 淘宝抢购的思路和上一篇的思路类似 通过打开浏览器筛选浏览器内的标签 并点击来实现自动化 下面来想一下思路 本教程所有配套资料索取方式如下 点赞三连后Q裙
  • RabbitMQ系列(三)RabbitMQ进阶-Queue队列特性 (一)简单队列

    RabbitMQ Spring 项目整合 文章目录 RabbitMQ Spring 项目整合 一 构建Maven工程 1 新建mave项目 2 配置mq依赖 二 RabbitMQ 简单 Queue队列 1 简单队列描述 2 代码实战 2 1
  • java:成绩统计 :从键盘上输入若干学生(假设不超过100)的成绩,计算平均成绩,并输出高于平均分的学生人数及成绩。约定输入成绩为101时结束。

    import java util Scanner import java util Random public class three public static void main String args Scanner input ne
  • 【南風-视觉】Ubuntu命令行安装QT

    快速安装QT 1 直接在终端输入以下命令即可安装 安装完成并重启后就可以发现成功安装QT sudo apt get install qt5 default qtcreator y sudo reboot 注意 此次更新于2023年七月 似乎
  • MySQL——视图(VIEW)详解

    今天我们一起来学起视图 VIEW 那么视图是什么呢 视图有什么作用呢 视图一方面可以帮我们使用表的一部分而不是所有的表 另一方面也可以针对不同的用户制定不同的查询视图 带着问题一起来寻找答案吧 1 常见的数据库对象 对象 描述 表 TABL
  • 算法案例:如何判断链表有环?

    本文转载于 算法 如何判断链表有环 如何判断单链表是否存在环 有一个单向链表 链表当中有可能出现 环 就像题图这样 如何用程序判断出这个链表是有环链表 不允许修改链表结构 时间复杂度O n 空间复杂度O 1 方法一 穷举遍历 方法一 首先从
  • B - Mayor's posters

    Time Limit 1000MS Memory Limit 65536KB 64bit IO Format I64d I64u Submit Go Back Status Description
  • STM32最小系统板下载后断电程序丢失问题

    前者为运行代码时跳线帽接口 后者是下载代码时的跳线帽接口
  • myhttp

    HTTP 是一个属于应用层的面向对象的协议 由于其简捷 快速的方式 适用于分布式超媒体信息系统 实现一个服务器程序 支持HTTP协议的服务器 浏览器进行访问 从请求角度上 支持GET和POST方法 从相应角度上 支持静态页面也支持动态页面
  • flex布局换行后元素不足一行怎样均匀分布

  • 看懂时序图

    1 如何看懂时序图 掌握这几个程序就够了 chooseboy的博客 CSDN博客 软件时序图怎么看 2 sip 时序图 简单几步让你看懂单片机时序图 weixin 39710966的博客 CSDN博客 3 如何看懂时序图 掌握这几个程序就够
  • Linux gdm问题解决解决

    修改 etc inittab 改变runlevel为5 例如 root QRedHat etc cat etc inittab id 5 initdefault 修改GDM的配置文件 etc X11 gdm gdm conf 将 xdmcp
  • 路由器的工作原理是什么

    路由器工作原理 传统地 路由器工作于osi七层协议中的第三层 其主要任务是接收来自一个网络接口的数据包 根据其中所含的目的地址 决定转发到下一个目的地址 因此 路由器首先得在转发路由表中查找它的目的地址 若找到了目的地址 就在数据包的帧格前
  • ananconda powershell init失败&无法激活环境问题

    4 6以后版本使用conda init后仍然无法激活环境 尝试了好多次 断断续续花了得有几十个小时的时间 今天再尝试conda init时候发现了这个 从图片上看出它修改了onedrive下的profile文件 但是我的powershell
  • 趣味小游戏——井字棋

    目录 一 前言 二 主体框架 三 游戏内容的实现 四 结语 一 前言 想必大家在小时候或多或少的都接触过井字棋吧 那么今天我就来带大家了解如何在编程中实现这一游戏吧 二 主体框架 include
  • objcopy使用说明

    objcopy用于将object的部分获全部内容拷贝到另一个object 从而可以实现格式的变换 objcopy可用用于将文件转换成S record格式或者raw二进制格式 例如 xxxx elf objcopy O srec test o
  • tensorflow保存训练好的深度学习模型

    最近在看MKR的算法 复现跑通了以后 把训练好的模型保存下来 加入以下代码即可 saver tf train Saver saver save sess model MKRmodel ckpt print 模型已保存 上面的代码要写到和se
  • 【Spring】怎么配置事务?看这一篇就够了

    0 什么是事务 想象一个场景 A给B转账 A的钱转出去之后发生异常B没有收到钱 A的钱少了B的钱没有多 这不就乱套了吗 所以就引出了事务这个概念 事务是数据库操作最基本的单元 逻辑上的一组操作 这一组操作要么都执行成功 要么都失败 事务的作
  • Unity获取场景中所有根物体

    每个物体都属于一个Scene 而通过Scene GetRootGameObjects 接口就可以获得该Scene的所有根物体 我们只需要遍历所有Scene即可 List