未验证 提交 bbd1133a 编写于 作者: M Mr.doob 提交者: GitHub

Merge pull request #15993 from garyo/fix/gltf-export-prefix-geom-attrs

GLTFExporter: prefix all geom attributes except official ones
......@@ -1162,9 +1162,22 @@ THREE.GLTFExporter.prototype = {
var modifiedAttribute = null;
for ( var attributeName in geometry.attributes ) {
// Ignore morph target attributes, which are exported later.
if ( attributeName.substr( 0, 5 ) === 'morph' ) continue;
var attribute = geometry.attributes[ attributeName ];
attributeName = nameConversion[ attributeName ] || attributeName.toUpperCase();
// Prefix all geometry attributes except the ones specifically
// listed in the spec; non-spec attributes are considered custom.
var validVertexAttributes =
/^(POSITION|NORMAL|TANGENT|TEXCOORD_\d+|COLOR_\d+|JOINTS_\d+|WEIGHTS_\d+)$/;
if ( ! validVertexAttributes.test( attributeName ) ) {
attributeName = '_' + attributeName;
}
if ( cachedData.attributes.has( attribute ) ) {
attributes[ attributeName ] = cachedData.attributes.get( attribute );
......@@ -1184,15 +1197,11 @@ THREE.GLTFExporter.prototype = {
}
if ( attributeName.substr( 0, 5 ) !== 'MORPH' ) {
var accessor = processAccessor( modifiedAttribute || attribute, geometry );
if ( accessor !== null ) {
var accessor = processAccessor( modifiedAttribute || attribute, geometry );
if ( accessor !== null ) {
attributes[ attributeName ] = accessor;
cachedData.attributes.set( attribute, accessor );
}
attributes[ attributeName ] = accessor;
cachedData.attributes.set( attribute, accessor );
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册