convertToNodeSpaceAR 坐标转换时,结果有时候正确有时候不正确

creator 2.0.7

1、操作步骤:

在场景 sceneA 中加载预制体 prefabA,
并将预制体实例化 prefabNode 后添加到场景上,
并调用 prefabNode上的脚本 prefabScript 的 show(data) 方法,
方法中的** data** 是一个世界坐标。

关系:

sceneA:场景
prefabA:预制体
prefabNode: 通过预制体实例化的节点
prefabScript: 节点上的脚本

2、

2.1、情况一:这时prefabA的生命周期是

onEnable ---- show(data) 方法 ------- start
然后我是在 show方法中,调用 convertToNodeSpaceAR 将 data(世界坐标)转换为某个节点坐标 ,结果转换出来的结果不准确。

2.2、情况二:

我通过是否第一次调用 prefabScript 的进行一些处理,将prefabA的生命周期变化为
onEnable ----- start ------ show(data) 方法
然后也是进行同样的操作,在 show方法中,调用 convertToNodeSpaceAR 将 data(世界坐标)转换为某个节点坐标 ,
结果第一次调用时,转换的结果不准确,第二次及以后就准确了。

2.3、情况三:

我将 prefabNode 添加到场景后,延迟时间 (比如1秒)调用 prefabScript 的 show(data) 方法
这时的prefabA的生命周期变化为
onEnable ----- start ------ show(data) 方法
然后进行以上同样的操作,
结果第一次调用及以后的结果都是准确的。

疑问:

为什么会出现情况二跟情况三这种差异呢?
情况三的结果是我想要的,但我不想延迟时间,有什么更好的处理方法么?

api是能正确转化的 你说了这么多 还不如一个demo 来得实在

本来想写个demo重现一下的,结果重现不出来。
然后去原来的有问题的工程里,运行了一下,结果也发现没问题了。有点懵。