Unity资源的查找
Object.Destroy
Removes a gameobject, component or asset.
obj will be destroyed now or if a time is specified t seconds from now. If obj is a Component it will remove the component from the GameObject and destroy it. If objis a GameObject it will destroy the GameObject, all its components and all transform children of the GameObject. Actual object destruction is always delayed until after the current Update loop, but will always be done before rendering.| type | Type of the class to match while searching. |
Object[] An array of objects whose class is type or is derived from type.
Returns a list of all objects of Type type.
using UnityEngine;
using System.Collections; public class Example : MonoBehaviour {
void OnGUI() {
GUILayout.Label("All " + Resources.FindObjectsOfTypeAll(typeof(UnityEngine.Object)).Length);
GUILayout.Label("Textures " + Resources.FindObjectsOfTypeAll(typeof(Texture)).Length);
GUILayout.Label("AudioClips " + Resources.FindObjectsOfTypeAll(typeof(AudioClip)).Length);
GUILayout.Label("Meshes " + Resources.FindObjectsOfTypeAll(typeof(Mesh)).Length);
GUILayout.Label("Materials " + Resources.FindObjectsOfTypeAll(typeof(Material)).Length);
GUILayout.Label("GameObjects " + Resources.FindObjectsOfTypeAll(typeof(GameObject)).Length);
GUILayout.Label("Components " + Resources.FindObjectsOfTypeAll(typeof(Component)).Length);
}
}
import System.Collections.Generic; // This script finds all the objects in scene, excluding prefabs:
function GetAllObjectsInScene(): List.<GameObject> {
var objectsInScene: List.<GameObject> = new List.<GameObject>(); for (var go: GameObject in Resources.FindObjectsOfTypeAll(typeof(GameObject)) as GameObject[]) {
//对于一些不可编辑的资源,以及在场景中但隐藏,不保存,不删除的资源,例如mesh, texture,shader。跳过不处理。
if (go.hideFlags == HideFlags.NotEditable || go.hideFlags == HideFlags.HideAndDontSave)
continue; var assetPath: String = AssetDatabase.GetAssetPath(go.transform.root.gameObject);
// 如果是可编辑的但又找到了对应的AssetDataBase路径,则应该是Prefab。 需验证!
if (!String.IsNullOrEmpty(assetPath))
continue; objectsInScene.Add(go);
} return objectsInScene;
}
Component.GetComponentsInChildren
GameObject.GetComponentsInChildren
| t | The type of Component to retrieve. |
| includeInactive | Should inactive Components be included in the found set? |
Returns all components of Type type in the GameObject or any of its children.
using UnityEngine;
using System.Collections; public class Example : MonoBehaviour {
public Component[] hingeJoints;
void Example() {
hingeJoints = GetComponentsInChildren<HingeJoint>();
foreach (HingeJoint joint in hingeJoints) {
joint.useSpring = false;
}
}
}
| GetComponent | Returns the component of Type type if the game object has one attached, null if it doesn't. You can access both builtin components or scripts with this function. |
|---|---|
| GetComponentInChildren | Returns the component of Type type in the GameObject or any of its children using depth first search. |
| GetComponents | Returns all components of Type type in the GameObject. |
| GetComponentsInChildren | Returns all components of Type type in the GameObject or any of its children. |
GameObject.Find
Finds a game object by name and returns it.
根据路径或名称查找场景物件
name can be found, null is returned. If name contains a '/' character it will traverse the hierarchy like a path name. This function only returns active gameobjects.For performance reasons it is recommended to not use this function every frame Instead cache the result in a member variable at startup or use GameObject.FindWithTag(这个相对快一些?).
var hand : GameObject;
// This will return the game object named Hand in the scene.
hand = GameObject.Find("Hand");
// This will return the game object named Hand.
// Hand must not have a parent in the hierarchy view!
// 绝对路径查找
hand = GameObject.Find("/Hand");
// This will return the game object named Hand,
// which is a child of Arm -> Monster.
// Monster must not have a parent in the hierarchy view!
// 绝对路径查找
hand = GameObject.Find("MonsterArm/Hand");
// 应该是 hand = GameObject.Find("/Monster/Arm/Hand")吧?待验证
// This will return the game object named Hand,
// which is a child of Arm -> Monster.
// Monster may have a parent.
// 相对路径查找
hand = GameObject.Find("MonsterArmHand");
// 应该是hand = GameObject.Find("Monster/Arm/Hand")吧?待验证
// Find the hand inside Start and rotate it every frame
private var hand : GameObject;
function Start () {
hand = GameObject.Find("MonsterArm/Hand");
} function Update () {
hand.transform.Rotate(0, 100 * Time.deltaTime, 0);
}
| Find | Finds a game object by name and returns it. |
|---|---|
| FindGameObjectsWithTag | Returns a list of active GameObjects tagged tag. Returns empty array if no GameObject was found. |
| FindWithTag | Returns one active GameObject tagged tag. Returns null if no GameObject was found. |
Object.FindObjectsOfType
Returns a list of all active loaded objects of Type type.
类型查找Object, 由于是指定了Type的,除非指定的Type是GameObject或者Resource Object,一般该函数都是用来查找返回Component?
Please note that this function is very slow. It is not recommended to use this function every frame. In most cases you can use the singleton pattern instead.
// When clicking on the object, it will disable all springs on all
// hinges in the scene.
function OnMouseDown () {
var hinges : HingeJoint[] = FindObjectsOfType(HingeJoint) as HingeJoint[];
for (var hinge : HingeJoint in hinges) {
hinge.useSpring = false;
}
}
| FindObjectOfType | Returns the first active loaded object of Type type. |
|---|---|
| FindObjectsOfType | Returns a list of all active loaded objects of Type type. |
Unity资源的查找的更多相关文章
- unity资源机制(转)
原文地址:https://www.jianshu.com/p/ca5cb9d910c0作者:重装机霸 2.资源概述 Unity必须通过导入将所支持的资源序列化,生成AssetComponents后,才 ...
- Unity资源Assetmport New Asset对话框
Unity资源Assetmport New Asset对话框 1.2.2 资源 开发游戏一定会使用很多东西,如网格.纹理.电影.动画.声音.音乐.文本等等.这些文件都被Unity称为资源(Asset ...
- Android App资源的查找过程分析
Android资源管理框架实际就是由AssetManager和Resources两个类来实现的.其中,Resources类可以根据ID来查找资源,而AssetManager类根据文件名来查找资源.事实 ...
- Android应用程序资源的查找过程分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8806798 我们知道,在Android系统中, ...
- unity资源
unity资源集中贴 1.unity经验之谈 http://jingyan.baidu.com/article/19192ad820f17be53e570715.html 2.百度网盘,分享了一点模型 ...
- Unity资源打包学习笔记(一)、详解AssetBundle的流程
转载请标明出处:http://www.cnblogs.com/zblade/ 本文参照unity官网上对于assetBundle的一系列讲解,主要针对assetbundle的知识点做一个梳理笔记,也为 ...
- Unity资源Assetbundle
转 Unity资源打包之Assetbundle 本文原创版权归 csdn janeky 所有,转载请详细注明原创作者及出处,以示尊重! 作者:janeky 原文:http://blog.csdn.n ...
- Unity资源打包之Assetbundle
转 Unity资源打包之Assetbundle 本文原创版权归 csdn janeky 所有,转载请详细注明原创作者及出处,以示尊重! 作者:janeky 原文:http://blog.csdn.n ...
- Unity——资源文件夹介绍
Unity资源文件夹介绍 1.编辑时 在Asset文件下存在Resources和SteamingAsset文件夹: Resources 只读不可修改,打包时直接写死,没有办法通过热更新替换资源: 可以 ...
随机推荐
- STM32F407 串口通信:分类&常见接口 个人笔记
串行通信的分类 常见串行通信接口 STM32 UART STM32串口异步通信需要定义的参数: ① 起始位 ② 数据位(8位或者9位) ③ 奇偶校验位(如果有的话是第9位) ④ 停止位(1,15,2位 ...
- Leetcode 220.存在重复元素III
存在重复元素III 给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j] 的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ. ...
- 添物零基础到架构师(基础篇) - JavaScript
JavaScript是什么? JavaScript是web开发必须学习的,ECMAScript是其规则来源. JavaScript的历史 Developed by Brendan Eich of Ne ...
- 如何写Java文档注释(Java Doc Comments)
本文翻译自How to Write Doc Comments for the Javadoc Tool,但是精简了一些私以为不重要的东西 本文不讨论如何使用javadoc工具自动生成文档的方法,而是主 ...
- 如何爬取可用的IP代理
上一篇说到对付反爬虫有一个很关键的方法就是使用IP代理,那么我们应该如何获取这些可用的IP代理呢?这里分享一下自己这两天的一些爬取IP代理的心得体会. 1 步骤 1.找到几个提供免费IP代理的网站,获 ...
- Codeforces 645B Mischievous Mess Makers【逆序数】
题目链接: http://codeforces.com/problemset/problem/645/B 题意: 给定步数和排列,每步可以交换两个数,问最后逆序数最多是多少对? 分析: 看例子就能看出 ...
- 【天道酬勤】 腾讯、百度、网易游戏、华为Offer及笔经面经(转)
应届生上泡了两年,一直都是下资料,下笔试题,面试题.一直都在感谢那些默默付出的人.写这个帖子花了我两 个夜晚的时间,不是为了炫耀,只是为了能给那些“迷惘”的学弟学妹,一点点建议而已.大家何必那么认真, ...
- AtCoder Grand Contest 012 B Splatter Painting(记忆化搜索)
题意: 给一个包含N个顶点,M条边,无自环和重边的简单无向图,初始每个点颜色都为0,每条边的长度为1,连接着ai,bi两个节点.经过若干个操作, 每次将与某个点vi距离不超过di的所有点染成某种颜色c ...
- Hibernate自定义简单主键生成
Hibernate自定义主键生成 当使用Hibernate定义pojo的时候,有时候需要生成一定规则的数据表主键,这时候我们可以采用自定义主键生成方式去生成主键. 例如: 1.在pojo属性中定义数据 ...
- import与require的区别
载入一个模块import() 与 require() 功能相同,但具有一定程度的自动化特性.假设我们有如下的目录结构:~~~app/app/classes/app/classes/MyClass.lu ...