タグ別アーカイブ: Bullet2.86

Bulletでゲームを作ってみるPart3 キャラの移動

前回解説したBulletのコリジョン判定処理を使ってキャラの移動処理を作成します。複雑な状況でも正確で安定したコリジョン判定と移動がストレスにならない良好な操作性が目標です。
判定処理の検証や実験でいくつかキャラ移動処理を試作したので、キャラ移動処理テクニックと合わせて解説していきます。最終的な移動処理は、かなり複雑になってしまったため詳細は省略します。サンプルソースコードにできるだけ解説、問題と解決法など詳しくコメントしているので参考にしてください。


続きを読む Bulletでゲームを作ってみるPart3 キャラの移動

Bulletでゲームを作ってみるPart2 キャラ移動の準備

今回は、Bullet用意されているコリジョン判定を利用してキャラクターの移動処理を作成する準備をします。コリジョン判定を実装するには数学的な知識や特有なテクニックが必要になりますが、Bulletを使えば基礎的な数学知識だけで複雑なコリジョン判定を行うことができます。コリジョン判定関数の解説、使用上の注意など説明していきます。
続きを読む Bulletでゲームを作ってみるPart2 キャラ移動の準備

Bullet Physicsのマルチスレッド対応について2(Bullet2.86 VS2017)

前回Bullet2.87のマルチスレッド機能の検証を行いましたが、思ったほど効果が得られませんでした。今回はスレッド使用の方針を変えます。Bullet内部のマルチスレッド機能ではなく、外部で用意したスレッドでstepSimulation関数を実行することで並列処理を行いました。結果は、一部デバッグ機能で問題がありましたが問題なく動作し、条件は限定されますが3コアでの並列実行により2倍以上の高速化が実現できました。ゲームプログラムでの描画処理、ゲーム判定用物理計算、物理エフェクトの3つ処理を想定した検証プログラムを作成します。

続きを読む Bullet Physicsのマルチスレッド対応について2(Bullet2.86 VS2017)