| 原作者 | NovodeX AG ( ETH チューリッヒ) |
|---|---|
| 開発者 | Nvidia Corporation (2008年現在) Ageia (2004年 - 2008年) NovodeX AG (2001年 - 2004年) |
| 安定版リリース | Blast 5.0.6; PhysX SDK 5.5.0; Flow 2.1.0; PhysX システム ソフトウェア 9.23.1019 / 2024 年 12 月 13 日 |
| リポジトリ | https://github.com/NVIDIA-Omniverse/PhysX (5.x) https://github.com/NVIDIAGameWorks/PhysX (4.x) |
| 書かれた | C++ |
| オペレーティング·システム | Microsoft Windows、macOS、Linux、PlayStation 2、PlayStation 3、PlayStation 4、Xbox 360、Xbox One、Wii、iOS、Android |
| タイプ | 物理シミュレーション |
| ライセンス | BSD-3 |
| Webサイト | Nvidia PhysX 開発者サイト ドキュメント |

PhysXは、 Nvidia GameWorksソフトウェアスイートの一部としてNvidiaが開発したオープンソース[1]の リアルタイム 物理エンジン ミドルウェア SDKです。
当初、PhysX をサポートするビデオ ゲームは、PhysX PPU ( Ageiaが設計した拡張カード)によって高速化されることが想定されていました。しかし、Ageia が Nvidia に買収された後、専用の PhysX カードは廃止され、代わりにCUDA対応のGeForce GPUで実行されるAPI が採用されました。どちらの場合も、ハードウェア アクセラレーションによってCPUから物理計算がオフロードされ、CPU が代わりに他のタスクを実行できるようになりました。
PhysXやその他のミドルウェア物理エンジンは、ソフトボディダイナミクスなどを実行するために古典力学(ニュートン力学)を実装する独自のコードを書く必要からゲーム開発者を解放するため、今日多くのビデオゲームで使用されています。[2]
歴史
現在 PhysX として知られているものは、NovodeX と呼ばれる物理シミュレーション エンジンから生まれました。このエンジンは、 ETH チューリッヒのスピンオフ企業であるスイスのNovodeX AG によって開発されました。[3] 2004 年にAgeia はNovodeX AG を買収し、CPU を補助して物理計算を高速化できるハードウェア テクノロジの開発を開始しました。Ageia はこのテクノロジを PhysX と呼び、SDK は NovodeX から PhysX に名前が変更され、アクセラレータ カードは PPU (Physics Processing Units) と呼ばれました。[4]
PhysX技術を実装した最初のビデオゲームは、2005年9月にロシアのゲームストアでのみ発売された『スターリン地下鉄』である。 [5]
2008年、Ageiaはグラフィックス技術メーカーのNvidiaに買収されました。[6] NvidiaはGeForceグラフィックスカードのラインでPhysXハードウェアアクセラレーションを有効にし始めました[7]が、最終的にAgeia PPUのサポートを中止しました[8] 。
PhysX SDK 3.0は2011年5月にリリースされ、SDKの大幅な書き換えが行われ、より効率的なマルチスレッドやサポートされているすべてのプラットフォーム向けの統一されたコードベースなどの改善がもたらされました。[2]
GDC 2015で、NvidiaはPhysXのソースコードをGitHubで公開しましたが、developer.nvidia.comでの登録が必要でした。[9]独自のSDKは、 Windows、Linux、macOS、iOS、Androidプラットフォームで商用および非商用の両方で開発者に無料で提供されました。[10]
2018年12月3日、PhysXは3条項BSDライセンスの下でオープンソース化されましたが、この変更はコンピューターとモバイルプラットフォームにのみ適用されました。[11]
2022年11月8日、オープンソースリリースは、同じ3条項BSDライセンスの下でPhysX 5に更新されました。[12]
特徴
PhysXエンジンとSDKは、Microsoft Windows、macOS、Linux、[11] PlayStation 3、[13] [14] PlayStation 4、[15] Xbox 360、[16] Xbox One、[17] Wii、[18] iOS、Androidで利用できます。[11]
PhysX は、マルチスレッドの物理シミュレーション SDK です。剛体ダイナミクス、ソフトボディ ダイナミクス(布の裂け目や加圧された布などの布シミュレーションなど)、ラグドールとキャラクター コントローラー、車両ダイナミクス、パーティクル、体積流体シミュレーションをサポートします。
ハードウェアアクセラレーション

