在HTML中我定义了3个旅游路线点。 但在加载JSON sceneStructure后,它们将被删除。 有趣的是,相机拥有3个航路点条目, 但他们都是零。看起来他们被删除了 sceneStructure loading。
如何避免这种情况?
代码要大到这里复制,因此作为URL(抱歉)。 有问题的代码可以在这里找到:
答案 0 :(得分:0)
您似乎在加载场景的代码中找到了一个边缘大小写。 加载场景时,场景结构中的摄像机+巡视路点将添加到场景中并使用。
问题是只能有一个活动的摄像头,问题是优先级:来自场景或初始HTML的摄像头(和巡视路点)。
我们将添加文档来解释这个和行为(来自场景的摄像头优先)。 这可以通过而不是将场景摄像机添加到A-Frame场景中来规避:
io3d.scene.getAframeElementsFromSceneStructure(sceneStructure)
.then(elements => elements.filter(elem => !elem.hasAttribute('camera'))
.then(elements => elements.forEach(el => scene.appendChild(el))
您还在我们的文档中遇到了一个问题,我们现在正在进行更正!
由于相机航点可能有多个相同的标题,我们更改了库以使用io3d-uuid
方法的其他goTo
属性:
<a-entity tour-waypoint="Esszimmer" io3d-uuid="ez" position="-0.0 1.6 -0.0" rotation="0 45.8 0"></a-entity>
<a-entity tour-waypoint="Wohnzimmer" io3d-uuid="wz" position="0.2 1.6 -2.8" rotation="0 152.9 0"></a-entity>
<a-entity tour-waypoint="Arbeitszimmer" io3d-uuid="az" position="-0.9 1.6 6.1" rotation="0 47.9 0"></a-entity>
然后像这样使用它们:
document.getElementById('camera').components.tour.goTo('az')
感谢您提出问题&amp;帮助3D.io让每个人都更好!
答案 1 :(得分:0)
根本原因可能与此处相同: Waypoints animation issue at 3d.io
版本4中的aframe-animation-component有一个重大变化。为避免使用旧版本:
<script src="https://unpkg.com/aframe-animationcomponent@3.2.5/dist/aframe-animation-component.min.js"></script>