我知道three.js可以将一个对象导出到glb。
我要做的是把一架aframe飞机导出到glb文件。
我以为aframe包括了three.js,所以我尝试了这样的方法:
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<script src="https://aframe.io/releases/1.2.0/aframe.min.js"></script>
<title>Demo</title>
</head>
<body>
<a-scene
embedded
vr-mode-ui="enabled: false;"
background="color: #24CAFF;"
renderer="colorManagement: true;"
inspector=""
keyboard-shortcuts=""
screenshot=""
device-orientation-permission-ui=""
>
<a-plane
id="plane"
position="0 0 0"
rotation="0 0 0"
width="10"
height="10"
material="src: texturefile.jpg; repeat: 16 16">
></a-plane>
</a-scene>
<script>
var gltfExporter = new THREE.GLTFExporter();
gltfExporter.parse(document.querySelector('#plane').getObject3D('mesh').el, function (result) {
console.log(result);
};
</script>
</body>
</html>我无法从三个JS中得到GLTF的出口商。我尝试了新的GLTFExporter();只有GLTFExporter()和THREE.GLTFExporter(),没有新关键字。(检查是否已经有可用的实例)
这些都不管用吗?那么如何将这架飞机导出到GLB文件呢?
亲切问候
发布于 2022-02-02 13:39:24
我以为aframe包括three.js
a-frame使用three.js - 超三的叉。它有点落后(为了保持事物的稳定),而且它有一些细微的区别(实用函数,一些加载器)。
另外值得一提的是-- three.js构建仅限于一些核心特性--如果需要的话,其他功能应该包括在内。
因此-如果浏览三个示例并查看其中一个出口gltf,则应该检查源代码。像这这样的线条
import { GLTFExporter } from './jsm/exporters/GLTFExporter.js';指示GLTFExporter是从其他地方导入的。jsm有模块,js有js对象。
因此,在您的示例中,一个简单的脚本导入:
<script src="https://threejs.org/examples/js/exporters/GLTFExporter.js"></script>应足以创造出口者并加以利用:
const exporter = new THREE.GLTFExporter();
exporter.parse(obj, callback, error, options)您可以查看一个简单的示例,说明如何在一个框架这里中使用它。
https://stackoverflow.com/questions/70923442
复制相似问题