PPU
物理演算処理装置(PPU)は、CPUの計算負荷、特に物理計算の負荷を軽減するために特別に設計されたプロセッサです。PhysX PPUは、 ASUS、[19]、BFG Technologies、[20]、[21]、Dell [22]、ELSA TechnologyによってPCIまたはPCIeカードの形で消費者に提供されました。[23]
PhysX SDKのバージョン2.8.3以降、PPUカードのサポートは廃止され、PPUカードは製造されなくなりました。[8] Ageiaが設計したPhysX PPUスタンドアロンカードの最後の形態は、専用の9800GTXとほぼ同じPhysXパフォーマンスを備えていました。[24]
グラフィックプロセッサ
Nvidia による Ageia の買収後、PhysX 開発は PPU 拡張カードから離れ、代わりに最新の GPU のGPGPU機能に重点が置かれるようになりました。
最新の GPU は、コンピュータ グラフィックスの操作と表示に非常に効率的であり、高度な並列構造により、PhysX を使用した物理シミュレーションの高速化には汎用 CPU よりも効果的です。
CUDA対応のGeForceグラフィックスカード(8シリーズ以降のGPUで、最低32コア、最低256MBの専用グラフィックスメモリ[25]を備えたもの)であれば、専用のPhysXカードをインストールしなくてもPhysXを利用できます。
頂点
Nvidia APEXテクノロジーは、PhysX SDKをベースに構築されたマルチプラットフォームのスケーラブルなダイナミクスフレームワークです。2010年8月にMafia IIで初めて導入されました。 [26] NvidiaのAPEXは、APEX Destruction、APEX Clothing、APEX Particles、APEX Turbulence、APEX ForceField、および2011年に中止された以前のAPEX Vegetationのモジュールで構成されています。[27] [28]
バージョン1.4.1以降、APEX SDKは非推奨となりました。[29]
エヌビディアフレックス
FleX は、リアルタイム視覚効果のための粒子ベースのシミュレーション技術です。伝統的に、視覚効果は、剛体、流体、衣服などに特化したソルバーを使用して作成された要素の組み合わせを使用して作成されます。FleX はすべてのオブジェクトタイプに対して統一された粒子表現を使用するため、異なるシミュレートされた物質が互いにシームレスに相互作用できる新しい効果が可能になります。このような統一された物理ソルバーは、 Autodesk Mayaの nCloth やSoftimageの Lagoaなどのツールが広く使用されているオフライン コンピュータ グラフィックスの世界では定番です。FleX の目標は、GPU のパワーを使用して、これらのオフライン アプリケーションの機能をリアルタイム コンピュータ グラフィックスにもたらすことです。[30]
現実世界のテクノロジーからの批判
2010年7月5日、Real World TechnologiesはPhysXアーキテクチャの分析[31]を公開しました。この分析によると、当時PhysXアプリケーションで使用されていたコードのほとんどは、マルチスレッド最適化のないx87 命令に基づいていました。これにより、CPUでPhysXコードを実行すると、パフォーマンスが大幅に低下する可能性があります。記事では、 SSE命令を使用してPhysXを書き換えると、CPU PhysXとGPU PhysXのパフォーマンスの差が大幅に軽減される可能性があること を示唆しました。
Real World Technologiesの分析に対して、PhysXのプロダクトマネージャーであるMike Skolones氏は[32] 、ほとんどのゲームが最初にコンソール向けに開発され、その後PCに移植されるため、SSEのサポートが遅れていると述べました。その結果、現代のコンピューターは、ほとんどまたはまったく最適化しなくても、これらのゲームをコンソールよりも高速かつ適切に実行します。NvidiaのシニアPRマネージャーであるBryan Del Rizzo氏は、マルチスレッドはCPU PhysX 2.xですでに利用可能であり、それを活用するかどうかは開発者次第であると説明しました。彼はまた、自動マルチスレッドとSSEはPhysX SDKのバージョン3で導入されると述べました。[33]
PhysX SDK 3.0は2011年5月にリリースされ、SDKの大幅な書き換えが行われ、より効率的なマルチスレッドやサポートされているすべてのプラットフォーム向けの統一されたコードベースなどの改善がもたらされました。[2]
使用法
ビデオゲームにおけるPhysX
PhysXテクノロジーは、 Unreal Engine(バージョン3以降)、Unity、Gamebryo、Vision(バージョン6以降)、Instinct Engine、[34] Panda3D、Diesel、Torque、HeroEngine、BigWorldなどのゲームエンジンで使用されています。[25]
数少ない主要な物理エンジンの 1 つとして、The Witcher 3: Wild Hunt、Warframe、Killing Floor 2、Fallout 4、Batman: Arkham Knight、Planetside 2、Borderlands 2など、多くのゲームで使用されています。これらのゲームのほとんどは、物理シミュレーションの処理に CPU を使用しています。
ハードウェアアクセラレーションによるPhysXのオプションサポートを備えたビデオゲームには、裂ける布、動的な煙、シミュレートされた粒子の破片などの追加エフェクトが含まれることがよくあります。[35] [36] [37]
他のソフトウェアにおけるPhysX
PhysX をサポートするその他のソフトウェアには次のものがあります。
- Active Worlds (AW) は、Windows 上でクライアントが実行される 3D 仮想現実プラットフォームです[引用が必要]
- Amazon Lumberyard 、 Amazonが開発した3Dゲーム開発エンジン[38]
- Autodesk 3ds Max、Autodesk Maya、Autodesk Softimage、コンピュータアニメーションスイート[39] [40] [41]
- DarkBASIC Professional(DarkPHYSICSアップグレード付き)、ゲーム開発を目的としたプログラミング言語[42]
- DX Studio、インタラクティブ3Dグラフィックスを作成するための統合開発環境[43]
- 旧ソニー・オンライン・エンタテインメントが開発したゲームエンジン「ForgeLight 」 。
- Futuremarkの3DMark06とVantage ベンチマークツール[44]
- Microsoft Robotics Studio、ロボットの制御とシミュレーションのための環境[45]
- Nvidiaの SuperSonic Sled と Raging Rapids Ride の技術デモ
- OGRE (NxOgre ラッパー経由)、オープンソースの レンダリング エンジン[引用が必要]
- 物理抽象化レイヤー、物理シミュレーションAPI抽象化システム( COLLADAとScythe Physics EditorのPhysXサポートを提供)[46]
- Rayfire は、 Autodesk 3ds Max用のプラグインで、フラクチャリングやその他の物理シミュレーションを可能にします[引用が必要]
- 物理エンジン評価ラボは、物理エンジンを評価、比較、ベンチマークするために設計されたツールです。[47]
- Epic Gamesのゲーム開発ソフトウェアUnreal Engine。Unreal Engine 4.26以降ではPhysXが正式に非推奨となっている。[48]
- UnityはUnity ApSによって開発されました。Unityのデータ指向技術スタックはPhysXを使用しません。[49]
参照
- ダイレクトX
- Bullet(ソフトウェア)
- Havok (ソフトウェア)
- オープンダイナミクスエンジン
- ニュートンゲームダイナミクス
- オープンGL
- Vortex (ソフトウェア)
- AGX マルチフィジックス
参考文献
- ^ 「NVIDIA PhysX SDK 4.1」。Engadget 。2022年4月5日閲覧。
- ^ abc 「NVIDIA が PhysX SDK V3 のリリースを発表」。Nvidia。2011年 5 月 24 日時点のオリジナルよりアーカイブ。2011 年6 月 3 日閲覧。
- ^ “NovodeX AG”. ETH Zürich . 2018年1月8日時点のオリジナルよりアーカイブ。 2018年12月4日閲覧。
- ^ César A. Berardini (2005 年 4 月 12 日)。「AGEIA Technologies インタビュー」。2011 年 9 月 21 日時点のオリジナルよりアーカイブ。2011 年6 月 8 日閲覧。
- ^ 「物理エンジン: PhysX」。MobyGames 。 2023年9月6日閲覧。
- ^ 「NVIDIA、AGEIA Technologies の買収を完了」(プレスリリース)。NVIDIA Corporation。2008 年 2 月 13 日。2009年3 月 18 日閲覧。
- ^ "CUDA の PhysX、Linux サポートは当然ですか?".フォロニクス。フォロニクスメディア。 2008 年 2 月 14 日。2008 年2 月 14 日に取得。
- ^ ab 「最新の PhysX ドライバーで PPU サポートを復元する方法 | PhysXInfo.com – PhysX ニュース」。PhysXInfo.com。2011 年 1 月 17 日。2011 年 11 月 24 日時点のオリジナルよりアーカイブ。2011年11 月 30 日閲覧。
- ^ 「PhysX On GitHub」。Nvidia 。2015年3月6日閲覧。
- ^ 「2017年1月7日時点のPhysX SDK」。Nvidia。2017年1月7日時点のオリジナルよりアーカイブ。2017年9月3日閲覧。
- ^ abc "PhysX SDK". NVIDIA Developer . 2018年11月28日. 2018年12月5日時点のオリジナルよりアーカイブ。 2018年12月5日閲覧。
- ^ 「オープンソースシミュレーションがNVIDIA PhysX 5リリースで拡大」。Nvidia。2022年11月8日。2023年5月28日時点のオリジナルよりアーカイブ。2023年6月15日閲覧。
- ^ 「ソニー・コンピュータエンタテインメント、AGEIA と戦略的ライセンス契約を締結」(PDF) (プレスリリース)。ソニー・コンピュータエンタテインメント、2005 年 7 月 21 日。2006年 3 月 11 日時点のオリジナル(PDF)からアーカイブ。2006年8 月 23 日閲覧。
- ^ 「Playstation 3 が Nvidia から無料の PhysX を入手」Kotaku、2009 年 3 月 18 日。
- ^ Lowe, Scott (2013 年 3 月 7 日)。「Nvidia が PlayStation 4 の PhysX サポートを発表」。
- ^ 「PhysX – 概要 – GeForce」。Nvidia.com。2009年4月29日時点のオリジナルよりアーカイブ。2011年11月30日閲覧。
- ^ 「NVIDIA が Microsoft Xbox One ゲーム コンソールの PhysX サポートを発表」。Nvidia.com。2014 年 11 月 9 日時点のオリジナルよりアーカイブ。2014年11 月 9 日閲覧。
- ^ 「ニュース - GDC 以前: Nvidia PhysX が Wii 開発者向けに承認」Gamasutra。2009 年 3 月 19 日。2011年11 月 30 日閲覧。
- ^ 「Asus 128mb PhysX カードのレビュー/プレビュー」 2006 年 7 月 12 日。
- ^ 「AGEIA と BFG Technologies が小売販売契約を締結」。2006 年 4 月 26 日時点のオリジナルよりアーカイブ。
- ^ 「BFG Ageia PhysX カードのレビュー」 2007 年 10 月 1 日。
- ^ 「AGEIA PhysX - グラフィック カード - AGEIA PhysX - 128 MB 仕様」。CNET。
- ^ 「ELSAがAgeiaと提携」。
- ^ 「PC Games Hardware からの英語記事」www.pcgameshardware.com。2009 年 1 月 26 日。
- ^ ab 「PhysX FAQ」。Nvidia.com 。 2015年12月10日閲覧。
- ^ Olin Coles. 「Mafia-II ビデオゲームパフォーマンスレビュー」。BenchmarkReviews.com 。 2010年8月23日閲覧。
- ^ 「APEX」 。 2011年6月8日閲覧。
- ^ 「Category:APEX - PhysX Wiki」。PhysXInfo.com 。 2013年7月21日閲覧。
- ^ 「APEX 1.4.1 - リリースノート (APEX は非推奨になりました)」。gameworksdocs.nvidia.com 。 2018年12月5日閲覧。
- ^ 「NVIDIA FleX」。NVIDIA Developer。2015年8月13日。 2019年4月17日閲覧。
- ^ 「PhysX87: ソフトウェアの欠陥」www.realworldtech.com。
- ^ Stokes, Jon (2010 年 7 月 8 日)。「NVIDIA は Intel に対抗するために CPU ゲーミング物理ライブラリを弱体化させたのか?」Arstechnica.com。2011年11 月 30 日閲覧。
- ^ 「Nvidia: CPU PhysX を妨害するつもりはありません | thinq_ | 1 ページ目」。Thinq.co.uk。2011年11 月 30 日閲覧。
- ^ 「Instinct Software - Instinct Engine SDK」。Instinctengine.com。2015年2月13日時点のオリジナルよりアーカイブ。2013年10月4日閲覧。
- ^ Matt Butrovich (2009 年 2 月 12 日)。「Mirror's Edge の PhysX の概要」。The Tech Report。2011年4 月 6 日閲覧。
- ^ Rich Brown (2009 年 9 月 21 日)。「Nvidia の PhysX により、PC 版 Batman: Arkham Asylum は待つだけの価値がある」cNET.com。2011年4 月 6 日閲覧。
- ^ Matthew Murray (2010 年 9 月 2 日)。「Mafia II: Applied PhysX は価値があるか?」ExtremeTech。2010年 12 月 30 日時点のオリジナルよりアーカイブ。2011 年4 月 6 日閲覧。
- ^ 「PhysX - Lumberyard ユーザーガイド」。2020年9月22日時点のオリジナルよりアーカイブ。2020年4月15日閲覧。
- ^ Jim Thacker (2011 年 3 月 1 日)。「ビデオ: Autodesk が Maya 2012 の新機能を発表」。cgchannel.com。2011年4 月 6 日閲覧。
- ^ 「3ds Max 2012 および Maya 2012 で PhysX サポートが追加」。Beyond3D.com。2011 年 3 月 1 日。2017 年 7 月 8 日時点のオリジナルよりアーカイブ。2011年4 月 6 日閲覧。
- ^ Randall Hand (2010 年 5 月 5 日)。「Softimage 2011 の NVidia PhysX と CUDA」。Vizworld.com。2011年4 月 6 日閲覧。
- ^ 「The Game Creators が AGEIA PhysX テクノロジーを DarkBASIC Professional に統合」(プレス リリース)。The Game Creators。2006 年 3 月 22 日。2006 年 4 月 27 日時点のオリジナルよりアーカイブ。2006 年9 月 23 日閲覧。
- ^ 「概要」。DX Studio。Worldweaver。2009年7月5日時点のオリジナルよりアーカイブ。2008年11月2日閲覧。
- ^ 「AGEIA が Futuremark の 3DMark ベンチマーク開発プログラムに参加」。FindArticles。CBS Interactive。BusinessWire。2006年 9 月 27 日。2008年11月 3 日閲覧。
- ^ 「シミュレーションの概要」。Microsoft Robotics Developer Center。Microsoft。2012年 3 月。
- ^ Boeing, Adrian. 「エンジン」. 物理抽象化レイヤー. 2007 年11 月 18 日閲覧。
- ^ Pierre-Terdiman (2019 年 3 月 22 日)、GitHub - Pierre-Terdiman/PEEL: Physics Engine Evaluation Lab. 、2019 年3 月 22 日取得
- ^ 「Unreal Engine 4.26 プレビュー」。2020年9月24日。
- ^ 「Unity - マニュアル: 物理学」.
外部リンク
- 公式製品サイト
- Techgage: AGEIA PhysX.. 第一印象
- Techgage: NVIDIA の PhysX: パフォーマンスとステータス レポート
