PhysX

PhysX
開発元 NVIDIA Corporation
最新版
9.18.0907 / 2018年9月18日(8年前) (2018-09-18)
リポジトリ ウィキデータを編集
プログラミング
言語
C++, C言語
対応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(フィジックス/フィジクス)とはNVIDIAが開発・提供している、リアルタイムの物理演算エンジン。

概要

ソフトウェアがPhysXのハードウェアアクセラレーションに対応している場合、CUDAが使用可能なGeForce(8シリーズ以降の製品)のうち、32以上のコア、256MB以上のグラフィックスメモリを搭載する製品でハードウェアアクセラレートが可能である。

PhysXのハードウェアアクセラレーションは、日夜進化を続けるコンピュータゲームにおける物理演算をCPUから肩代わりする事で動作スピードの上昇を目指したものである。汎用プロセッサであるCPUのパフォーマンスでは不可能に近い「爆発によって飛び散った破片を毎回ランダムに演算する」等の複雑かつ高負荷な描写を、事前作成済み動画の読み出しなどではなく、実際にその場で演算してリアルタイムに描写することが可能になるとされている。対抗とされる物理演算システムとしてはHavokが挙げられる。

PhysXは様々なプラットフォームで500以上のゲームに使われている。

歴史

開発元は米カリフォルニア州に本拠を置いていたAgeia(英語版)社。2008年2月4日に、NVIDIA GeForceシリーズを開発するNVIDIAがAgeiaを買収し、PhysXとGeForceシリーズの統合が発表された。NVIDIAによる買収後は、専用チップおよび専用ボードは生産されていない。

PhysX SDK 2.8.3からPhysics processing unit(英語版)(PPU)のサポートが打ち切られた。

対応プラットフォーム

PhysXは以下のプラットフォーム上で動作する。

いずれのプラットフォーム用SDKも無料で配布されている。これらのうち、PC用のSDKはNVIDIA社のPhysX SDK ダウンロードページより直接入手する事ができる。NVIDIA社スタッフによるサポート及び開発支援ツールが有償で提供されているが、これらを利用しない限りは商用利用を含めて無料である。

PhysXはUnreal EngineやUnity (ゲームエンジン)にも統合されている。

PhysXの機能

PhysXでは2023年、以下の機能がサポートされている。

問題点と今後

PhysXの発表当初、以下のような問題があった。

たとえば、PhysXによって爆発の破片によるダメージ判定なども出来るが、それはネット対戦などにおいては全てのプレーヤーがPhysXを導入していなければ対応が難しい。(ゲームソフトとは別に物理演算ボードを購入する必要があった。)

これらの問題点はNVIDIAがAGEIAを買収した事により一定の解決を見る。ただしそれによって新たなデメリットも生じた。

しかし、AMDはIntel社のHavokと提携し 、なおかつ独自にオープンソースベースの物理エンジンBullet Physicsにも着手している為 、物理エンジンにおけるAMDとNVIDIAの歩み寄りは、既に非現実的なものとなりつつある。

en:List of games with hardware-accelerated PhysX supportのリストのとおり、ハードウェアによるPhysXアクセラレーションに対応したゲームタイトルの数はソフトウェアによるPhysX利用タイトルの数に比べると限定的である。

2025年に発売されたGeForce RTX 50シリーズのGPUでは、32bitのCUDAアプリケーションのサポートが廃止された。これにより、それらの製品では32bitアプリケーションのPhysXハードウェアアクセラレーションを使用することができなかったが、2025年12月4日より配信が開始されたGame Ready Driver 591.44にて復活し、一部タイトルで32bitのPhysXハードウェアアクセラレーションが再び利用できるようになった。

APEX

APEX (Applied PhysX Extension) はツールによるオーサリングを前提としたPhysXの拡張であり、その APEX SDK では Clothing(布)、Destruction(破壊)、Particles(パーティクル)、Turbulence(乱流)、ForceField(力場)のモジュールを搭載していた。APEX は Unreal Engine などの一般的なゲームエンジンにも採用されていた(現在は独自のChaos Destructionなどに移行)。

その後 APEX SDK は1.4.1で非推奨となり、GameWorks PhysXも解体され、破壊は NVIDIA Blast に、布は NVIDIA Clothに、パーティクルは NVIDIA FleX と NVIDIA Flow に置き換えられた。

APEXのオーサリングツールには破壊モジュール向け単体ツールの APEX FractureTool及び APEX PhysXLab 、布モジュール向け単体ツールの APEX Clothing Tool、DCC統合プラグインの PhysX DCC Plug-Ins が存在した。PhysXLab の後継には NVIDIA Blast 向けの Blast Authoring Tool がある。

脚注

関連項目

外部リンク