|
@@ -582,7 +582,7 @@ r.nquad_smooth;if(b){var c=a+b*Uint32Array.BYTES_PER_ELEMENT*4;t(b,a,c,c+b*Uint3
|
|
THREE.ColladaLoader=function(){function a(a,d,f){R=a;d=d||ca;f!==void 0&&(a=f.split("/"),a.pop(),Da=a.length<1?"":a.join("/")+"/");if((a=R.evaluate("//dae:asset",R,K,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())&&a.children)for(f=0;f<a.children.length;f++){var i=a.children[f];switch(i.nodeName){case "unit":(i=i.getAttribute("meter"))&&parseFloat(i);break;case "up_axis":na=i.textContent.charAt(0)}}if(!oa.convertUpAxis||na===oa.upAxis)X=null;else switch(na){case "X":X=oa.upAxis==="Y"?
|
|
THREE.ColladaLoader=function(){function a(a,d,f){R=a;d=d||ca;f!==void 0&&(a=f.split("/"),a.pop(),Da=a.length<1?"":a.join("/")+"/");if((a=R.evaluate("//dae:asset",R,K,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())&&a.children)for(f=0;f<a.children.length;f++){var i=a.children[f];switch(i.nodeName){case "unit":(i=i.getAttribute("meter"))&&parseFloat(i);break;case "up_axis":na=i.textContent.charAt(0)}}if(!oa.convertUpAxis||na===oa.upAxis)X=null;else switch(na){case "X":X=oa.upAxis==="Y"?
|
|
"XtoY":"XtoZ";break;case "Y":X=oa.upAxis==="X"?"YtoX":"YtoZ";break;case "Z":X=oa.upAxis==="X"?"ZtoX":"ZtoY"}ya=c("//dae:library_images/dae:image",e,"image");qa=c("//dae:library_materials/dae:material",x,"material");ma=c("//dae:library_effects/dae:effect",Q,"effect");pa=c("//dae:library_geometries/dae:geometry",q,"geometry");ra=c("//dae:library_controllers/dae:controller",h,"controller");ta=c("//dae:library_animations/dae:animation",W,"animation");Aa=c(".//dae:library_visual_scenes/dae:visual_scene",
|
|
"XtoY":"XtoZ";break;case "Y":X=oa.upAxis==="X"?"YtoX":"YtoZ";break;case "Z":X=oa.upAxis==="X"?"ZtoX":"ZtoY"}ya=c("//dae:library_images/dae:image",e,"image");qa=c("//dae:library_materials/dae:material",x,"material");ma=c("//dae:library_effects/dae:effect",Q,"effect");pa=c("//dae:library_geometries/dae:geometry",q,"geometry");ra=c("//dae:library_controllers/dae:controller",h,"controller");ta=c("//dae:library_animations/dae:animation",W,"animation");Aa=c(".//dae:library_visual_scenes/dae:visual_scene",
|
|
l,"visual_scene");ua=[];wa=[];(a=R.evaluate(".//dae:scene/dae:instance_visual_scene",R,K,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())?(a=a.getAttribute("url").replace(/^#/,""),ea=Aa[a]):ea=null;fa=new THREE.Object3D;for(a=0;a<ea.nodes.length;a++)fa.add(g(ea.nodes[a]));za=[];b(fa);a={scene:fa,morphs:ua,skins:wa,animations:za,dae:{images:ya,materials:qa,effects:ma,geometries:pa,controllers:ra,animations:ta,visualScenes:Aa,scene:ea}};d&&d(a);return a}function c(a,b,c){for(var a=R.evaluate(a,
|
|
l,"visual_scene");ua=[];wa=[];(a=R.evaluate(".//dae:scene/dae:instance_visual_scene",R,K,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())?(a=a.getAttribute("url").replace(/^#/,""),ea=Aa[a]):ea=null;fa=new THREE.Object3D;for(a=0;a<ea.nodes.length;a++)fa.add(g(ea.nodes[a]));za=[];b(fa);a={scene:fa,morphs:ua,skins:wa,animations:za,dae:{images:ya,materials:qa,effects:ma,geometries:pa,controllers:ra,animations:ta,visualScenes:Aa,scene:ea}};d&&d(a);return a}function c(a,b,c){for(var a=R.evaluate(a,
|
|
-R,K,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null),d={},e=a.iterateNext(),g=0;e;){e=(new b).parse(e);if(e.id.length==0)e.id=c+g++;d[e.id]=e;e=a.iterateNext()}return d}function b(a){var c=ea.getChildById(a.name,!0),d=null;if(c&&c.keys){d={fps:60,hierarchy:[{node:c,keys:c.keys,sids:c.sids}],node:a,name:"animation_"+a.name,length:0};za.push(d);for(var e=0,g=c.keys.length;e<g;e++)d.length=Math.max(d.length,c.keys[e].time)}else d={hierarchy:[{keys:[],sids:[]}]};e=0;for(g=a.children.length;e<g;e++)for(var c=
|
|
|
|
|
|
+R,K,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null),d={},e=a.iterateNext(),g=0;e;){e=(new b).parse(e);if(!e.id||e.id.length==0)e.id=c+g++;d[e.id]=e;e=a.iterateNext()}return d}function b(a){var c=ea.getChildById(a.name,!0),d=null;if(c&&c.keys){d={fps:60,hierarchy:[{node:c,keys:c.keys,sids:c.sids}],node:a,name:"animation_"+a.name,length:0};za.push(d);for(var e=0,g=c.keys.length;e<g;e++)d.length=Math.max(d.length,c.keys[e].time)}else d={hierarchy:[{keys:[],sids:[]}]};e=0;for(g=a.children.length;e<g;e++)for(var c=
|
|
0,f=b(a.children[e]).hierarchy.length;c<f;c++)d.hierarchy.push({keys:[],sids:[]});return d}function d(a,b,c,e){a.world=a.world||new THREE.Matrix4;a.world.copy(a.matrix);if(a.channels&&a.channels.length){var g=a.channels[0].sampler.output[c];g instanceof THREE.Matrix4&&a.world.copy(g)}e&&a.world.multiply(e,a.world);b.push(a);for(e=0;e<a.nodes.length;e++)d(a.nodes[e],b,c,a.world)}function f(a,b,c){var e=ra[b.url];if(!e||!e.skin)console.log("ColladaLoader: Could not find skin controller.");else if(!b.skeleton||
|
|
0,f=b(a.children[e]).hierarchy.length;c<f;c++)d.hierarchy.push({keys:[],sids:[]});return d}function d(a,b,c,e){a.world=a.world||new THREE.Matrix4;a.world.copy(a.matrix);if(a.channels&&a.channels.length){var g=a.channels[0].sampler.output[c];g instanceof THREE.Matrix4&&a.world.copy(g)}e&&a.world.multiply(e,a.world);b.push(a);for(e=0;e<a.nodes.length;e++)d(a.nodes[e],b,c,a.world)}function f(a,b,c){var e=ra[b.url];if(!e||!e.skin)console.log("ColladaLoader: Could not find skin controller.");else if(!b.skeleton||
|
|
!b.skeleton.length)console.log("ColladaLoader: Could not find the skeleton for the skin. ");else{var g,c=1E6,f=-c,h=0;for(g in ta)for(var i=ta[g],j=0;j<i.sampler.length;j++){var l=i.sampler[j];l.create();c=Math.min(c,l.startTime);f=Math.max(f,l.endTime);h=Math.max(h,l.input.length)}g={start:c,end:f,frames:h};for(var b=ea.getChildById(b.skeleton[0],!0)||ea.getChildBySid(b.skeleton[0],!0),k,m,f=new THREE.Vector3,n,j=0;j<a.vertices.length;j++)e.skin.bindShapeMatrix.multiplyVector3(a.vertices[j].position);
|
|
!b.skeleton.length)console.log("ColladaLoader: Could not find the skeleton for the skin. ");else{var g,c=1E6,f=-c,h=0;for(g in ta)for(var i=ta[g],j=0;j<i.sampler.length;j++){var l=i.sampler[j];l.create();c=Math.min(c,l.startTime);f=Math.max(f,l.endTime);h=Math.max(h,l.input.length)}g={start:c,end:f,frames:h};for(var b=ea.getChildById(b.skeleton[0],!0)||ea.getChildBySid(b.skeleton[0],!0),k,m,f=new THREE.Vector3,n,j=0;j<a.vertices.length;j++)e.skin.bindShapeMatrix.multiplyVector3(a.vertices[j].position);
|
|
for(c=0;c<g.frames;c++){h=[];i=[];for(j=0;j<a.vertices.length;j++)i.push(new THREE.Vertex(new THREE.Vector3));d(b,h,c);j=h;l=e.skin;for(m=0;m<j.length;m++)if(k=j[m],n=-1,k.type=="JOINT"){for(var o=0;o<l.joints.length;o++)if(k.sid==l.joints[o]){n=o;break}if(n>=0){o=l.invBindMatrices[n];k.invBindMatrix=o;k.skinningMatrix=new THREE.Matrix4;k.skinningMatrix.multiply(k.world,o);k.weights=[];for(o=0;o<l.weights.length;o++)for(var p=0;p<l.weights[o].length;p++){var r=l.weights[o][p];r.joint==n&&k.weights.push(r)}}else throw"ColladaLoader: Could not find joint '"+
|
|
for(c=0;c<g.frames;c++){h=[];i=[];for(j=0;j<a.vertices.length;j++)i.push(new THREE.Vertex(new THREE.Vector3));d(b,h,c);j=h;l=e.skin;for(m=0;m<j.length;m++)if(k=j[m],n=-1,k.type=="JOINT"){for(var o=0;o<l.joints.length;o++)if(k.sid==l.joints[o]){n=o;break}if(n>=0){o=l.invBindMatrices[n];k.invBindMatrix=o;k.skinningMatrix=new THREE.Matrix4;k.skinningMatrix.multiply(k.world,o);k.weights=[];for(o=0;o<l.weights.length;o++)for(var p=0;p<l.weights[o].length;p++){var r=l.weights[o][p];r.joint==n&&k.weights.push(r)}}else throw"ColladaLoader: Could not find joint '"+
|