int 返回对象的实例 ID。
获取对象的实例 ID。
对象的实例 ID 充当内存中实例的句柄。它始终是唯一的,并且值永远不为 0。从文件中加载的对象将被分配一个正的实例 ID。新创建的对象将具有负的实例 ID,即使对象稍后保存到文件中,也会保留该负值。因此,InstanceID 值的符号不是对象是否持久化的安全指示器。
该 ID 会在播放器运行时和编辑器的会话之间发生变化。因此,该 ID 对于执行可能跨越会话的操作(例如,从文件加载对象状态)不可靠。
其他资源:EditorUtility.InstanceIDToObject,EditorUtility.IsPersistent
using UnityEngine;
public class ExampleScript : MonoBehaviour { // Create 10 game objects, which will have random Instance IDs void Awake() { for (int i = 0; i < 10; i++) { GameObject go = new GameObject("abc" + i.ToString("D3")); } }
// Find all the game objects and display their Instance IDs void Start() { Object[] allObjects = Object.FindObjectsOfType<GameObject>();
foreach (GameObject go in allObjects) { Debug.Log(go + " is an active object " + go.GetInstanceID()); } } }