この記事はMaya Advent Calendar 2020の9日目の記事です。
リモートデスクトップでCgFXシェーダーを使用してみる
現在、コロナによってリモートデスクトップで会社PCに接続してMayaを利用している方も多いかと思います。
普通に作業している分にはラグを除けば特に問題なく動いているように見えるんですが、CgFXシェーダーを適用してみたところ期待する表示がされておらず、スクリプトエディタに以下のようなエラーが表示されていました。
// Error: Failed to create evaluator for "drawdb/shader/surface/cgfxShader" classification because the current drawing API isn't supported. //
アルェー。
ちなみに接続先はWindows、接続元はMacで、どちらもMaya2019.2を利用しています。
調べてみる
果たしてこれは全員再現しているのか?ということで、周囲にヒアリングを行ってみました。
すると、ごく一部の人だけが再現しており、色々切り分けて調べていった結果、どうやら対象者はすべてリモートデスクトップで作業していることが分かりました。
これは…もしや…?
既定では、この設定により、Maya のビューポート 2.0 がDirectX 11 モードになります。 Nvidia GeForce グラフィックス カードを搭載したコンピュータで OpenGL モードを使用する場合、Nvidia がリリースした新しいツールを使用することにより、GeForce ドライバ R440 以降で OpenGL アプリケーションの Windows リモート デスクトップ ストリーミングを使用できるようになります。
以前この記事はチェック済みで、自分たちが使用しているグラボはQuadroだったので関係ないかなーと思ってたんですが…いや…しかし…。
試してみる
記載の通り、Maya2019の場合はMaya2019.3.1にアップデートする必要があります。
アップデートが完了したらMaya.envを開き、以下を追記します。
MAYA_ALLOW_OPENGL_REMOTE_SESSION=1
Maya.envはWindowsなら基本的に以下にあります。
C:\Users\{ユーザー名}\Documents\maya\{Mayaバージョン}
完了したらMayaを再起動。
無事CgFXシェーダーが適用できました。ヤッター。
おわり
リモートならではの罠に思わぬところでハマってしまいました😇
バトンを繋ぐために急いで書いたのでこまいネタでごめんなさい!
ちなみにリモートデスクトップといえば、ディスプレイ環境の違いでウィンドウが迷子になりがちですよね。
そんなときはMayaWindowSwicherで選択したウィンドウの位置をリセットできるので、ぜひリモートのお供にご利用ください!(突然の宣伝)
tm8r.hateblo.jp