本文へスキップ

物理学

説明

このライブラリには、エンティティに物理演算を適用したり、コライダーを設定したりするメソッドがあります。

機能

適用力

物理コライダーがあれば、どんなエンティティにも直接力(リニアと角度)を加えることができます。 これらの力は、一定の間隔で行われる次の物理シミュレーションの更新で適用される。 この関数は、力の方向と大きさを定義する3Dベクトルを受け付ける。

ecs.physics.applyForce(world, eid, forceX, forceY, forceZ) // -> void

アプライドインパルス

この関数は、物理コライダーに1回限りのインパルス力を適用し、与えられたインパルスベクトルに基づいてその速度を変更するために使用されます。 この方法は、ジャンプやパンチ、突然のプッシュなど、素早いワンアクションの反応が必要な競技に有効だ。

ecs.physics.applyImpulse(world, eid, impulseX, impulseY, impulseZ) // -> void

アプライドトルク

物理コライダーがあれば、どんなエンティティにも直接力(リニアと角度)を加えることができます。 これらの力は、一定の間隔で行われる次の物理シミュレーションの更新で適用される。 この関数は、力の方向と大きさを定義する3Dベクトルを受け付ける。

ecs.physics.applyTorque(world, eid, torqueX, torqueY, torqueZ) // -> void

世界重力

これは、シーン内のすべてのオブジェクトに適用されている現在の重力力を返すシンプルなゲッター関数です。 戻り値は、関数が実行された時間によって変わるかもしれない。

ecs.physics.getWorldGravity(world) // -> 数

RegisterConvexShape

凸形状を登録する。

ecs.physics.registerConvexShape(world, vertices) // -> 登録された形状のeid

直線速度

エンティティの直線速度を取得する。

ecs.physics.getLinearVelocity(world, eid) // →数値

セットリニアベロシティ

エンティティの直線速度を設定する。

ecs.physics.setLinearVelocity(world, eid, velocityX, velocityY, velocityZ) // -> void

セットワールド・グラビティ

世界の重力を設定する。

ecs.physics.setWorldGravity(world, gravity) // -> void

UnregisterConvexShape

凸形状の登録を解除する。

ecs.physics.unregisterConvexShape(world, id) // -> void