You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ARKit与Reality Composer节点缩放问题:AnchorEntity缩放设置无作用的原因排查

问题原因及解决办法

嗨,一眼就看出问题所在啦!你这段代码里的父子节点关系完全搞反了,这就是缩放没效果的核心原因~

问题分析

你现在的代码是把 mainAnchor(你想作为统一控制的根节点)当成子节点,加到了 myTrackTransformed 和 myCar 下面。这就相当于让根节点变成了两个模型的“孩子”,那你缩放这个“孩子”,自然不会对它的“父节点”(也就是两个模型本体)产生任何影响。

修正后的代码

你需要把两个模型作为子节点添加到 mainAnchor 这个根容器里,这样缩放根节点时,所有子元素都会同步缩放:

let mainAnchor = AnchorEntity(world: [0, 0, 0])
self.arView.scene.addAnchor(mainAnchor)
// 调换父子关系:把模型加到根节点下,而不是反过来
mainAnchor.addChild(myTrackTransformed)
mainAnchor.addChild(myCar)
mainAnchor.scale = [0.1, 0.1, 0.1]

额外说明

这样修改后,你的 myCar 基于JSON数据的移动逻辑完全不受影响——因为它的移动是基于自身坐标系或者父节点(mainAnchor)的坐标系,统一缩放根节点只会改变整体尺寸,不会干扰原有位置计算。

如果你的 myTrackTransformed 或 myCar 之前已经被添加到其他Anchor或场景节点中,记得先调用 myTrackTransformed.removeFromParent() 移除旧的父节点,避免重复渲染的问题哦。

内容的提问来源于stack exchange,提问作者sephiroth85

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 17:02:30