【发布时间】:2018-12-03 14:05:42
【问题描述】:
在不使用 GPU 的情况下,将bone 矩阵应用于顶点以使实际几何图形表示转换后的形状的正确方法是什么?
我有一个角色模型,我正在应用skeleton,我想以不同的姿势进行 3D 打印,所以我想使用STLExporter 导出一个 3D 可打印文件,但它只导出原始几何图形。
如果我可以在每个SkinnedMesh 和geometry.applyMatrix(???) 上以正确的顺序使用正确的骨骼矩阵scene.traverse(),我应该能够导出一个应用了变换的STL,对吧?
var objects = [];
var triangles = 0;
scene.traverse( function ( object ) {
if ( object.isMesh ) {
var geometry = object.geometry;
if ( geometry.isBufferGeometry ) {
geometry = new THREE.Geometry().fromBufferGeometry( geometry );
}
// TODO: Apply skeleton transform
if ( geometry.isGeometry ) {
triangles += geometry.faces.length;
objects.push( {
geometry: geometry,
matrixWorld: object.matrixWorld
} );
}
}
} );
【问题讨论】: