Unity 编辑器选择器工具类Selection 常用函数和用法
Unity 编辑器选择器工具类Selection 常用函数和用法

点击封面跳转下载页面
简介
在Unity中,Selection类是一个非常有用的工具类,它提供了许多函数和属性,用于操作和管理编辑器中的选择对象。本文将介绍Selection类的常用函数和用法,并提供相应的示例代码。
静态属性
1. activeContext
功能: 获取或设置当前活动的上下文对象。
示例代码:
// 获取当前活动的上下文对象
Object activeContext = Selection.activeContext;// 设置当前活动的上下文对象
Selection.activeContext = activeContext;
2. activeGameObject
功能: 获取或设置当前活动的游戏对象。
示例代码:
// 获取当前活动的游戏对象
GameObject activeGameObject = Selection.activeGameObject;// 设置当前活动的游戏对象
Selection.activeGameObject = activeGameObject;
3. activeInstanceID
功能: 获取或设置当前活动的实例ID。
示例代码:
// 获取当前活动的实例ID
int activeInstanceID = Selection.activeInstanceID;// 设置当前活动的实例ID
Selection.activeInstanceID = activeInstanceID;
4. activeObject
功能: 获取或设置当前活动的对象。
示例代码:
// 获取当前活动的对象
Object activeObject = Selection.activeObject;// 设置当前活动的对象
Selection.activeObject = activeObject;
5. activeTransform
功能: 获取或设置当前活动的变换组件。
示例代码:
// 获取当前活动的变换组件
Transform activeTransform = Selection.activeTransform;// 设置当前活动的变换组件
Selection.activeTransform = activeTransform;
6. assetGUIDs
功能: 获取当前选择的资源的GUID数组。
示例代码:
// 获取当前选择的资源的GUID数组
string[] assetGUIDs = Selection.assetGUIDs;// 遍历打印每个资源的GUID
foreach (string guid in assetGUIDs)
{Debug.Log("Asset GUID: " + guid);
}
7. count
功能: 获取当前选择的对象数量。
示例代码:
// 获取当前选择的对象数量
int count = Selection.count;// 打印当前选择的对象数量
Debug.Log("Selection count: " + count);
8. gameObjects
功能: 获取当前选择的游戏对象数组。
示例代码:
// 获取当前选择的游戏对象数组
GameObject[] gameObjects = Selection.gameObjects;// 遍历打印每个游戏对象的名称
foreach (GameObject obj in gameObjects)
{Debug.Log("Game Object Name: " + obj.name);
}
9. instanceIDs
功能: 获取当前选择的实例ID数组。
示例代码:
// 获取当前选择的实例ID数组
int[] instanceIDs = Selection.instanceIDs;// 遍历打印每个实例ID
foreach (int instanceID in instanceIDs)
{Debug.Log("Instance ID: " + instanceID);
}
10. objects
功能: 获取当前选择的对象数组。
示例代码:
// 获取当前选择的对象数组
Object[] objects = Selection.objects;// 遍历打印每个对象的名称
foreach (Object obj in objects)
{Debug.Log("Object Name: " + obj.name);
}
11. transforms
功能: 获取当前选择的变换组件数组。
示例代码:
// 获取当前选择的变换组件数组
Transform[] transforms = Selection.transforms;// 遍历打印每个变换组件的位置
foreach (Transform transform in transforms)
{Debug.Log("Transform Position: " + transform.position);
}
静态方法
1. Contains
功能: 检查给定的对象是否在当前选择中。
示例代码:
// 检查游戏对象是否在当前选择中
bool contains = Selection.Contains(gameObject);// 打印结果
Debug.Log("Contains: " + contains);
2. GetFiltered
功能: 根据指定的过滤器条件获取当前选择的对象。
示例代码:
// 获取当前选择的所有MeshRenderer组件
MeshRenderer[] meshRenderers = Selection.GetFiltered<MeshRenderer>(SelectionMode.Deep);// 遍历打印每个MeshRenderer的材质数量
foreach (MeshRenderer renderer in meshRenderers)
{Debug.Log("Material Count: " + renderer.sharedMaterials.Length);
}
3. GetTransforms
功能: 获取当前选择的所有变换组件。
示例代码:
// 获取当前选择的所有变换组件
Transform[] transforms = Selection.GetTransforms(SelectionMode.TopLevel | SelectionMode.OnlyUserModifiable);// 遍历打印每个变换组件的名称
foreach (Transform transform in transforms)
{Debug.Log("Transform Name: " + transform.name);
}
4. SetActiveObjectWithContext
功能: 设置当前活动的对象和上下文。
示例代码:
// 设置当前活动的对象和上下文
Selection.SetActiveObjectWithContext(gameObject, context);// 打印当前活动的对象和上下文
Debug.Log("Active Object: " + Selection.activeObject);
Debug.Log("Active Context: " + Selection.activeContext);
以上是Selection类中的常用函数和用法。通过使用这些函数和属性,您可以方便地操作和管理编辑器中的选择对象。详细的函数说明和更多用法示例,
参考文档:Unity官方文档。
我的技术文章中可能存在的错误向您表示诚挚的歉意。我努力确保提供准确可靠的信息,但由于技术领域的不断变化,错误难以避免。如果您发现了错误或有任何疑问,请与我联系。我将竭尽全力纠正错误并提供更准确的信息。
再次向您表示最诚挚的歉意,我将更加谨慎地审查和更新文章,以提供更好的阅读体验和准确的技术信息。
谢谢您的理解和支持。
相关文章:
Unity 编辑器选择器工具类Selection 常用函数和用法
Unity 编辑器选择器工具类Selection 常用函数和用法 点击封面跳转下载页面 简介 在Unity中,Selection类是一个非常有用的工具类,它提供了许多函数和属性,用于操作和管理编辑器中的选择对象。本文将介绍Selection类的常用函数和用法ÿ…...
ArcGIS在洪水灾害普查、风险评估及淹没制图中应用教程
详情点击链接:ArcGIS在洪水灾害普查、风险评估及淹没制图中应用教程 一:洪水普查技术规范 1.1 全国水旱灾害风险普查实施方案 1.2 洪水风险区划及防治区划编制技术要求 1.3 山丘区中小河流洪水淹没图编制技术要求 二:ArcGIS及数据管理 …...
Oracle日志相关操作
1.归档日志设置 # 切换账号 $ su - oracle# 登录oracle的sys账户 $ sqlplus / as sysdbasql> archive log list; #查看是不是归档方式 SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destin…...
IMV8.0
一、背景内容 经历了多个版本,基础内容在前面,可以使用之前的基础环境: v1: https://blog.csdn.net/wtt234/article/details/132139454 v2: https://blog.csdn.net/wtt234/article/details/132144907 v3: h…...
【Linux 网络】 数据链路层协议
数据链路层协议 数据链路层解决的问题以太网协议认识以太网以太网帧格式 认识MAC地址对比理解MAC地址和IP地址认识MTUMTU对IP协议的影响MTU对UDP协议的影响MTU对于TCP协议的影响ARP协议ARP协议的作用ARP协议的工作流程ARP数据报的格式 总结 数据链路层解决的问题 IP拥有将数据跨…...
GWJDN-400型2MHZ自动平衡高温介电温谱仪
GWJDN-400型2MHZ自动平衡高温介电温谱仪 GWJDN-400型2MHZ自动平衡高温介电温谱仪 关键词:介电常数,高温介电,自动平衡 主要功能: 材料介电常数测试仪 半导体材料的介电常数、导电率和C-V特性液晶材料:液晶单元的介电常数、弹性…...
第十五次CCF计算机软件能力认证
第一题:小明上学 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。 为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间。 他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿灯。 京…...
ThreadPoolExecutor线程池详解
ThreadPoolExecutor线程池详解 1. 背景 项目最近的迭代中使用到了ThreadPoolExecutor线程池,之前都只是知道怎么用,没有了解过线程池的底层原理,项目刚上线,有时间整理一下线程池的用法,学习一下线程池的底层实现与工…...
【VB6|第22期】用SQL的方式读取Excel数据
日期:2023年8月7日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方ÿ…...
融云:从「对话框」跳进魔法世界,AIGC 带给社交的新范式
8 月 17 日(周四),融云将带来直播课-《北极星如何协助开发者排查问题与预警风险?》欢迎点击上方报名~ AIGC 与社交结合的应用主要分两种,一是发乎于 AIGC,以大模型为基础提供虚拟伴侣等服务的 Appÿ…...
UWB伪应用场景 - 别再被商家忽悠
近几年UWB技术在网上宣传得如火如荼,与高精度定位几乎或等号,笔者认为这是营销界上的一大成功案例。 UWB超宽带技术凭借着低功耗、高精度,确实在物联网行业混得风生水起,但在无数实际应用案例中,根据客户的反馈情况&a…...
【快应用】list组件属性的运用指导
【关键词】 list、瀑布流、刷新、页面布局 【问题背景】 1、 页面部分内容需要瀑布流格式展示,在使用lsit列表组件设置columns进行多列渲染时,此时在里面加入刷新动画时,动画只占了list组件的一列,并没有完全占据一行宽度&…...
js 面试题总结
js 面试题总结 文章目录 js 面试题总结近百道面试题1、实现 子元素 在父元素中垂直居中的方式2、实现 子元素 在父元素中水平 垂直居中的方式3、描述 Keepealive 的作用,有哪些钩子函数,如何控制组件级存列表?4、请写出判断对象是数组的三个方法5、请说…...
HTML之表单标签
目录 表单标签 Form表单 定义: 基本语法结构: form属性: enctyoe属性 fieldeset标签 fieldeset属性 legend标签 label标签 优势 label属性 input标签 input属性 input标签中的type属性 text text输入框有以下配套属性 searc bu…...
Java经典面试题总结(一)
Java经典面试题总结(一) 题一:Java编译运行原理题二:JDK,JVM,JRE三者之间的关系题三:谈一下对冯诺依曼体系的了解题四:重载与重写的区别题五:拆箱装箱是指什么࿱…...
Android监听设备亮灭屏广播(动态广播代码)
MainActivity中 public class MainActivity extends Activity {private WakeAndLockReceiver wakeAndLockReceiver;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//注册亮屏和息…...
【前端面试手撕题】简易深拷贝、深拷贝、寄生组合式继承、发布订阅模式、观察者模式
FED16 简易深拷贝 描述 请补全JavaScript代码,要求实现对象参数的深拷贝并返回拷贝之后的新对象。 注意: 参数对象和参数对象的每个数据项的数据类型范围仅在数组、普通对象({})、基本数据类型中]无需考虑循环引用问题 <!DO…...
【生物医学】应激(应激反应)全身适应综合征
最近在探索疲劳、负荷、应激方面的底层发生机制,遂整理了一些相关内容,以脑图方式呈现。本文以生物医学向为主。 OK,开始基础介绍:应激 (stress)是指在收到外部或内部、心理社会刺激下的非特异性适应反应。 本文主要收集整理了相…...
浅析基于安防监控EasyCVR视频汇聚融合技术的运输管理系统
一、项目背景 近年来,随着物流行业迅速发展,物流运输费用高、运输过程不透明、货损货差率高、供应链协同能力差等问题不断涌现,严重影响了物流作业效率,市场对于运输管理数字化需求愈发迫切。当前运输行业存在的难题如下…...
VBA技术资料MF41:VBA_将常规数字转换为文本数字
【分享成果,随喜正能量】时有落花至,远随流水香。人生漫长,不攀缘,不强求,按照自己喜欢的方式生活,不必太过在意,顺其自然就好。路再长也有终点,夜再黑也有尽头。 我给VBA的定义&am…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...
