読者です 読者をやめる 読者になる 読者になる

【Unity】アセットの読み込みでシンボリックリンクを使う

Mayaで作業をしててFBX書き出しをしてUnity上で確認したいんだけど、FBXファイルをUnityの該当プロジェクトのAssets配下に置きたくないみたいなこと、ありませんか!
あんまりないと思いますけど、なんやかんやであったので覚書です。

ぱっと思い浮かぶのはMacならエイリアス、Windowsならショートカットだったんですけど、それぞれこれではうまくいきません。
じゃあシンボリックリンクならどうか、ということでとりあえずMacで試してみます。

まずはAssets配下にResourcesディレクトリを作成して、ここに特定のディレクトリへのシンボリックリンクを作ることにします。
ターミナルを開いて以下のような感じでコマンドを実行します。

# Resourcesに移動
cd /Users/tm8r/Documents/TestUnityProject/Assets/Resources

# シンボリックリンクを作成
ln -s /Users/tm8r/Documents/maya/projects/default/scenes scenes

これでUnityに戻ると、「/Users/tm8r/Documents/maya/projects/default/scenes」があたかも「Assets/Resources/scenes」にあるかのように振る舞ってくれるので、あとはResources.Loadとかでいつも通りファイルを扱えます。

次にWindows。Resourcesディレクトリ作成までは変わりません。
準備ができたら憎きコマンドプロンプトを起動して以下のような感じでコマンドを実行します。

# Resourcesに移動
cd C:¥Users¥tm8r¥Documents¥TestUnityProject¥Assets¥Resources

# シンボリックリンクを作成
mklink /D scenes C:¥Users¥tm8r¥Documents¥maya¥projects¥default¥scenes

「/D」はディレクトリのシンボリックリンクを作成するための引数です。

lnコマンドとターゲットとソースの引数の順番が逆なのが若干罠ですね。
これでMac同様、WindowsでもUnityでちゃんと認識されるシンボリックリンクが作成できました。わいわい。

スポンサーリンク