「物理演算エンジン」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | '''物理演算エンジン'''(読み:ぶつりえんざんエンジン、[[英語]]:physics engine)とは、質量・速度・摩擦・風といった、古典力学的な法則をシミュレーションする[[コンピュータ]]の[[ソフトウェア]] | + | '''物理演算エンジン'''(読み:ぶつりえんざんエンジン、[[英語]]:physics engine)とは、質量・速度・摩擦・風といった、古典力学的な法則をシミュレーションする[[コンピュータ]]の[[ソフトウェア]]である。 |
==概要== | ==概要== | ||
− | [[ | + | この項目は[[MonoMac]]と[[MonoGame]]で使える物理演算エンジンを調査するために書いている。 |
+ | よって内容は偏っているし、大嘘も含まれる。 | ||
− | + | 物理演算エンジンのほとんどは[[プログラム]]などに組み込む[[ミドルウェア]](ライブラリ)である。 | |
+ | 稀にスタンドアロンで動くソフトウェアもある。スタンドアロン製品は[[ロボコン]]に出ているような[[ロボット]]の開発者なんかが設計段階の大雑把なシミュレーションに使っているらしい。 | ||
− | + | 物理演算エンジンとひとことでいっても、映像作品向けのリアリティを追求したものと、[[ゲーム]]向けの物理法則を無視して派手に作用するものがある。Havokなど一部のライブラリではこのような演算方式の違いは設定で切り替えられる。 | |
− | + | 略して「物理演算」、「物理エンジン」、「Physics」とも呼ばれる。 | |
− | + | [[ググる]]と[[ゲームエンジン]]系の情報は豊富にある。 | |
− | + | 日本語による情報は少ないため検索キーワードは[[英語]]の「physics」が捗るようだ。 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | [[ググる]]と[[ゲームエンジン]] | ||
==主な物理演算エンジン== | ==主な物理演算エンジン== | ||
− | === | + | ===アプリケーション=== |
− | + | * [[Phun]] | |
− | *[[Phun]] | + | *: ドローソフト |
− | *[[RigidChips]] | + | * [[RigidChips]] |
− | *[[Blender]] | + | * [[Blender]] |
− | *[[Unity | + | *: 3Dモデリングソフト。 |
− | * | + | * [[Unity]] |
− | + | *: [[ゲームエンジン]] | |
− | |||
− | |||
− | *[[PhysX]] | + | ===ライブラリ=== |
− | *:[[NVIDIA]]が買収。 | + | * [[PhysX]] |
− | *[[Havok]] | + | *: [[NVIDIA]]が買収。 |
− | *:[[Intel]]が買収。[[Bullet]]登場以前は[[AMD]]も推奨していた。 | + | * [[Havok]] |
− | *[[Bullet]] | + | *: [[Intel]]が買収。[[Bullet]]登場以前は[[AMD]]も推奨していた。 |
− | *:[[AMD]]が引き抜いた[[Havok]]開発者の新作。裏に[[Google]]もいる。 | + | * [[Bullet]] |
− | + | *: [[AMD]]が引き抜いた[[Havok]]開発者の新作。裏に[[Google]]もいる。 | |
− | |||
− | |||
+ | ===.NET Framework=== | ||
;2D | ;2D | ||
− | + | * [[Box2DX]] | |
− | *[[Box2DX]] | + | *: [[Box2D]]のラッパーライブラリ。 |
− | *:[[Box2D]]のラッパーライブラリ。 | + | *: ラッパーライブラリなので[[Xamarin]]環境では使えない。 |
− | *:ラッパーライブラリなので[[Xamarin]]環境では使えない。 | + | * [[CocosSharp Box2D]] |
− | *[[CocosSharp Box2D]] | + | *: [[Box2D]]を[[C Sharp|C#]]で書き直した[[ピュアマネージド]]版。 |
− | *:[[Box2D]]を[[C Sharp|C#]]で書き直した[[ピュアマネージド]]版。 | ||
;3D | ;3D | ||
− | + | * [[BulletSharp]] | |
− | *[[BulletSharp]] | + | *: [[Bullet]]のラッパーライブラリ。 |
− | *:[[Bullet]]のラッパーライブラリ。 | + | *: ラッパーライブラリなので[[Xamarin]]環境では使えない。 |
− | *:ラッパーライブラリなので[[Xamarin]]環境では使えない。 | + | * [[Bullet-XNA]] |
− | *[[Bullet-XNA]] | + | *: [[Bullet]]を[[C Sharp|C#]]で書き直した[[ピュアマネージド]]版。 |
− | *:[[Bullet]]を[[C Sharp|C#]]で書き直した[[ピュアマネージド]]版。 | + | *: Bulletが壮大なライブラリであるため部分移植であり[[Bullet]]のすべてが使えるわけでは無い模様。 |
− | *:Bulletが壮大なライブラリであるため部分移植であり[[Bullet]]のすべてが使えるわけでは無い模様。 | + | *: 調査中。最有力候補かもしれない。 |
− | *:調査中。最有力候補かもしれない。 | + | *: https://code.google.com/archive/p/bullet-xna/ |
− | *:https://code.google.com/archive/p/bullet-xna/ | + | *: https://github.com/Stereoarts/bullet-xna-unity - Unity移植版 |
− | *:https://github.com/Stereoarts/bullet-xna-unity - Unity移植版 | + | * [[UrhoSharp Physics]] |
− | *[[UrhoSharp Physics]] | + | *: これも[[bullet]]ベースらしい。 |
− | *:これも[[bullet]]ベースらしい。 | + | *: 調査中 |
− | *:調査中 | + | * [[Jitter Physics]] |
− | *[[Jitter Physics]] | + | *: [[C Sharp|C#]]でで書かれたオリジナルの物理演算エンジン。 |
− | *:[[C Sharp|C#]]でで書かれたオリジナルの物理演算エンジン。 | + | *: [[反発係数]]の指定が0〜1の範囲ではなかったり、どうやっても[[重力]]を無視してフワフワしてしまう。[[ソース]]を<del>追う気力はない</del>追った結果、これに若干の手直しを入れるのが一番現実的ではないかという結論に至った。 |
− | *:[[反発係数]]の指定が0〜1の範囲ではなかったり、どうやっても[[重力]]を無視してフワフワしてしまう。[[ソース]]を<del>追う気力はない</del>追った結果、これに若干の手直しを入れるのが一番現実的ではないかという結論に至った。 | + | *: https://github.com/mattleibow/jitterphysics |
− | *:https://github.com/mattleibow/jitterphysics | ||
==関連項目== | ==関連項目== | ||
− | |||
*[[ゲームエンジン]] | *[[ゲームエンジン]] | ||