gpt4 book ai didi

javascript - XML3D:导出场景

转载 作者:行者123 更新时间:2023-12-03 09:54:12 27 4
gpt4 key购买 nike

我需要将场景导出为单个 STL 文件。而导出每个单<asset>/<mesh>/<model>很容易导出带有变换的整个场景是另一回事。这需要在导出之前对每个 Assets 数据的每个顶点应用世界矩阵变换。XML3D 是否有一些机制可以帮助我实现这一点?

我应该从哪里开始?

最佳答案

实际上,XML3D 是一种演示格式,其设计初衷并不是为了提取除交互式渲染之外的有用内容。但是,由于它是 JavaScript,因此您可以以某种方式访问​​所有内容,显然您还可以获得应用所有转换并从场景中创建单个巨大 STL 网格所需的数据。

我能想到的最简单的方法是使用内部场景:

var scene = document.querySelector("xml3d")._configured.adapters["webgl_1"].getScene();

// Iterate render objects
scene.ready.forEach(function(renderObject) {
// Get word matrix
var worldMatrix = new Float32Array(16);
renderObject.getWorldMatrix(worldMatrix);

// Get local position data
var dataRequest = new Xflow.ComputeRequest(renderObject.drawable.dataNode, ["position"]);
var positions = dataRequest.getResult().getOutputData("position").getValue();

console.log(worldMatrix, positions.length);
// apply worldmatrix to all positions
...
});

关于javascript - XML3D:导出场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30790944/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com