|
@@ -1,8 +1,8 @@
|
|
import {
|
|
import {
|
|
Bone,
|
|
Bone,
|
|
BoxGeometry,
|
|
BoxGeometry,
|
|
|
|
+ CapsuleGeometry,
|
|
Color,
|
|
Color,
|
|
- CylinderGeometry,
|
|
|
|
Euler,
|
|
Euler,
|
|
Matrix4,
|
|
Matrix4,
|
|
Mesh,
|
|
Mesh,
|
|
@@ -1358,7 +1358,7 @@ class MMDPhysicsHelper extends Object3D {
|
|
return new BoxGeometry( param.width * 2, param.height * 2, param.depth * 2, 8, 8, 8 );
|
|
return new BoxGeometry( param.width * 2, param.height * 2, param.depth * 2, 8, 8, 8 );
|
|
|
|
|
|
case 2:
|
|
case 2:
|
|
- return new createCapsuleGeometry( param.width, param.height, 16, 8 );
|
|
|
|
|
|
+ return new CapsuleGeometry( param.width, param.height, 8, 16 );
|
|
|
|
|
|
default:
|
|
default:
|
|
return null;
|
|
return null;
|
|
@@ -1367,25 +1367,6 @@ class MMDPhysicsHelper extends Object3D {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- function createCapsuleGeometry( radius, cylinderHeight, segmentsRadius, segmentsHeight ) {
|
|
|
|
-
|
|
|
|
- var geometry = new CylinderGeometry( radius, radius, cylinderHeight, segmentsRadius, segmentsHeight, true );
|
|
|
|
- var upperSphere = new Mesh( new SphereGeometry( radius, segmentsRadius, segmentsHeight, 0, Math.PI * 2, 0, Math.PI / 2 ) );
|
|
|
|
- var lowerSphere = new Mesh( new SphereGeometry( radius, segmentsRadius, segmentsHeight, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2 ) );
|
|
|
|
-
|
|
|
|
- upperSphere.position.set( 0, cylinderHeight / 2, 0 );
|
|
|
|
- lowerSphere.position.set( 0, - cylinderHeight / 2, 0 );
|
|
|
|
-
|
|
|
|
- upperSphere.updateMatrix();
|
|
|
|
- lowerSphere.updateMatrix();
|
|
|
|
-
|
|
|
|
- geometry.merge( upperSphere.geometry, upperSphere.matrix );
|
|
|
|
- geometry.merge( lowerSphere.geometry, lowerSphere.matrix );
|
|
|
|
-
|
|
|
|
- return geometry;
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
for ( var i = 0, il = bodies.length; i < il; i ++ ) {
|
|
for ( var i = 0, il = bodies.length; i < il; i ++ ) {
|
|
|
|
|
|
var param = bodies[ i ].params;
|
|
var param = bodies[ i ].params;
|