[name]

A Physics handler for MMD resources.

[name] calculates Physics for model loaded by [page:MMDLoader] with ammo.js (Bullet-based JavaScript Physics engine).

Example

var physics; // Load MMD resources and instantiate MMDPhysics new v3d.MMDLoader().load( 'models/mmd/miku.pmd', function(mesh) { physics = new v3d.MMDPhysics(mesh) scene.add(mesh); } ); function render() { var delta = clock.getDelta(); animate(delta); // update bones if (physics !== undefined) physics.update(delta); renderer.render(scene, camera); } [example:webgl_loader_mmd]
[example:webgl_loader_mmd_audio]


Constructor

[name]([param:SkinnedMesh mesh], [param:Array rigidBodyParams], [param:Array constraintParams], [param:Object params])

[page:SkinnedMesh mesh] — [page:SkinnedMesh] for which [name] calculates Physics.
[page:Array rigidBodyParams] — An array of [page:Object] specifying Rigid Body parameters.
[page:Array constraintParams] — (optional) An array of [page:Object] specifying Constraint parameters.
[page:Object params] — (optional)

Creates a new [name].

Properties

[property:Array mesh]

[page:SkinnedMesh] passed to the constructor.

Methods

[method:MMDPhysicsHelper createHelper]()

Return [page:MMDPhysicsHelper]. You can visualize Rigid bodies by adding the helper to scene.

[method:CCDIKSolver reset]()

Resets Rigid bodies transorm to current bone's.

[method:CCDIKSolver setGravity]([param:Vector3 gravity])

[page:Vector3 gravity] — Direction and volume of gravity.

Set gravity.

[method:CCDIKSolver update]([param:Number delta])

[page:Number delta] — Time in second.

Advance Physics calculation and updates bones.

[method:CCDIKSolver warmup]([param:Integer cycles])

[page:Number delta] — Time in second.

Warm up Rigid bodies. Calculates cycles steps.

[sourceHint]