|
@@ -137,7 +137,7 @@ THREE.MMDLoader.prototype.loadVmds = function ( urls, callback, onProgress, onEr
|
|
|
var vmds = [];
|
|
|
urls = urls.slice();
|
|
|
|
|
|
- function run () {
|
|
|
+ function run() {
|
|
|
|
|
|
var url = urls.shift();
|
|
|
|
|
@@ -195,7 +195,7 @@ THREE.MMDLoader.prototype.loadVpd = function ( url, callback, onProgress, onErro
|
|
|
THREE.MMDLoader.prototype.parseModel = function ( buffer, modelExtension ) {
|
|
|
|
|
|
// Should I judge from model data header?
|
|
|
- switch( modelExtension.toLowerCase() ) {
|
|
|
+ switch ( modelExtension.toLowerCase() ) {
|
|
|
|
|
|
case 'pmd':
|
|
|
return this.parsePmd( buffer );
|
|
@@ -310,7 +310,7 @@ THREE.MMDLoader.prototype.pourVmdIntoCamera = function ( camera, vmd, name ) {
|
|
|
interpolations = interpolations.slice();
|
|
|
|
|
|
var stride = values.length / times.length;
|
|
|
- var interpolateStride = ( stride === 3 ) ? 12 : 4; // 3: Vector3, others: Quaternion or Number
|
|
|
+ var interpolateStride = ( stride === 3 ) ? 12 : 4; // 3: Vector3, others: Quaternion or Number
|
|
|
|
|
|
var index = 1;
|
|
|
|
|
@@ -358,7 +358,7 @@ THREE.MMDLoader.prototype.pourVmdIntoCamera = function ( camera, vmd, name ) {
|
|
|
|
|
|
};
|
|
|
|
|
|
- for ( var i = 0; i < orderedMotions.length; i++ ) {
|
|
|
+ for ( var i = 0; i < orderedMotions.length; i ++ ) {
|
|
|
|
|
|
var m = orderedMotions[ i ];
|
|
|
|
|
@@ -369,10 +369,10 @@ THREE.MMDLoader.prototype.pourVmdIntoCamera = function ( camera, vmd, name ) {
|
|
|
var fov = m.fov;
|
|
|
var interpolation = m.interpolation;
|
|
|
|
|
|
- position.set( 0, 0, -distance );
|
|
|
+ position.set( 0, 0, - distance );
|
|
|
center.set( pos[ 0 ], pos[ 1 ], pos[ 2 ] );
|
|
|
|
|
|
- euler.set( -rot[ 0 ], -rot[ 1 ], -rot[ 2 ] );
|
|
|
+ euler.set( - rot[ 0 ], - rot[ 1 ], - rot[ 2 ] );
|
|
|
quaternion.setFromEuler( euler );
|
|
|
|
|
|
position.add( center );
|
|
@@ -424,7 +424,7 @@ THREE.MMDLoader.prototype.pourVmdIntoCamera = function ( camera, vmd, name ) {
|
|
|
tracks.push( createTrack( '.position', 'VectorKeyframeTrackEx', times, positions, pInterpolations ) );
|
|
|
tracks.push( createTrack( '.fov', 'NumberKeyframeTrackEx', times, fovs, fInterpolations ) );
|
|
|
|
|
|
- var clip = new THREE.AnimationClip( name === undefined ? THREE.Math.generateUUID() : name, -1, tracks );
|
|
|
+ var clip = new THREE.AnimationClip( name === undefined ? THREE.Math.generateUUID() : name, - 1, tracks );
|
|
|
|
|
|
if ( camera.center === undefined ) camera.center = new THREE.Vector3( 0, 0, 0 );
|
|
|
if ( camera.animations === undefined ) camera.animations = [];
|
|
@@ -491,7 +491,6 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
var scope = this;
|
|
|
var geometry = new THREE.BufferGeometry();
|
|
|
var materials = [];
|
|
|
- var helper = new THREE.MMDLoader.DataCreationHelper();
|
|
|
|
|
|
var buffer = {};
|
|
|
|
|
@@ -504,7 +503,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
var initVartices = function () {
|
|
|
|
|
|
- for ( var i = 0; i < model.metadata.vertexCount; i++ ) {
|
|
|
+ for ( var i = 0; i < model.metadata.vertexCount; i ++ ) {
|
|
|
|
|
|
var v = model.vertices[ i ];
|
|
|
|
|
@@ -544,7 +543,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
var initFaces = function () {
|
|
|
|
|
|
- for ( var i = 0; i < model.metadata.faceCount; i++ ) {
|
|
|
+ for ( var i = 0; i < model.metadata.faceCount; i ++ ) {
|
|
|
|
|
|
var f = model.faces[ i ];
|
|
|
|
|
@@ -577,7 +576,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
}
|
|
|
|
|
|
- for ( var i = 0; i < model.metadata.boneCount; i++ ) {
|
|
|
+ for ( var i = 0; i < model.metadata.boneCount; i ++ ) {
|
|
|
|
|
|
var bone = {};
|
|
|
var b = model.bones[ i ];
|
|
@@ -588,7 +587,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
bone.rotq = [ 0, 0, 0, 1 ];
|
|
|
bone.scl = [ 1, 1, 1 ];
|
|
|
|
|
|
- if ( bone.parent !== -1 ) {
|
|
|
+ if ( bone.parent !== - 1 ) {
|
|
|
|
|
|
bone.pos[ 0 ] -= model.bones[ bone.parent ].position[ 0 ];
|
|
|
bone.pos[ 1 ] -= model.bones[ bone.parent ].position[ 1 ];
|
|
@@ -596,7 +595,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
}
|
|
|
|
|
|
- bone.rigidBodyType = dictionary[ i ] !== undefined ? dictionary[ i ] : -1;
|
|
|
+ bone.rigidBodyType = dictionary[ i ] !== undefined ? dictionary[ i ] : - 1;
|
|
|
|
|
|
bones.push( bone );
|
|
|
|
|
@@ -613,9 +612,9 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
// TODO: remove duplicated codes between PMD and PMX
|
|
|
if ( model.metadata.format === 'pmd' ) {
|
|
|
|
|
|
- for ( var i = 0; i < model.metadata.ikCount; i++ ) {
|
|
|
+ for ( var i = 0; i < model.metadata.ikCount; i ++ ) {
|
|
|
|
|
|
- var ik = model.iks[i];
|
|
|
+ var ik = model.iks[ i ];
|
|
|
var param = {};
|
|
|
|
|
|
param.target = ik.target;
|
|
@@ -624,7 +623,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
param.maxAngle = ik.maxAngle * 4;
|
|
|
param.links = [];
|
|
|
|
|
|
- for ( var j = 0; j < ik.links.length; j++ ) {
|
|
|
+ for ( var j = 0; j < ik.links.length; j ++ ) {
|
|
|
|
|
|
var link = {};
|
|
|
link.index = ik.links[ j ].index;
|
|
@@ -645,7 +644,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- for ( var i = 0; i < model.metadata.boneCount; i++ ) {
|
|
|
+ for ( var i = 0; i < model.metadata.boneCount; i ++ ) {
|
|
|
|
|
|
var b = model.bones[ i ];
|
|
|
var ik = b.ik;
|
|
@@ -664,7 +663,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
param.maxAngle = ik.maxAngle;
|
|
|
param.links = [];
|
|
|
|
|
|
- for ( var j = 0; j < ik.links.length; j++ ) {
|
|
|
+ for ( var j = 0; j < ik.links.length; j ++ ) {
|
|
|
|
|
|
var link = {};
|
|
|
link.index = ik.links[ j ].index;
|
|
@@ -703,7 +702,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
var grants = [];
|
|
|
|
|
|
- for ( var i = 0; i < model.metadata.boneCount; i++ ) {
|
|
|
+ for ( var i = 0; i < model.metadata.boneCount; i ++ ) {
|
|
|
|
|
|
var b = model.bones[ i ];
|
|
|
var grant = b.grant;
|
|
@@ -750,7 +749,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
function updateVertices( attribute, m, ratio ) {
|
|
|
|
|
|
- for ( var i = 0; i < m.elementCount; i++ ) {
|
|
|
+ for ( var i = 0; i < m.elementCount; i ++ ) {
|
|
|
|
|
|
var v = m.elements[ i ];
|
|
|
|
|
@@ -775,7 +774,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
var morphTargets = [];
|
|
|
var attributes = [];
|
|
|
|
|
|
- for ( var i = 0; i < model.metadata.morphCount; i++ ) {
|
|
|
+ for ( var i = 0; i < model.metadata.morphCount; i ++ ) {
|
|
|
|
|
|
var m = model.morphs[ i ];
|
|
|
var params = { name: m.name };
|
|
@@ -783,7 +782,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
var attribute = new THREE.Float32BufferAttribute( model.metadata.vertexCount * 3, 3 );
|
|
|
attribute.name = m.name;
|
|
|
|
|
|
- for ( var j = 0; j < model.metadata.vertexCount * 3; j++ ) {
|
|
|
+ for ( var j = 0; j < model.metadata.vertexCount * 3; j ++ ) {
|
|
|
|
|
|
attribute.array[ j ] = buffer.vertices[ j ];
|
|
|
|
|
@@ -799,9 +798,9 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- if ( m.type === 0 ) { // group
|
|
|
+ if ( m.type === 0 ) { // group
|
|
|
|
|
|
- for ( var j = 0; j < m.elementCount; j++ ) {
|
|
|
+ for ( var j = 0; j < m.elementCount; j ++ ) {
|
|
|
|
|
|
var m2 = model.morphs[ m.elements[ j ].index ];
|
|
|
var ratio = m.elements[ j ].ratio;
|
|
@@ -818,35 +817,35 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
}
|
|
|
|
|
|
- } else if ( m.type === 1 ) { // vertex
|
|
|
+ } else if ( m.type === 1 ) { // vertex
|
|
|
|
|
|
updateVertices( attribute, m, 1.0 );
|
|
|
|
|
|
- } else if ( m.type === 2 ) { // bone
|
|
|
+ } else if ( m.type === 2 ) { // bone
|
|
|
|
|
|
// TODO: implement
|
|
|
|
|
|
- } else if ( m.type === 3 ) { // uv
|
|
|
+ } else if ( m.type === 3 ) { // uv
|
|
|
|
|
|
// TODO: implement
|
|
|
|
|
|
- } else if ( m.type === 4 ) { // additional uv1
|
|
|
+ } else if ( m.type === 4 ) { // additional uv1
|
|
|
|
|
|
// TODO: implement
|
|
|
|
|
|
- } else if ( m.type === 5 ) { // additional uv2
|
|
|
+ } else if ( m.type === 5 ) { // additional uv2
|
|
|
|
|
|
// TODO: implement
|
|
|
|
|
|
- } else if ( m.type === 6 ) { // additional uv3
|
|
|
+ } else if ( m.type === 6 ) { // additional uv3
|
|
|
|
|
|
// TODO: implement
|
|
|
|
|
|
- } else if ( m.type === 7 ) { // additional uv4
|
|
|
+ } else if ( m.type === 7 ) { // additional uv4
|
|
|
|
|
|
// TODO: implement
|
|
|
|
|
|
- } else if ( m.type === 8 ) { // material
|
|
|
+ } else if ( m.type === 8 ) { // material
|
|
|
|
|
|
// TODO: implement
|
|
|
|
|
@@ -876,7 +875,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
if ( scope.textureCrossOrigin !== null ) textureLoader.setCrossOrigin( scope.textureCrossOrigin );
|
|
|
|
|
|
- function loadTexture ( filePath, params ) {
|
|
|
+ function loadTexture( filePath, params ) {
|
|
|
|
|
|
if ( params === undefined ) {
|
|
|
|
|
@@ -931,8 +930,8 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
context.clearRect( 0, 0, width, height );
|
|
|
context.translate( width / 2.0, height / 2.0 );
|
|
|
- context.rotate( 0.5 * Math.PI ); // 90.0 * Math.PI / 180.0
|
|
|
- context.translate( -width / 2.0, -height / 2.0 );
|
|
|
+ context.rotate( 0.5 * Math.PI ); // 90.0 * Math.PI / 180.0
|
|
|
+ context.translate( - width / 2.0, - height / 2.0 );
|
|
|
context.drawImage( image, 0, 0 );
|
|
|
|
|
|
t.image = context.getImageData( 0, 0, width, height );
|
|
@@ -943,7 +942,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
t.wrapS = THREE.RepeatWrapping;
|
|
|
t.wrapT = THREE.RepeatWrapping;
|
|
|
|
|
|
- for ( var i = 0; i < texture.readyCallbacks.length; i++ ) {
|
|
|
+ for ( var i = 0; i < texture.readyCallbacks.length; i ++ ) {
|
|
|
|
|
|
texture.readyCallbacks[ i ]( texture );
|
|
|
|
|
@@ -979,7 +978,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
}
|
|
|
|
|
|
- for ( var i = 0; i < model.metadata.materialCount; i++ ) {
|
|
|
+ for ( var i = 0; i < model.metadata.materialCount; i ++ ) {
|
|
|
|
|
|
var m = model.materials[ i ];
|
|
|
var params = {};
|
|
@@ -1040,7 +1039,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
}
|
|
|
|
|
|
- for ( var j = 0; j < fileNames.length; j++ ) {
|
|
|
+ for ( var j = 0; j < fileNames.length; j ++ ) {
|
|
|
|
|
|
var n = fileNames[ j ];
|
|
|
|
|
@@ -1070,7 +1069,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- if ( m.textureIndex !== -1 ) {
|
|
|
+ if ( m.textureIndex !== - 1 ) {
|
|
|
|
|
|
var n = model.textures[ m.textureIndex ];
|
|
|
params.map = loadTexture( n );
|
|
@@ -1078,7 +1077,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
}
|
|
|
|
|
|
// TODO: support m.envFlag === 3
|
|
|
- if ( m.envTextureIndex !== -1 && ( m.envFlag === 1 || m.envFlag == 2 ) ) {
|
|
|
+ if ( m.envTextureIndex !== - 1 && ( m.envFlag === 1 || m.envFlag == 2 ) ) {
|
|
|
|
|
|
var n = model.textures[ m.envTextureIndex ];
|
|
|
params.envMap = loadTexture( n, { sphericalReflectionMapping: true } );
|
|
@@ -1104,7 +1103,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
}
|
|
|
|
|
|
- for ( var i = 0; i < materialParams.length; i++ ) {
|
|
|
+ for ( var i = 0; i < materialParams.length; i ++ ) {
|
|
|
|
|
|
var p = materialParams[ i ];
|
|
|
var p2 = model.materials[ i ];
|
|
@@ -1133,12 +1132,12 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
m.faceNum = p.faceNum;
|
|
|
|
|
|
// Check if this part of the texture image the material uses requires transparency
|
|
|
- function checkTextureTransparency ( m ) {
|
|
|
+ function checkTextureTransparency( m ) {
|
|
|
|
|
|
m.map.readyCallbacks.push( function ( t ) {
|
|
|
|
|
|
// Is there any efficient ways?
|
|
|
- function createImageData ( image ) {
|
|
|
+ function createImageData( image ) {
|
|
|
|
|
|
var c = document.createElement( 'canvas' );
|
|
|
c.width = image.width;
|
|
@@ -1168,7 +1167,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
var centerUV = { x: 0.0, y: 0.0 };
|
|
|
|
|
|
- for ( var j = 0; j < 3; j++ ) {
|
|
|
+ for ( var j = 0; j < 3; j ++ ) {
|
|
|
|
|
|
var index = indices[ i * 3 + j ];
|
|
|
var uv = { x: uvs[ index * 2 + 0 ], y: uvs[ index * 2 + 1 ] };
|
|
@@ -1206,7 +1205,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
* t.wrapT = THREE.RepeatWrapping
|
|
|
* TODO: more precise
|
|
|
*/
|
|
|
- function getAlphaByUv ( image, uv ) {
|
|
|
+ function getAlphaByUv( image, uv ) {
|
|
|
|
|
|
var width = image.width;
|
|
|
var height = image.height;
|
|
@@ -1270,7 +1269,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
if ( model.metadata.format === 'pmd' ) {
|
|
|
|
|
|
- function isDefaultToonTexture ( n ) {
|
|
|
+ function isDefaultToonTexture( n ) {
|
|
|
|
|
|
if ( n.length !== 10 ) {
|
|
|
|
|
@@ -1291,7 +1290,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
if ( m.outlineParameters.thickness === 0.0 ) m.outlineParameters.visible = false;
|
|
|
|
|
|
- var toonFileName = ( p2.toonIndex === -1 ) ? 'toon00.bmp' : model.toonTextures[ p2.toonIndex ].fileName;
|
|
|
+ var toonFileName = ( p2.toonIndex === - 1 ) ? 'toon00.bmp' : model.toonTextures[ p2.toonIndex ].fileName;
|
|
|
var uuid = loadTexture( toonFileName, { isToonTexture: true, defaultTexturePath: isDefaultToonTexture( toonFileName ) } );
|
|
|
m.gradientMap = getTexture( uuid, textures );
|
|
|
|
|
@@ -1308,7 +1307,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
var toonFileName, isDefaultToon;
|
|
|
|
|
|
- if ( p2.toonIndex === -1 || p2.toonFlag !== 0 ) {
|
|
|
+ if ( p2.toonIndex === - 1 || p2.toonFlag !== 0 ) {
|
|
|
|
|
|
var num = p2.toonIndex + 1;
|
|
|
toonFileName = 'toon' + ( num < 10 ? '0' + num : num ) + '.bmp';
|
|
@@ -1332,7 +1331,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
if ( model.metadata.format === 'pmx' ) {
|
|
|
|
|
|
- function checkAlphaMorph ( morph, elements ) {
|
|
|
+ function checkAlphaMorph( morph, elements ) {
|
|
|
|
|
|
if ( morph.type !== 8 ) {
|
|
|
|
|
@@ -1340,11 +1339,11 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
}
|
|
|
|
|
|
- for ( var i = 0; i < elements.length; i++ ) {
|
|
|
+ for ( var i = 0; i < elements.length; i ++ ) {
|
|
|
|
|
|
var e = elements[ i ];
|
|
|
|
|
|
- if ( e.index === -1 ) {
|
|
|
+ if ( e.index === - 1 ) {
|
|
|
|
|
|
continue;
|
|
|
|
|
@@ -1362,14 +1361,14 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
}
|
|
|
|
|
|
- for ( var i = 0; i < model.morphs.length; i++ ) {
|
|
|
+ for ( var i = 0; i < model.morphs.length; i ++ ) {
|
|
|
|
|
|
var morph = model.morphs[ i ];
|
|
|
var elements = morph.elements;
|
|
|
|
|
|
if ( morph.type === 0 ) {
|
|
|
|
|
|
- for ( var j = 0; j < elements.length; j++ ) {
|
|
|
+ for ( var j = 0; j < elements.length; j ++ ) {
|
|
|
|
|
|
var morph2 = model.morphs[ elements[ j ].index ];
|
|
|
var elements2 = morph2.elements;
|
|
@@ -1395,14 +1394,14 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
var rigidBodies = [];
|
|
|
var constraints = [];
|
|
|
|
|
|
- for ( var i = 0; i < model.metadata.rigidBodyCount; i++ ) {
|
|
|
+ for ( var i = 0; i < model.metadata.rigidBodyCount; i ++ ) {
|
|
|
|
|
|
var b = model.rigidBodies[ i ];
|
|
|
var keys = Object.keys( b );
|
|
|
|
|
|
var p = {};
|
|
|
|
|
|
- for ( var j = 0; j < keys.length; j++ ) {
|
|
|
+ for ( var j = 0; j < keys.length; j ++ ) {
|
|
|
|
|
|
var key = keys[ j ];
|
|
|
p[ key ] = b[ key ];
|
|
@@ -1416,7 +1415,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
*/
|
|
|
if ( model.metadata.format === 'pmx' ) {
|
|
|
|
|
|
- if ( p.boneIndex !== -1 ) {
|
|
|
+ if ( p.boneIndex !== - 1 ) {
|
|
|
|
|
|
var bone = model.bones[ p.boneIndex ];
|
|
|
p.position[ 0 ] -= bone.position[ 0 ];
|
|
@@ -1431,14 +1430,14 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
|
|
|
}
|
|
|
|
|
|
- for ( var i = 0; i < model.metadata.constraintCount; i++ ) {
|
|
|
+ for ( var i = 0; i < model.metadata.constraintCount; i ++ ) {
|
|
|
|
|
|
var c = model.constraints[ i ];
|
|
|
var keys = Object.keys( c );
|
|
|
|
|
|
var p = {};
|
|
|
|
|
|
- for ( var j = 0; j < keys.length; j++ ) {
|
|
|
+ for ( var j = 0; j < keys.length; j ++ ) {
|
|
|
|
|
|
var key = keys[ j ];
|
|
|
p[ key ] = c[ key ];
|
|
@@ -1453,7 +1452,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
|
|
|
*/
|
|
|
if ( bodyA.type !== 0 && bodyB.type === 2 ) {
|
|
|
|
|
|
- if ( bodyA.boneIndex !== -1 && bodyB.boneIndex !== -1 &&
|
|
|
+ if ( bodyA.boneIndex !== - 1 && bodyB.boneIndex !== - 1 &&
|
|
|
model.bones[ bodyB.boneIndex ].parentIndex === bodyA.boneIndex ) {
|
|
|
|
|
|
bodyB.type = 1;
|
|
@@ -1522,14 +1521,14 @@ THREE.MMDLoader.prototype.createAnimation = function ( mesh, vmd, name ) {
|
|
|
|
|
|
var pushInterpolation = function ( array, interpolation, index ) {
|
|
|
|
|
|
- array.push( interpolation[ index + 0 ] / 127 ); // x1
|
|
|
- array.push( interpolation[ index + 8 ] / 127 ); // x2
|
|
|
- array.push( interpolation[ index + 4 ] / 127 ); // y1
|
|
|
+ array.push( interpolation[ index + 0 ] / 127 ); // x1
|
|
|
+ array.push( interpolation[ index + 8 ] / 127 ); // x2
|
|
|
+ array.push( interpolation[ index + 4 ] / 127 ); // y1
|
|
|
array.push( interpolation[ index + 12 ] / 127 ); // y2
|
|
|
|
|
|
};
|
|
|
|
|
|
- for ( var i = 0; i < orderedMotions.length; i++ ) {
|
|
|
+ for ( var i = 0; i < orderedMotions.length; i ++ ) {
|
|
|
|
|
|
var times = [];
|
|
|
var positions = [];
|
|
@@ -1540,7 +1539,7 @@ THREE.MMDLoader.prototype.createAnimation = function ( mesh, vmd, name ) {
|
|
|
var bone = bones[ i ];
|
|
|
var array = orderedMotions[ i ];
|
|
|
|
|
|
- for ( var j = 0; j < array.length; j++ ) {
|
|
|
+ for ( var j = 0; j < array.length; j ++ ) {
|
|
|
|
|
|
var time = array[ j ].frameNum / 30;
|
|
|
var pos = array[ j ].position;
|
|
@@ -1580,7 +1579,7 @@ THREE.MMDLoader.prototype.createAnimation = function ( mesh, vmd, name ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
- var clip = new THREE.AnimationClip( name === undefined ? THREE.Math.generateUUID() : name, -1, tracks );
|
|
|
+ var clip = new THREE.AnimationClip( name === undefined ? THREE.Math.generateUUID() : name, - 1, tracks );
|
|
|
|
|
|
if ( mesh.geometry.animations === undefined ) mesh.geometry.animations = [];
|
|
|
mesh.geometry.animations.push( clip );
|
|
@@ -1599,13 +1598,13 @@ THREE.MMDLoader.prototype.createAnimation = function ( mesh, vmd, name ) {
|
|
|
|
|
|
var tracks = [];
|
|
|
|
|
|
- for ( var i = 0; i < orderedMorphs.length; i++ ) {
|
|
|
+ for ( var i = 0; i < orderedMorphs.length; i ++ ) {
|
|
|
|
|
|
var times = [];
|
|
|
var values = [];
|
|
|
var array = orderedMorphs[ i ];
|
|
|
|
|
|
- for ( var j = 0; j < array.length; j++ ) {
|
|
|
+ for ( var j = 0; j < array.length; j ++ ) {
|
|
|
|
|
|
times.push( array[ j ].frameNum / 30 );
|
|
|
values.push( array[ j ].weight );
|
|
@@ -1618,7 +1617,7 @@ THREE.MMDLoader.prototype.createAnimation = function ( mesh, vmd, name ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
- var clip = new THREE.AnimationClip( name === undefined ? THREE.Math.generateUUID() : name + 'Morph', -1, tracks );
|
|
|
+ var clip = new THREE.AnimationClip( name === undefined ? THREE.Math.generateUUID() : name + 'Morph', - 1, tracks );
|
|
|
|
|
|
if ( mesh.geometry.animations === undefined ) mesh.geometry.animations = [];
|
|
|
mesh.geometry.animations.push( clip );
|
|
@@ -1648,9 +1647,9 @@ THREE.MMDLoader.DataCreationHelper.prototype = {
|
|
|
|
|
|
var str = '';
|
|
|
|
|
|
- for ( var i = 0; i < s.length; i++ ) {
|
|
|
+ for ( var i = 0; i < s.length; i ++ ) {
|
|
|
|
|
|
- str += '0x' + ( '0000' + s[ i ].charCodeAt().toString( 16 ) ).substr( -4 );
|
|
|
+ str += '0x' + ( '0000' + s[ i ].charCodeAt().toString( 16 ) ).substr( - 4 );
|
|
|
|
|
|
}
|
|
|
|
|
@@ -1662,7 +1661,7 @@ THREE.MMDLoader.DataCreationHelper.prototype = {
|
|
|
|
|
|
var dict = {};
|
|
|
|
|
|
- for ( var i = 0; i < array.length; i++ ) {
|
|
|
+ for ( var i = 0; i < array.length; i ++ ) {
|
|
|
|
|
|
dict[ array[ i ].name ] = i;
|
|
|
|
|
@@ -1676,7 +1675,7 @@ THREE.MMDLoader.DataCreationHelper.prototype = {
|
|
|
|
|
|
var result = [];
|
|
|
|
|
|
- for ( var i = 0; i < array.length; i++ ) {
|
|
|
+ for ( var i = 0; i < array.length; i ++ ) {
|
|
|
|
|
|
result[ i ] = [];
|
|
|
|
|
@@ -1692,13 +1691,13 @@ THREE.MMDLoader.DataCreationHelper.prototype = {
|
|
|
|
|
|
return a.frameNum - b.frameNum;
|
|
|
|
|
|
- } ) ;
|
|
|
+ } );
|
|
|
|
|
|
},
|
|
|
|
|
|
sortMotionArrays: function ( arrays ) {
|
|
|
|
|
|
- for ( var i = 0; i < arrays.length; i++ ) {
|
|
|
+ for ( var i = 0; i < arrays.length; i ++ ) {
|
|
|
|
|
|
this.sortMotionArray( arrays[ i ] );
|
|
|
|
|
@@ -1710,7 +1709,7 @@ THREE.MMDLoader.DataCreationHelper.prototype = {
|
|
|
|
|
|
var result = [];
|
|
|
|
|
|
- for ( var i = 0; i < array.length; i++ ) {
|
|
|
+ for ( var i = 0; i < array.length; i ++ ) {
|
|
|
|
|
|
result.push( array[ i ] );
|
|
|
|
|
@@ -1722,7 +1721,7 @@ THREE.MMDLoader.DataCreationHelper.prototype = {
|
|
|
|
|
|
createMotionArrays: function ( array, result, dict, key ) {
|
|
|
|
|
|
- for ( var i = 0; i < array.length; i++ ) {
|
|
|
+ for ( var i = 0; i < array.length; i ++ ) {
|
|
|
|
|
|
var a = array[ i ];
|
|
|
var num = dict[ a[ key ] ];
|
|
@@ -1777,13 +1776,13 @@ THREE.MMDLoader.VectorKeyframeTrackEx.prototype = Object.create( THREE.VectorKey
|
|
|
THREE.MMDLoader.VectorKeyframeTrackEx.prototype.constructor = THREE.MMDLoader.VectorKeyframeTrackEx;
|
|
|
THREE.MMDLoader.VectorKeyframeTrackEx.prototype.TimeBufferType = Float64Array;
|
|
|
|
|
|
-THREE.MMDLoader.VectorKeyframeTrackEx.prototype.InterpolantFactoryMethodCubicBezier = function( result ) {
|
|
|
+THREE.MMDLoader.VectorKeyframeTrackEx.prototype.InterpolantFactoryMethodCubicBezier = function ( result ) {
|
|
|
|
|
|
return new THREE.MMDLoader.CubicBezierInterpolation( this.times, this.values, this.getValueSize(), result, this.interpolationParameters );
|
|
|
|
|
|
};
|
|
|
|
|
|
-THREE.MMDLoader.VectorKeyframeTrackEx.prototype.setInterpolation = function( interpolation ) {
|
|
|
+THREE.MMDLoader.VectorKeyframeTrackEx.prototype.setInterpolation = function ( interpolation ) {
|
|
|
|
|
|
this.createInterpolant = this.InterpolantFactoryMethodCubicBezier;
|
|
|
|
|
@@ -1801,13 +1800,13 @@ THREE.MMDLoader.QuaternionKeyframeTrackEx.prototype = Object.create( THREE.Quate
|
|
|
THREE.MMDLoader.QuaternionKeyframeTrackEx.prototype.constructor = THREE.MMDLoader.QuaternionKeyframeTrackEx;
|
|
|
THREE.MMDLoader.QuaternionKeyframeTrackEx.prototype.TimeBufferType = Float64Array;
|
|
|
|
|
|
-THREE.MMDLoader.QuaternionKeyframeTrackEx.prototype.InterpolantFactoryMethodCubicBezier = function( result ) {
|
|
|
+THREE.MMDLoader.QuaternionKeyframeTrackEx.prototype.InterpolantFactoryMethodCubicBezier = function ( result ) {
|
|
|
|
|
|
return new THREE.MMDLoader.CubicBezierInterpolation( this.times, this.values, this.getValueSize(), result, this.interpolationParameters );
|
|
|
|
|
|
};
|
|
|
|
|
|
-THREE.MMDLoader.QuaternionKeyframeTrackEx.prototype.setInterpolation = function( interpolation ) {
|
|
|
+THREE.MMDLoader.QuaternionKeyframeTrackEx.prototype.setInterpolation = function ( interpolation ) {
|
|
|
|
|
|
this.createInterpolant = this.InterpolantFactoryMethodCubicBezier;
|
|
|
|
|
@@ -1825,13 +1824,13 @@ THREE.MMDLoader.NumberKeyframeTrackEx.prototype = Object.create( THREE.NumberKey
|
|
|
THREE.MMDLoader.NumberKeyframeTrackEx.prototype.constructor = THREE.MMDLoader.NumberKeyframeTrackEx;
|
|
|
THREE.MMDLoader.NumberKeyframeTrackEx.prototype.TimeBufferType = Float64Array;
|
|
|
|
|
|
-THREE.MMDLoader.NumberKeyframeTrackEx.prototype.InterpolantFactoryMethodCubicBezier = function( result ) {
|
|
|
+THREE.MMDLoader.NumberKeyframeTrackEx.prototype.InterpolantFactoryMethodCubicBezier = function ( result ) {
|
|
|
|
|
|
return new THREE.MMDLoader.CubicBezierInterpolation( this.times, this.values, this.getValueSize(), result, this.interpolationParameters );
|
|
|
|
|
|
};
|
|
|
|
|
|
-THREE.MMDLoader.NumberKeyframeTrackEx.prototype.setInterpolation = function( interpolation ) {
|
|
|
+THREE.MMDLoader.NumberKeyframeTrackEx.prototype.setInterpolation = function ( interpolation ) {
|
|
|
|
|
|
this.createInterpolant = this.InterpolantFactoryMethodCubicBezier;
|
|
|
|
|
@@ -1843,12 +1842,12 @@ THREE.MMDLoader.CubicBezierInterpolation = function ( parameterPositions, sample
|
|
|
|
|
|
this.params = params;
|
|
|
|
|
|
-}
|
|
|
+};
|
|
|
|
|
|
THREE.MMDLoader.CubicBezierInterpolation.prototype = Object.create( THREE.LinearInterpolant.prototype );
|
|
|
THREE.MMDLoader.CubicBezierInterpolation.prototype.constructor = THREE.MMDLoader.CubicBezierInterpolation;
|
|
|
|
|
|
-THREE.MMDLoader.CubicBezierInterpolation.prototype.interpolate_ = function( i1, t0, t, t1 ) {
|
|
|
+THREE.MMDLoader.CubicBezierInterpolation.prototype.interpolate_ = function ( i1, t0, t, t1 ) {
|
|
|
|
|
|
var result = this.resultBuffer;
|
|
|
var values = this.sampleValues;
|
|
@@ -1859,7 +1858,7 @@ THREE.MMDLoader.CubicBezierInterpolation.prototype.interpolate_ = function( i1,
|
|
|
|
|
|
var weight1 = ( t - t0 ) / ( t1 - t0 );
|
|
|
|
|
|
- if ( stride === 4 ) { // Quaternion
|
|
|
+ if ( stride === 4 ) { // Quaternion
|
|
|
|
|
|
var x1 = this.params[ i1 * 4 + 0 ];
|
|
|
var x2 = this.params[ i1 * 4 + 1 ];
|
|
@@ -1870,7 +1869,7 @@ THREE.MMDLoader.CubicBezierInterpolation.prototype.interpolate_ = function( i1,
|
|
|
|
|
|
THREE.Quaternion.slerpFlat( result, 0, values, offset0, values, offset1, ratio );
|
|
|
|
|
|
- } else if ( stride === 3 ) { // Vector3
|
|
|
+ } else if ( stride === 3 ) { // Vector3
|
|
|
|
|
|
for ( var i = 0; i !== stride; ++ i ) {
|
|
|
|
|
@@ -1885,7 +1884,7 @@ THREE.MMDLoader.CubicBezierInterpolation.prototype.interpolate_ = function( i1,
|
|
|
|
|
|
}
|
|
|
|
|
|
- } else { // Number
|
|
|
+ } else { // Number
|
|
|
|
|
|
var x1 = this.params[ i1 * 4 + 0 ];
|
|
|
var x2 = this.params[ i1 * 4 + 1 ];
|
|
@@ -1902,7 +1901,7 @@ THREE.MMDLoader.CubicBezierInterpolation.prototype.interpolate_ = function( i1,
|
|
|
|
|
|
};
|
|
|
|
|
|
-THREE.MMDLoader.CubicBezierInterpolation.prototype._calculate = function( x1, x2, y1, y2, x ) {
|
|
|
+THREE.MMDLoader.CubicBezierInterpolation.prototype._calculate = function ( x1, x2, y1, y2, x ) {
|
|
|
|
|
|
/*
|
|
|
* Cubic Bezier curves
|
|
@@ -1962,7 +1961,7 @@ THREE.MMDLoader.CubicBezierInterpolation.prototype._calculate = function( x1, x2
|
|
|
|
|
|
c /= 2.0;
|
|
|
|
|
|
- t += ( ft < 0 ) ? c : -c;
|
|
|
+ t += ( ft < 0 ) ? c : - c;
|
|
|
s = 1.0 - t;
|
|
|
|
|
|
}
|
|
@@ -2173,7 +2172,7 @@ THREE.MMDHelper.prototype = {
|
|
|
|
|
|
setPhysicses: function ( params ) {
|
|
|
|
|
|
- for ( var i = 0; i < this.meshes.length; i++ ) {
|
|
|
+ for ( var i = 0; i < this.meshes.length; i ++ ) {
|
|
|
|
|
|
this.setPhysics( this.meshes[ i ], params );
|
|
|
|
|
@@ -2226,6 +2225,7 @@ THREE.MMDHelper.prototype = {
|
|
|
return this.masterPhysics;
|
|
|
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
return null;
|
|
@@ -2286,7 +2286,7 @@ THREE.MMDHelper.prototype = {
|
|
|
|
|
|
setAnimations: function () {
|
|
|
|
|
|
- for ( var i = 0; i < this.meshes.length; i++ ) {
|
|
|
+ for ( var i = 0; i < this.meshes.length; i ++ ) {
|
|
|
|
|
|
this.setAnimation( this.meshes[ i ] );
|
|
|
|
|
@@ -2315,7 +2315,7 @@ THREE.MMDHelper.prototype = {
|
|
|
var foundAnimation = false;
|
|
|
var foundMorphAnimation = false;
|
|
|
|
|
|
- for ( var i = 0; i < mesh.geometry.animations.length; i++ ) {
|
|
|
+ for ( var i = 0; i < mesh.geometry.animations.length; i ++ ) {
|
|
|
|
|
|
var clip = mesh.geometry.animations[ i ];
|
|
|
|
|
@@ -2386,7 +2386,7 @@ THREE.MMDHelper.prototype = {
|
|
|
var audioManager = this.audioManager;
|
|
|
|
|
|
// check the longest duration
|
|
|
- for ( var i = 0; i < this.meshes.length; i++ ) {
|
|
|
+ for ( var i = 0; i < this.meshes.length; i ++ ) {
|
|
|
|
|
|
var mesh = this.meshes[ i ];
|
|
|
var mixer = mesh.mixer;
|
|
@@ -2397,7 +2397,7 @@ THREE.MMDHelper.prototype = {
|
|
|
|
|
|
}
|
|
|
|
|
|
- for ( var j = 0; j < mixer._actions.length; j++ ) {
|
|
|
+ for ( var j = 0; j < mixer._actions.length; j ++ ) {
|
|
|
|
|
|
var action = mixer._actions[ j ];
|
|
|
max = Math.max( max, action._clip.duration );
|
|
@@ -2410,7 +2410,7 @@ THREE.MMDHelper.prototype = {
|
|
|
|
|
|
var mixer = camera.mixer;
|
|
|
|
|
|
- for ( var i = 0; i < mixer._actions.length; i++ ) {
|
|
|
+ for ( var i = 0; i < mixer._actions.length; i ++ ) {
|
|
|
|
|
|
var action = mixer._actions[ i ];
|
|
|
max = Math.max( max, action._clip.duration );
|
|
@@ -2432,7 +2432,7 @@ THREE.MMDHelper.prototype = {
|
|
|
}
|
|
|
|
|
|
// set the duration
|
|
|
- for ( var i = 0; i < this.meshes.length; i++ ) {
|
|
|
+ for ( var i = 0; i < this.meshes.length; i ++ ) {
|
|
|
|
|
|
var mesh = this.meshes[ i ];
|
|
|
var mixer = mesh.mixer;
|
|
@@ -2443,7 +2443,7 @@ THREE.MMDHelper.prototype = {
|
|
|
|
|
|
}
|
|
|
|
|
|
- for ( var j = 0; j < mixer._actions.length; j++ ) {
|
|
|
+ for ( var j = 0; j < mixer._actions.length; j ++ ) {
|
|
|
|
|
|
var action = mixer._actions[ j ];
|
|
|
action._clip.duration = max;
|
|
@@ -2456,7 +2456,7 @@ THREE.MMDHelper.prototype = {
|
|
|
|
|
|
var mixer = camera.mixer;
|
|
|
|
|
|
- for ( var i = 0; i < mixer._actions.length; i++ ) {
|
|
|
+ for ( var i = 0; i < mixer._actions.length; i ++ ) {
|
|
|
|
|
|
var action = mixer._actions[ i ];
|
|
|
action._clip.duration = max;
|
|
@@ -2489,7 +2489,7 @@ THREE.MMDHelper.prototype = {
|
|
|
|
|
|
this.controlAudio( delta );
|
|
|
|
|
|
- for ( var i = 0; i < this.meshes.length; i++ ) {
|
|
|
+ for ( var i = 0; i < this.meshes.length; i ++ ) {
|
|
|
|
|
|
this.animateOneMesh( delta, this.meshes[ i ] );
|
|
|
|
|
@@ -2620,7 +2620,7 @@ THREE.MMDHelper.prototype = {
|
|
|
|
|
|
var table = {};
|
|
|
|
|
|
- for ( var i = 0; i < bones.length; i++ ) {
|
|
|
+ for ( var i = 0; i < bones.length; i ++ ) {
|
|
|
|
|
|
table[ bones[ i ].name ] = i;
|
|
|
|
|
@@ -2629,7 +2629,7 @@ THREE.MMDHelper.prototype = {
|
|
|
var thV = new THREE.Vector3();
|
|
|
var thQ = new THREE.Quaternion();
|
|
|
|
|
|
- for ( var i = 0; i < bones2.length; i++ ) {
|
|
|
+ for ( var i = 0; i < bones2.length; i ++ ) {
|
|
|
|
|
|
var b = bones2[ i ];
|
|
|
var index = table[ b.name ];
|
|
@@ -2680,7 +2680,7 @@ THREE.MMDHelper.prototype = {
|
|
|
|
|
|
mesh.skeleton.backupBones = [];
|
|
|
|
|
|
- for ( var i = 0; i < mesh.skeleton.bones.length; i++ ) {
|
|
|
+ for ( var i = 0; i < mesh.skeleton.bones.length; i ++ ) {
|
|
|
|
|
|
mesh.skeleton.backupBones.push( mesh.skeleton.bones[ i ].clone() );
|
|
|
|
|
@@ -2692,7 +2692,7 @@ THREE.MMDHelper.prototype = {
|
|
|
|
|
|
mesh.skeleton.backupBoneIsSaved = true;
|
|
|
|
|
|
- for ( var i = 0; i < mesh.skeleton.bones.length; i++ ) {
|
|
|
+ for ( var i = 0; i < mesh.skeleton.bones.length; i ++ ) {
|
|
|
|
|
|
var b = mesh.skeleton.backupBones[ i ];
|
|
|
var b2 = mesh.skeleton.bones[ i ];
|
|
@@ -2713,7 +2713,7 @@ THREE.MMDHelper.prototype = {
|
|
|
|
|
|
mesh.skeleton.backupBoneIsSaved = false;
|
|
|
|
|
|
- for ( var i = 0; i < mesh.skeleton.bones.length; i++ ) {
|
|
|
+ for ( var i = 0; i < mesh.skeleton.bones.length; i ++ ) {
|
|
|
|
|
|
var b = mesh.skeleton.bones[ i ];
|
|
|
var b2 = mesh.skeleton.backupBones[ i ];
|