请问子节点里的对象复活后位置不对的问题

各位好。

今天想给自己的项目测试下所需配置,使用GTX1060显卡时测试debug时帧数比较不稳定。

是因为同一场景对象(GameObject)过多导致的,只要把对象减少帧数会有所好转。

于是我决定用自带的BasesSettings节点创建一个性能优化的方式。比如

通过这样简单的设置,可以完成摄像机接近对象时生成,摄像机离开后删除的性能优化。

但与此同时,我发现复活的对象如果是某个子节点,它将不会在它本来诞生的位置复活。

位置被转移了。所有子节点的对象复活位置都无法按最初的出生点复活。

举例子:

image

A和B的诞生位置是这里。这样即使消失了复活也会在同样的位置。

但如果

image

把B放入某个子节点里,我使用player最初去到这里,还是如上图所示,

但离开这个场景再回来(就是删除再复活)。B的所在位置就不会在这里。

经过一轮调查,复活的对象大概是被转移到父级节点的位置去了。这很奇怪。

比如我有一些利用上级作为移动方式的对象,他们均无法在复活之后依旧保留在上级的移动点里。

上级节点(左右移动)

子节点 (对象A)

对象A同样是无法复活在诞生的位置。复活后也不会再移动

我无论用摄像机复活还是动作复活,都无法让对象复活在自己的初始位置。

我觉得这不太合理,这是BUG还是我没了解清楚当中的运作原理?

还请各位指点!非常感谢

很好的信息,我会转达给相关人员。

作为临时解决方案,请问您为什么需要它们作为子项?是为了组织管理上的原因,还是出于机制上的考虑?

机制考虑,

比如我有些对象不会移动是固定的,那我只需要放置这个对象本身。

但偶尔几个相同的对象我需要它们往不同的地方移动。那最方便的方法就是在它的节点上追加一个空对象用作移动的。然后把这个固定的对象放入它子节点即可。这很方便。

但没想到败在复活位置不对这个问题上了 :downcast_face_with_sweat:

1 个赞

AGM1.3.0版本里
想咨询关于子节点 GameObject 的复活位置依赖于父节点位置的问题

在最新版本里依然有谜之问题

比如选择摄像机复活后,摄像机移动过去对象偶尔复活,偶尔不复活。

而且子节点复活后不会附属在父节点之下这些问题。

请问目前是否有在修复中?

我可以确认已为此问题创建了工单。目前尚无预计完成时间。

1 个赞