![]() | |
開発元 | NVIDIA Corporation |
---|---|
最新版 |
9.18.0907
/ 2018年9月18日 |
リポジトリ | |
対応OS | Microsoft Windows, macOS, Linux, PlayStation 2, PlayStation 3, PlayStation 4, Xbox 360, Xbox One, Wii, iOS, Android |
種別 | 物理演算エンジン |
ライセンス | 3条項BSDライセンス |
公式サイト | Nvidia PhysX developer site |
ソフトウェアがPhysXのハードウェアアクセラレーションに対応している場合、CUDAが使用可能なGeForce(8シリーズ以降の製品)のうち、32以上のコア、256MB以上のグラフィックスメモリを搭載する製品でハードウェアアクセラレートが可能である[2]。
PhysXのハードウェアアクセラレーションは、日夜進化を続けるコンピュータゲームにおける物理演算をCPUから肩代わりする事で動作スピードの上昇を目指したものである。汎用プロセッサであるCPUのパフォーマンスでは不可能に近い「爆発によって飛び散った破片を毎回ランダムに演算する」等の複雑かつ高負荷な描写を、事前作成済み動画の読み出しなどではなく、実際にその場で演算してリアルタイムに描写することが可能になるとされている。対抗とされる物理演算システムとしてはHavokが挙げられる。
PhysXは様々なプラットフォームで500以上のゲームに使われている[3]。
開発元は米カリフォルニア州に本拠を置いていたAgeia社。2008年2月4日に、NVIDIA GeForceシリーズを開発するNVIDIAがAgeiaを買収し、PhysXとGeForceシリーズの統合が発表された[4]。NVIDIAによる買収後は、専用チップおよび専用ボードは生産されていない。
PhysX SDK 2.8.3からPhysics processing unit(PPU)のサポートが打ち切られた[5]。
PhysXは以下のプラットフォーム上で動作する[6]。
いずれのプラットフォーム用SDKも無料で配布されている。これらのうち、PC用のSDKはNVIDIA社のPhysX SDK ダウンロードページ[7]より直接入手する事ができる。NVIDIA社スタッフによるサポート及び開発支援ツールが有償で提供されているが、これらを利用しない限りは商用利用を含めて無料である。
PhysXはUnreal EngineやUnity (ゲームエンジン)にも統合されている。
PhysXでは2023年現在[いつ?]、以下の機能がサポートされている。
PhysXの発表当初、以下のような問題があった。
たとえば、PhysXによって爆発の破片によるダメージ判定なども出来るが、それはネット対戦などにおいては全てのプレーヤーがPhysXを導入していなければ対応が難しい。(ゲームソフトとは別に物理演算ボードを購入する必要があった。)
これらの問題点はNVIDIAがAGEIAを買収した事により一定の解決を見る。ただしそれによって新たなデメリットも生じた。
しかし、AMDはIntel社のHavokと提携し [3]、なおかつ独自にオープンソースベースの物理エンジンBullet Physicsにも着手している為 [4]、物理エンジンにおけるAMDとNVIDIAの歩み寄りは、既に非現実的なものとなりつつある。
en:List of games with hardware-accelerated PhysX supportのリストのとおり、ハードウェアによるPhysXアクセラレーションに対応したゲームタイトルの数はソフトウェアによるPhysX利用タイトルの数に比べると限定的である。
APEX (Applied PhysX Extension) はツールによるオーサリングを前提としたPhysXの拡張であり[8]、その APEX SDK では Clothing(布)、Destruction(破壊)、Particles(パーティクル)、Turbulence(乱流)、ForceField(力場)のモジュールを搭載していた[9]。APEX は Unreal Engine などの一般的なゲームエンジンにも採用されていた[10](現在は独自のChaos Destructionなどに移行)。
その後 APEX SDK は1.4.1で非推奨となり[11]、GameWorks PhysXも解体され、破壊は NVIDIA Blast に、布は NVIDIA Clothに、パーティクルは NVIDIA FleX と NVIDIA Flow に置き換えられた[12]。
APEXのオーサリングツールには破壊モジュール向け単体ツールの APEX FractureTool[13]及び APEX PhysXLab [10]、布モジュール向け単体ツールの APEX Clothing Tool[14]、DCC統合プラグインの PhysX DCC Plug-Ins が存在した[15]。PhysXLab の後継には NVIDIA Blast 向けの Blast Authoring Tool がある[16]。