具有功能的 A 帧检查变量并根据值显示不同的 gltf
A-frame check variable with function and show different gltf depending on the value
我想知道如何使用 JavaScript 和 A 型框架 (https://aframe.io) 创建类似的东西。
我想创建一个名为 load()
的 onload 函数,它将检查变量 x 的值,如果 x 是一个,id 为 1 的 gltf
将显示并且 gltf 的id 为 2 和 3 的将不可见。 gltf 的 2 和 3 也是如此。我怎样才能完成这个?我的代码:
<script>
var x = 1;
</script>
<script src="https://aframe.io/releases/1.2.0/aframe.min.js"></script>
<body onload="load()">
<a-gltf-model id="1" src="https://cdn.glitch.com/2556b706-79db-4661-ab72-d86cfd5b5649%2Fscene.glb?v=1622850633562" position="-0 6 -1" scale="0.01 0.01 0.01"></a-gltf-model>
<a-gltf-model id="2" src="https://cdn.glitch.com/6632f840-a210-4bdc-a62f-bc38e65ae48a%2Fscene%20-%202021-06-12T230318.001.glb?v=1623564342354" position="-0 6 -1" scale="0.01 0.01 0.01"></a-gltf-model>
<a-gltf-model id="3"src="https://cdn.glitch.com/6632f840-a210-4bdc-a62f-bc38e65ae48a%2Fwinter.glb?v=1623564477495" position="-0 6 -1" scale="0.01 0.01 0.01"></a-gltf-model>
<a-scene>
</a-scene>
</body>
将有效的 id
存储在数组中并循环遍历每个数组,然后相应地删除。
const ids = [1, 2, 3];
function load() {
var x = 1;
ids.forEach((e) => {
if (e != x) {
document.getElementById(e).remove();
}
})
}
a-gltf-model {
display: none;
}
<script src="https://aframe.io/releases/1.2.0/aframe.min.js"></script>
<body onload="load()">
<a-scene>
<a-gltf-model id="1" src="https://cdn.glitch.com/2556b706-79db-4661-ab72-d86cfd5b5649%2Fscene.glb?v=1622850633562" position="-0 6 -1" scale="0.01 0.01 0.01"></a-gltf-model>
<a-gltf-model id="2" src="https://cdn.glitch.com/6632f840-a210-4bdc-a62f-bc38e65ae48a%2Fscene%20-%202021-06-12T230318.001.glb?v=1623564342354" position="-0 6 -1" scale="0.01 0.01 0.01"></a-gltf-model>
<a-gltf-model id="3" src="https://cdn.glitch.com/6632f840-a210-4bdc-a62f-bc38e65ae48a%2Fwinter.glb?v=1623564477495" position="-0 6 -1" scale="0.01 0.01 0.01"></a-gltf-model>
<a-plane width="100" height="100" position=" 0.00 0.00 0.00" rotation="-90 0 0" color="royalblue"></a-plane>
</a-scene>
</body>
我认为此博客上的示例可能会有所帮助:
https://medium.com/swlh/build-your-location-based-augmented-reality-web-app-a841956eed2c
只有一个 <a-entity></a-entity>
组件。
使用您的 load()
动态更改 gltf-model
和 position
属性。
也许像上面的链接示例那样将信息存储在排序数组中?
我想知道如何使用 JavaScript 和 A 型框架 (https://aframe.io) 创建类似的东西。
我想创建一个名为 load()
的 onload 函数,它将检查变量 x 的值,如果 x 是一个,id 为 1 的 gltf
将显示并且 gltf 的id 为 2 和 3 的将不可见。 gltf 的 2 和 3 也是如此。我怎样才能完成这个?我的代码:
<script>
var x = 1;
</script>
<script src="https://aframe.io/releases/1.2.0/aframe.min.js"></script>
<body onload="load()">
<a-gltf-model id="1" src="https://cdn.glitch.com/2556b706-79db-4661-ab72-d86cfd5b5649%2Fscene.glb?v=1622850633562" position="-0 6 -1" scale="0.01 0.01 0.01"></a-gltf-model>
<a-gltf-model id="2" src="https://cdn.glitch.com/6632f840-a210-4bdc-a62f-bc38e65ae48a%2Fscene%20-%202021-06-12T230318.001.glb?v=1623564342354" position="-0 6 -1" scale="0.01 0.01 0.01"></a-gltf-model>
<a-gltf-model id="3"src="https://cdn.glitch.com/6632f840-a210-4bdc-a62f-bc38e65ae48a%2Fwinter.glb?v=1623564477495" position="-0 6 -1" scale="0.01 0.01 0.01"></a-gltf-model>
<a-scene>
</a-scene>
</body>
将有效的 id
存储在数组中并循环遍历每个数组,然后相应地删除。
const ids = [1, 2, 3];
function load() {
var x = 1;
ids.forEach((e) => {
if (e != x) {
document.getElementById(e).remove();
}
})
}
a-gltf-model {
display: none;
}
<script src="https://aframe.io/releases/1.2.0/aframe.min.js"></script>
<body onload="load()">
<a-scene>
<a-gltf-model id="1" src="https://cdn.glitch.com/2556b706-79db-4661-ab72-d86cfd5b5649%2Fscene.glb?v=1622850633562" position="-0 6 -1" scale="0.01 0.01 0.01"></a-gltf-model>
<a-gltf-model id="2" src="https://cdn.glitch.com/6632f840-a210-4bdc-a62f-bc38e65ae48a%2Fscene%20-%202021-06-12T230318.001.glb?v=1623564342354" position="-0 6 -1" scale="0.01 0.01 0.01"></a-gltf-model>
<a-gltf-model id="3" src="https://cdn.glitch.com/6632f840-a210-4bdc-a62f-bc38e65ae48a%2Fwinter.glb?v=1623564477495" position="-0 6 -1" scale="0.01 0.01 0.01"></a-gltf-model>
<a-plane width="100" height="100" position=" 0.00 0.00 0.00" rotation="-90 0 0" color="royalblue"></a-plane>
</a-scene>
</body>
我认为此博客上的示例可能会有所帮助: https://medium.com/swlh/build-your-location-based-augmented-reality-web-app-a841956eed2c
只有一个 <a-entity></a-entity>
组件。
使用您的 load()
动态更改 gltf-model
和 position
属性。
也许像上面的链接示例那样将信息存储在排序数组中?