type | オブジェクトの型 |
Object[] type または type から派生したオブジェクトの配列
type
で指定した型の全てのオブジェクトを取得します
この関数は Unity オブジェクトとしてロードされているものを対象として取得します。例えばゲームオブジェクト、プレハブ、マテリアル、メッシュ、テクスチャなどです。また、通常は触れない内部的なオブジェクトも取得することが出来ます。したがって十分に注意して扱うようにしてください。
この関数は Object.FindObjectsOfType と比べて更に無効となっているオブジェクトの取得まで出来てしまいます。
この関数はとても処理が遅いので毎フレーム使用するのは推奨されません。
using UnityEngine; using System.Collections;
public class ExampleScript : MonoBehaviour { // This script displays the number of allocated Unity objects by type. // This is useful for finding leaks. Knowing the type of object // (mesh, texture, sound clip, game object) that is getting leaked is // the first step. You could then print the names of all leaked assets of that type.
void Start() { print("All " + Resources.FindObjectsOfTypeAll(typeof(UnityEngine.Object)).Length); print("Textures " + Resources.FindObjectsOfTypeAll(typeof(Texture)).Length); print("AudioClips " + Resources.FindObjectsOfTypeAll(typeof(AudioClip)).Length); print("Meshes " + Resources.FindObjectsOfTypeAll(typeof(Mesh)).Length); print("Materials " + Resources.FindObjectsOfTypeAll(typeof(Material)).Length); print("GameObjects " + Resources.FindObjectsOfTypeAll(typeof(GameObject)).Length); print("Components " + Resources.FindObjectsOfTypeAll(typeof(Component)).Length); } }
using UnityEngine; using UnityEditor; using System.Collections.Generic;
public class ExampleScript : MonoBehaviour { // This script finds all the objects in scene, excluding prefabs:
List<GameObject> GetAllObjectsInScene() { List<GameObject> objectsInScene = new List<GameObject>();
foreach (GameObject go in Resources.FindObjectsOfTypeAll(typeof(GameObject)) as GameObject[]) { if (go.hideFlags == HideFlags.NotEditable || go.hideFlags == HideFlags.HideAndDontSave) continue;
if (!EditorUtility.IsPersistent(go.transform.root.gameObject)) continue;
objectsInScene.Add(go); }
return objectsInScene; } }
T
で指定した型から全てのオブジェクトを取得します
この関数は Unity オブジェクトとしてロードされているものを対象として取得します。例えばゲームオブジェクト、プレハブ、マテリアル、メッシュ、テクスチャなどです。また、通常は触れない内部的なオブジェクトも取得することが出来ます。したがって十分に注意して扱うようにしてください。
この関数は Object.FindObjectsOfType と比べて更に無効となっているオブジェクトの取得まで出来てしまいます。
この関数はとても処理が遅いので毎フレーム使用するのは推奨されません。
using UnityEngine; using UnityEditor; using System.Collections.Generic;
public class ExampleScript : MonoBehaviour { // This script displays the number of allocated Unity objects by type. // This is useful for finding leaks. Knowing the type of object // (mesh, texture, sound clip, game object) that is getting leaked is // the first step. You could then print the names of all leaked assets of that type.
void Start() { print("All " + Resources.FindObjectsOfTypeAll<UnityEngine.Object> ().Length); print("Textures " + Resources.FindObjectsOfTypeAll<Texture> ().Length); print("AudioClips " + Resources.FindObjectsOfTypeAll<AudioClip> ().Length); print("Meshes " + Resources.FindObjectsOfTypeAll<Mesh> ().Length); print("Materials " + Resources.FindObjectsOfTypeAll<Material> ().Length); print("GameObjects " + Resources.FindObjectsOfTypeAll<GameObject> ().Length); print("Components " + Resources.FindObjectsOfTypeAll<Component> ().Length); } }
using UnityEngine; using UnityEditor; using System.Collections.Generic;
public class ExampleScript : MonoBehaviour { // This script finds all the objects in scene, excluding prefabs:
List<GameObject> GetAllObjectsInScene() { List<GameObject> objectsInScene = new List<GameObject>();
foreach (GameObject go in Resources.FindObjectsOfTypeAll(typeof(GameObject)) as GameObject[]) { if (go.hideFlags == HideFlags.NotEditable || go.hideFlags == HideFlags.HideAndDontSave) continue;
if (!EditorUtility.IsPersistent(go.transform.root.gameObject)) continue;
objectsInScene.Add(go); }
return objectsInScene; } }
no example available in C#