PhysX:セットアップ

NVIDIA PhsyX についての解説です。

NVIDIA PhsyX は良く間違われますが CUDA とは違います。
CUDA は Compute Unified device Architecture の略で NVIDIA社の GPU に対する GPGPU を目的とした
フレームワークまたは統合開発環境の事です。
GPU を動作させるためのプログラミング・モデル、およびプログラミング言語(CUDA-C)とそのコンパイラ、ライブラリを言います。
PhsyX は物理エンジンのSDKです。

NVIDIA PhsyX SDK 5.0.2 (2023/9/24最新)
https://github.com/NVIDIA-Omniverse

NVIDIA PhysX SDK 4.1
https://github.com/NVIDIAGameWorks 内の、
https://github.com/NVIDIAGameWorks/PhysX
画像では青〇で囲んである所

NVIDIA PhysX SDK 3.4
https://github.com/NVIDIAGameWorks 内の、
https://github.com/NVIDIAGameWorks/PhysX-3.4
画像では赤〇で囲んである所

の、GitHub のリポジトリをクローンしてコンパイルすれば各バージョンの PhysX SDK が手に入ります。

GitHub のリポジトリをクローンしてコンパイルする方法は OpenGLプログラミングメモの別ページで新たに作りますのでそちらを参考にして下さい。
どうやら GitHub からは NVIDIA PhysX SDK 3.4 だけしかクローンできないようです。
NVIDIA PhsyX SDK 5.0.2 や、NVIDIA PhysX SDK 4.1 は NVIDIA Omniverse に登録しないとダウンロードできないようにされてますね。
という訳で、 NVIDIA Omniverse(エヌビディア オムニバース) に登録しましょう。
NVIDIA のページから PhsyX をダウンロードしようとすると Register to Download が出てくるので各項目を入力して Submit します。

Windows と Linux のダウンロードパッケージがあるので Windows の方をダウンロードします。

omniverse-launcher-win.exe がダウンロードできたので実行してインストールして下さい。
OMNIVERSE アプリを起動すると Email 入力があるので入力してログインします。

アカウントの作成を求められるので入力してアカウントを作成します。

ニュースや定期購読が必要ならチェックボックスにチェックして Submit します。基本は要りません。

ライセンス契約に同意します。スクロールを一番下にすると続けるボタンがアクティブになるので押します。

データ収集のダイアログが出てきますが何も選ぶ事が出来ないのでそのまま続けるボタンを押します。

設定ダイアログが出てくるので設定します。
コンテンツパスだけはデフォルトで Downloads フォルダになっているので困ります。

エクスプローラーでコンテンツフォルダを作りましょう。
エクスプローラーの表示メニューの表示で隠しファイルにチェックします。

こうする事で隠しフォルダや隠しファイルがエクスプローラーで表示されます。
C:\ユーザー\(ユーザー名)\AppData\Loca\ に ov フォルダを作ります。

C:\ユーザー\(ユーザー名)\AppData\Loca\ov\ に contents フォルダを作ります。

コンテンツパスを先ほど作った C:\ユーザー\(ユーザー名)\AppData\Loca\ov\contents にします。

キャッシュをインストールしますか?のダイアログが出てくるのでキャッシュをインストールするボタンを押します。

これで NVIDIA OMNIVERSE にアクセスする事が可能になりました。

オムニバースに登録ができたら NVIDIA PhysX SDK 5.0.2 と 4.1 の GitHub にアクセス可能になるので Visual Studio 2022 で
リポジトリをクローンします。
いつもならフォルダービューをダブルクリックしてから色々とやるのですが、それだと何度も GitHub からクローンし直しとか面倒なので
クローンできたリポジトリを ZIP 圧縮して下さい。

5.0.2 の場合は 圧縮後に PhysX5
4.1 の場合は 圧縮後に PhysX4
3.4 の場合は 圧縮後に PhysX3
という ZIP ファイル名にします。
こうしておけば、色々試して変になった場合でもフォルダごと消して、圧縮ファイルを解凍しフォルダ階層を戻すだけでリポジトリが元通りです。

