Class: AmmoManager

mylib2020.AmmoManager(scene, gravity, subStep)

Ammo 物理エンジンへの物体の登録/削除などを行い、物理計算を実行する。

Constructor

new AmmoManager(scene, gravity, subStep)

Parameters:
Name Type Default Description
scene THREE.Scene Three.js のシーン。
gravity THREE.Vector3 重力の方向。
subStep number 1 物理計算の分割数。1 ステップの経過時間をさらに分割して計算したい場合に利用する。
Source:

Methods

addForce(threeObject, force)

物体を指定した方向に押す。
Parameters:
Name Type Description
threeObject THREE.Object3D userData.rigidBody に Ammo.btRigidBody を持つ物体。
force THREE.Vector3 力の方向。
Source:

addImpulse(threeObject, impulse)

物体を弾き飛ばす、ジャンプさせるなど瞬間的な力を加える。
Parameters:
Name Type Description
threeObject THREE.Object3D userData.rigidBody に Ammo.btRigidBody を持つ物体。
impulse THREE.Vector3 力の方向。
Source:

clear()

全ての物体をシーンと物理エンジンから削除する。
Source:

has(threeObject)

物体が物理エンジンの管理下にあるかどうか。
Parameters:
Name Type Description
threeObject boolean 検査対象。
Source:

registerObject(threeObject)

物体をシーンと物理エンジンに登録する。CG も表示されるし、物理計算の影響も受けるようになる。
Parameters:
Name Type Description
threeObject THREE.Object3D userData.rigidBody に Ammo.btRigidBody を持つ物体。
Source:

remove(threeObject)

物理エンジンと 3D シーンから物体を削除する。
Parameters:
Name Type Description
threeObject THREE.Object3D
Source:

update(delta)

物理計算を 1 ステップ行う。
userData.movable が true かつ、 userData.linearVelocity もしくは userData.angularVelocity に速度を持つ物体は移動した上で物理エンジンの影響を受ける。
Parameters:
Name Type Description
delta number 経過時間。
Source: