Gitrend
🚀

JoltPhysicsで物理演算がマジで爆速に!

C++ 2026/1/30
Summary
ゲーム開発者のみんな、注目だ! AAAタイトルにも使われるこの物理エンジン、マジで桁違いに凄いんだよ! パフォーマンスも使いやすさも最高峰、これ使わない手はないよね!

概要:なにこれ凄い?

皆さん、こんにちは!アキラです!今日もGitHubトレンドをパトロールしてたら、とんでもないお宝を見つけちゃったんです!それがこのJoltPhysics!うおおおお!興奮が止まらない! Horizon Forbidden WestやDeath Stranding 2で使われてるって聞くだけで、もうヤバいんですが、実際に中身を見ると、その設計思想にマジで感動しました。マルチコアを前提とした設計で、まさに現代のゲーム開発にピッタリ。今までパフォーマンスで悩んでたゲーム開発者さん、これですよ、これ!

ここが推し!

サクッと試そう(使用例)

// まずはJoltPhysicsの世界を初期化!
JPH::Factory::sInstance = new JPH::Factory();
JPH::RegisterTypes();

// 物理ワールドを作成!
JPH::TempAllocatorImpl tempAllocator(10 * 1024 * 1024); // テンポラリメモリ
JPH::JobSystemThreadPool jobSystem(JPH::cMaxPhysicsJobs, JPH::cMaxPhysicsBarriers); // ジョブシステム
PhysicsSystem physicsSystem;
physicsSystem.Init(1024, 0, 1024, 1024, tempAllocator, jobSystem);

// 地面を追加する例
BodyCreationSettings floorSettings(new BoxShape(Vec3(100.0f, 1.0f, 100.0f)), Vec3(0, -1, 0), Quat::sIdentity(), EMotionType::Static, Layers::NON_MOVING);
BodyID floor = physicsSystem.GetBodyInterface().CreateBody(floorSettings)->GetID();
physicsSystem.GetBodyInterface().AddBody(floor, EMotionType::Static);

// さあ、あとはループで時間経過させて物理をシミュレーションだ!
// physicsSystem.Update(deltaTime, collisionSteps, integrationSubSteps, tempAllocator, jobSystem);

ぶっちゃけ誰向け?

まとめ

いやー、JoltPhysics、本当に凄かった! AAAタイトルに採用されるだけのことはあって、パフォーマンス、安定性、そして使いやすさが最高のバランスで両立してるんだよね。僕もこれからの個人開発で、物理が必要なところには積極的に採用していこうと思うぞ!皆さんもぜひ一度、この感動を味わってみてほしいな!これでゲーム開発がもっともっと楽しくなること間違いなしだ!