PhysX のライブラリやサンプルをコンパイルするには、まず CMAKE して Visual Studio 用のソリューションファイルを作らないといけません。
ソリューションディレクトリ \PhysX\physx\documentation\platformreadme\windows\ にある README_WINDOWS.md を
メモ帳で読み込んで表示してみます。


これを見ると CMAKE の ver 3.21 以上
Python の ver 3.5 以上 を使うようです。
という訳で CMAKE の ver 3.21 以上の安定版をインストールして下さい。ちなみに今回は ver 3.27.6 を使いました。(2023年10月5日現在最新)




インストーラー版はパスを通してくれるのでインストーラー版の方が簡単です。
全ユーザー用にパスを通しておく設定でインストールしました。32bit と 64bit 両方です。

続いて Python のインストールです。


Python のページの Downloads の上にマウスカーソルを乗せるとプルダウンメニューが出てくるので Windows をクリックします。

2023年10月5日現在の最新は Python 3.12.0 ですが、安定版の Python 3.11.6 を使います。

こちらもインストーラー版の方をインストールして下さい。32bit と 64bit 両方です。

あと、DirectX SDK - (June 2010)以降も必要だったと思います。
こちらもインストールして下さい。




ソリューションのディレクトリ \PhysX\physx\tools\physxmetadatagenerator\ の readme.txt をメモ帳で見てみます。

これを見ると Visual Studio 2015 を使うような事が書いてありますが気のせいです。(管理人の場合は2017を使いました。)

ソリューションのディレクトリ \PhysX\physx\tools\physxmetadatagenerator\ にある generateMetaData.bat をダブルクリックして起動します。

temp フォルダができました。(要るのか?)

Visual Studio 2017 で PhysX のリポジトリを読み込みます。
すると CMAKE が自動で起動して4つの CMake Error を出します。

ですが、どれも CMAKE のコメントメッセージなので無視してそのまま Visual Studio を終了します。

ソリューションのディレクトリ \PhysX\physx\ の generate_projects.bat をダブルクリックして起動します。

プリセットナンバーを求められるので入力します。

(0) vc15win64 ・・・ Visual Studio 2017
(1) vc16win64 ・・・ Visual Studio 2019
(2) vc17win64 ・・・ Visual Studio 2022
とりあえず 0~2 まで全部作っておきます。

0 の場合 vc15win64(Visual Studio 2017)

1 の場合 vc16win64(Visual Studio 2019)

2 の場合 vc17win64(Visual Studio 2022)

それぞれのフォルダを見てみるとソリューションやらプロジェクトやらが作られているのがわかります。



Visual Studio 2017 で vc15win64 フォルダの PhysXSDK.sln を読み込みます。
メニュー ソリューションのビルド をします。

これで、ライブラリやサンプルが出来上がっています。


お疲れ様でした。。。

デフォルトでは debug 版になっているので残りの構成設定
checked
profile
release
でも作っておくと良いでしょう。

ソリューションのフォルダ \PhysX\physx\compiler\vc16win64
にある Visual Studio 2019 用ソリューションファイル PhysXSDK.sln をVisual Studio 2019で読み込んで各種ビルド、
ソリューションのフォルダ \PhysX\physx\compiler\vc17win64
にある Visual Studio 2022 用ソリューションファイル PhysXSDK.sln をVisual Studio 2022で読み込んで各種ビルドも
試してみて下さい。

以下は PhysX SDK のサンプル








以下は過去記事
nvidiaのPhysXのページからPhysX SDKをダウンロードします。


まず、こちらでアカウントを作成します。
認証に時間がかかります。1週間~2週間は待ちましょう。
アカウントが作成されたら


の、Developer Zoneに行きます。


ダウンロードしようとするとアカウントの入力を求められるので
入力します。


最終更新:2023年10月07日 22:47