一頻りやってみよう

CG全般についてまとめたり

Substance Painter Livelinkを見つけて導入したらハマって苦労した話

概要

普段MayaとかBlender使う際って

UV展開+FBX出力ーSubstancePainter(以下SP)でテクスチャ作成&出力ーマテリアルを作成し各テクスチャを読み込んで割り当てるという流れだと思う(もっといいやり方あったら教えて欲しい)んですが、手作業はきついなーと前々から思ってました。ワークフロー改善したい!と検索したら良さげなのがあったので導入したらハマったというお話です。

gumroad.com

 

結論:導入できたけどだるかった

結論だけ言ってしまうと日本語のパスがプラグインから読み込めないので別パスから読み込むようにして解決しました。

 

本文

このライブリンク(プラグインの中でもツール同士を連携させるもの)、modelinghappyさんからも不穏な感じで紹介されてて、不安ではありました。

modelinghappy.com

記事内でもその後どうなったかはわからない。。。

で実際購入してみると複数バージョンがあり、バージョンによってインストール手順が違うので気をつけてください。

Youtubeチャンネルでインストール手順も解説してくれてます。

www.youtube.com

インストール手順は

1.SPにプラグインのインストール

2.各DCCツールへのインストール

となります。自分が入手したのはxol_splink_2_1_14_WINで1については以下のYoutube道理やればできたので説明割愛します。

https://www.youtube.com/watch?v=wLfbaxJKoYA&list=PL0Y5mOfvERUlSa4ZekRgz7i0Kr5XNUI_c

問題は2.で、SPから各DCCのインストールフォルダを自動で検知してくれます。便利なのですが、パスが

C:\Users\ユーザ名\OneDrive\ドキュメント\maya\2019

のようにドキュメントと日本語のパスが混じってたら要注意です。逆に混じってなければキレイな環境をお持ちなのでサクッとインストール終わると思います。

で、自動インストールもしてもらってMayaにシェルフが追加されているので呼び出そうとするとエラーを吐いてしまします。

UnicodeDecodeError: 'ascii' codec can't decode byte 0x83 in position 24: ordinal not in range(128)こんな感じのエラーが自分は出ました。

ASCIIというのは英語圏で使われる文字コードなのですが、

文字コードとは?~UTF-8はパソコンの世界共通語~|データ分析用語を解説 - GiXo Ltd.

そいつが変換できない文字があると言ってます。これ割と日本の開発環境あるあるなのですが、ファイル名とかパスに日本語を入れると動かないことがあります。絶対ダメではないのですがプログラムがASCIIを使用していると問題になることがあります。ちなみに日本版のWindows10を使ってるとドキュメント系のデフォルトのパスが上のように日本語(なぜ!!!????)が混じっていて、これが悲劇を生むことがあります。

今更Mayaに通ってるパスを変更すると他のところで影響が出そうなのでそれはできません。

そこでMayaにパスを追加しようと思います。(Mayaがプラグインを読み込む先を追加してあげるということ)

まずMaya.envというファイルを探して編集してあげます(自分はC:\Users\ユーザ名\OneDrive\ドキュメント\maya\2019の下にありました)

ここで

MAYA_PLUG_IN_PATH=C:\Users\ユーザ名\Documents\maya\2019\plug-ins; 

のようにどこでもいいのですが、日本語のないパスを選択して追加します。この直下に先程自動インストールの際にインストールされたxol_splinkフォルダをコピーします。そのままだとplug-insフォルダ直下に.py or .melファイルがないためxol_splinkフォルダ以下にあるプラグインの実態を読み込んでくれません。

そこで適当にuserSetup.pyとでもpyファイルをplug-insフォルダ直下に作ってあげて

from maya import utils
import xol_splink

utils.executeDeferred(xol_splink)

 

 と入力してあげます。正直このコードの部分は自信がなくて、Warningとか出てしまいます。。つよつよな人教えて。。大事なのはimport xol_splinkの部分で、xol_splinkフォルダまでの道筋を付けてあげることでMayaが読み込んでくれるようになります。

ここまできたらMayaを起動し、追加したパスとpyファイルがPluginManagerに追加されていることを確認します。Loadedをチェックすると無事プラグインが読み込まれ、XolSPlinkシェルフから起動ができるようになりました!!

f:id:watarishiki:20210224161800p:plain

まとめ

いかがでしたでしょうか。同じく苦しんでいる人の役に立てれば幸いです。

その後BlenderとSPとか、MegascansとMayaとか連携しましたので需要と機会があれば所感でも述べようかと思います。

正直UE4とSPのライブリンクと比べると見劣りしてしまいますが、かなり行き来が楽になったなと感じます。MegascansやHoudiniと合わせて面白いことができそうだなーと感じますね。