NVIDIA FleX for Unity (1.0 BETA)をインポートするとエラーが出て使えない問題を解決した話


前提条件

この記事の解決方法は、NVIDIA FleX for UnityをUnityにインポートしたときに、以下のエラーが発生する場合にのみ有効です。
Microsoft Visual Studio が導入してあることを前提に書きます。

エラーメッセージ

Assets\NVIDIA\Flex\Auxiliary\_auxFlexDrawFluid.cs(123,21): error CS0619: 'Graphics.DrawProcedural(MeshTopology, int, int)' is obsolete: 'Method DrawProcedural has been deprecated. Use Graphics.DrawProceduralNow instead. (UnityUpgradable) -> DrawProceduralNow(*)'
Assets\NVIDIA\Flex\Auxiliary\_auxFlexDrawFluid.cs(131,21): error CS0619: 'Graphics.DrawProcedural(MeshTopology, int, int)' is obsolete: 'Method DrawProcedural has been deprecated. Use Graphics.DrawProceduralNow instead. (UnityUpgradable) -> DrawProceduralNow(*)'

解決方法

  1. Unityのコンソールウィンドウ(コンソールタブ)を開きます。
  2. 上記のエラーの項目をダブルクリック。
  3. Visual Studioが問題のファイルを読み込む。
  4. 問題のコードの一部を以下のように変更する。

修正前

Graphics.DrawProcedural(MeshTopology.Points, m_indexBuffer.count);


修正後

Graphics.DrawProceduralNow(MeshTopology.Points, m_indexBuffer.count);

要するにGraphics.DrawProceduralにNowをつけて
Graphics.DrawProceduralNow にしてます。
5. キーボードのCtrlキーを押しながらSキーを押して保存する。(Ctrl + S)
6. Unityに戻ったら自動で正常にインポートされてます!