unity中的InstanceID详解 即Object.GetInstanceID

GetInstanceID 是 Unity 中 Object 类的一个方法,它用于获取一个对象的唯一实例标识符。每个 Unity 对象(如游戏对象、组件、资源等)都有一个唯一的实例 ID,这个 ID 在对象的生命周期内是唯一的。

对于它的生命周期是不确定的。网上说在切换场景或者编辑器关闭重启后会变。这些说法太片面,或者说根本不对。

下面做说明

首先在编辑器里在属性面板里点击右上角三个小点点切换到debug模式

然后随便选择一个资产(脚本也是资产的一种),将会看到InstanceId

        这个资产InstanceId是在编辑器启动时为每个资产分配的Id,他的生命周期是和编辑器生命周期一样的。即只有在关闭编辑器然后重启后才会重新分配发生变化,换句话说,只要编辑器不关闭,这个资产InstanceID就不会变。这个你可以重启编辑器测一下就知道。
        所以切换场景会发生变化这是错误的。但是切换场景会影响实例化的InstanceID而不是上面资产的InstanceId。后面会详细说明。

  • 加载资源:

    • 当你使用 AssetDatabase.LoadAssetAtPathResources.Load
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值