关于如何在Unity中获取多个重名对象的笔记

这篇具有很好参考价值的文章主要介绍了关于如何在Unity中获取多个重名对象的笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前不久我遇上了一个问题,在不确定路径或者路径分布太麻烦不想手写的情况下如何获取场景中的重名物体呢?


批量获取对象

首先,既然没法确定路径,那就只能用暴力的方法了——直接获取场景中的全部对象。

GameObject.FindObjectsOfTypeAll(typeof(GameObject));

使用这样的语句,可以获得场景中所有类型为GameObject的对象。但是值得注意的是,这个函数的返回类型是Object[]而非GameObject[]


获取游戏对象

我们知道能够直接区分对象的变量莫过于string transform.name这个变量,于是在获取游戏对象时可以使用这样的语句:

GameObject myGameobject = GameObject.Find(string name);

但是这样的查找方式存在一个问题!当场景中存在多个名称为name的对象时,其返回值为第一个名称为name的对象!


获取重名的游戏对象

要解决这个问题,可以在获取场景中全部对象时将其强制转换为GameObject类型,即使用下面的语句:

GameObject[] myGameobjects = GameObject.FindObjectsOfType(typeof(GameObject)) as GameObject[];

然后再循环遍历一遍获取到的数组找出所有名称与name相同的元素就得到了所有这些物体,并且即使重名也不会重复获得相同的结果。文章来源地址https://www.toymoban.com/news/detail-405599.html

到了这里,关于关于如何在Unity中获取多个重名对象的笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity中获取游戏对象的几种方式

    在学习如何获取物体和组件时先明白说明什么是物体,组件和对象。 物体:unity中在层级显示的东西都可以叫做物体 组件:unity中提供了大量已经写好的组件,比如刚体,碰撞体等,自己 编写的脚本也是一种组件类 对象:挂载到物体上的脚本是一个实例化的组件,也就是一

    2024年01月17日
    浏览(38)
  • unity 之 GetComponent 获取游戏对象上组件实例方法

    GetComponent 是Unity引擎中用于获取游戏对象上组件实例的方法。它允许您从游戏对象中获取特定类型的组件,以便在脚本中进行操作和交互。 GetComponent ComponentType (): 这是一个泛型方法,用于从当前游戏对象上获取指定类型的组件。在 ComponentType 部分,您应该提供您想要获取的

    2024年02月02日
    浏览(48)
  • 数据处理(11):3Dmax中如何操作可以将多个对象实体合并成一个对象实体

    在使用3Dmax中,经常会有将多个对象拼接成一个完整的对象得需求,只是看每个人的解决方法是否一致了。但是如果是合并多个对象,推荐使用下面两种方法 通过使用附加功能合并对象 在3Dmax中,虽然分组工具可以将对象组合成一个整体,但是这种分组绑定是可以随时解开的

    2024年02月04日
    浏览(47)
  • 【Unity 3D】游戏对象、添加删除获取组件、预制体Prefabs简介

    觉得有帮助请点赞关注收藏~~~ 创建3D对象 选择GameObject -3D Object命令 选择要创建的3D对象 下面是各个对象的意思 cube 立方体 sphere 圆柱体 capsule 平面 cylinder 胶囊体 plane 球体 quad 面片  可以为上面创建的对象添加刚体组件 选中该对象 在Inspector视图中,单机add component按钮, 选在

    2024年02月04日
    浏览(48)
  • Unity之获取游戏物体对象或组件的几个方法

    在unity的实际项目开发中,往往都要获取游戏内的各种物体,比如玩家(Player),怪物(Monster),或者其他,那有什么方法可以快速获取呢,下面就来介绍unity获取游戏对象的几个方法 GameObject.Find GameObject.Find 通过游戏物体的名称获取对象 使用方法 缺点: 会遍历当前整个场

    2024年02月01日
    浏览(43)
  • Autofac高级应用,一个接口多个实现类如何注册到容器并获取实例

      当使用Autofac处理一个接口有多个实现的情况时, 通常会使用键(key)进行区分 或者 通过IIndex索引注入 ,也可以 通过IEnumerable集合获取所有实例 ,以下是一个具体的例子,演示如何在Autofac中注册多个实现,并通过构造函数注入获取指定实现。 首先,确保你已经安装了A

    2024年02月05日
    浏览(50)
  • element-ui关于获取from表单项整个对象的方法,以及this.$refs[formName].resetFields()清除失效情况

    也就是表单验证时出现的几个坑: 第一: el-form 表单绑定的动态属性,而不是 v-model 双向绑定 第二: el-form-item 表单项是里面才是 el-input 输入框和单选之类。 第三:注意的是:表单需要: ref=\\\"form\\\" :model=\\\"form\\\" ,特别注意是表单项: prop=\\\"input\\\" ,必须是,绑定的对象from里面的

    2024年02月15日
    浏览(34)
  • JS如何获取对象的键名、键值

    使用Object.keys()获取对象的键名 object.keys()方法只返回对象的键名,并转换为一个数组。 使用Object.entries()获取对象的键名 object.entries()方法是从对象中获取每个键值对,并将这些键值对转换为一个数组并将它们存储在一个大数组中。此方法只接受一个参数,即对象本身。 使用

    2024年02月12日
    浏览(39)
  • Unity3d:GameFramework解析:实体,对象池,资源管理,获取计数,引用计数,自动释放

    1.GF万物基于引用池IReference 2.ObjectBase : IReference类的m_Target持有unity中Mono,资源,GameObejct 3.AssetObject : ObjectBase类m_Target持有Assetbundle中的Asset,具有获取,引用两个计数管理释放 4.ResourceObject : ObjectBase类m_Target持有Assetbundle,具有获取,引用两个计数管理释放 5.EntityInstanceObject :

    2024年02月11日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包