gpt4 book ai didi

unity3d - 如何在 Unity 中通过实例 ID 访问 GameObject

转载 作者:行者123 更新时间:2023-12-02 00:45:46 27 4
gpt4 key购买 nike

在Unity中,它提供了获取GameObject实例的函数

GetInstanceID ()

虽然实例id可能与GameObject不同,但是通过实例id获取GameObject的函数

InstanceIDToObject()

仅在EditorUtility中提供,在release中不能使用。

据我所知,使用 HashTable 可能是一种实现此目的的方法,但是否还有其他方法可以实现此目的?

最佳答案

解决方案可以在 Unity 论坛上找到,为方便起见,我会引用。

不是直接的,但是您可以使用 InstanceID 重命名对象,然后使用 InstanceID 执行 GameObject.Find 以通过这种方式访问​​对象。

gameObject.name = GetInstanceID().ToString();
var foo = 38375; // A made-up InstanceId...in actual code you'd get this from a real object...you can store the instance ids in an array or something
GameObject.Find(foo.ToString()).transform.position = whatever;

我还有一个哈希表,并使用实例 ID 作为哈希表的键,以便访问每个对象。您可以自己检查并为对象分配一个标识符,但由于每个对象都有一个唯一的 InstanceID(),所以如果情况需要,不妨使用它。

来源:https://forum.unity3d.com/threads/can-i-use-instanceid-to-access-an-object.12817/

关于unity3d - 如何在 Unity 中通过实例 ID 访问 GameObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44017154/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com