知らなきゃヤバイ?Mayaの相対パスと絶対パス

こんにちは!Rhinoです。
今日は柄にもなくちょっと刺激的なタイトルにしてみました。
と言っても安心して下さい。とても初歩的な内容ですw
とは言え、Mayaのテクスチャパスを意外と気にしない人がいるなあと感じる機会がありましたのでまとめてみました。

Mayaのテクスチャパス

さっそくですがMayaのテクスチャパスを見てみましょう。
あるシーンのファイルノードのImage Nameプロパティを比べてみました。
皆さんのシーンでも下記のいずれかのようなパスになっているのではないでしょうか?

赤枠の箇所に注目して下さい。
上は “sourceimages\test_texture_001.tga”
下は “E:\data\work\maya\Test_Project\sourceimages\test_texture_001.tga”
となっていますね。
ちなみに¥は日本語Windows環境ではバックスラッシュ(\)を表します。

上は”sourceimages”から始まり、下は”Eドライブ”から始まっていますね。
表記が異なります。
この時、上のような表記を相対パス、下を絶対パスと言います。
どういうことなのかそれぞれ見ていきたいと思います。

相対パスとは

“sourceimages\test_texture_001.tga”
Mayaのプロジェクトをセットした場合はこのような表記になっているのではないでしょうか?
これはsourceimagesフォルダの中にあるtest_texture_001.tga というTGA形式のテクスチャという意味ですよね。
sourceimagesフォルダはMayaのプロジェクトを作成した際にできるフォルダの1つです。
そんなことは知ってるわ!っとツッコまれそうですが、実はこのファイルノードのテクスチャパスの記述はちょっと省略されているんです!

[Windows][General Editors][File Path Editor]を開いてテクスチャパスを確認して下さい。

“../sourceimages”となっています。
“../”とういのが頭に付いていますね。これがあった方が説明し易いため持ち出しました。
前述のパスとくっつけて、\(バックスラッシュ)を/(スラッシュ)で統一すると
”../sourceimages/test_texture_001.tga”
となります。

ここで、”../”は次のような意味です。

..1つ上のフォルダへ移動
/階層を区切る

つまり、1つ上のフォルダへ移動してsourceimagesフォルダの中にある test_texture_001.tgaテクスチャということですね。

では、1つ上のフォルダとはどこから見て1つ上なのでしょうか?
それは現在のMayaシーンから見て1つ上になります。

例えばMayaシーンが次のような場所にあるとします。
E:\data\work\Test_Project\scenes¥test_scene_001.ma
この時 scenesフォルダの中にMayaシーン test_scene_001.ma があります。そのMayaシーンから見て1つ上のフォルダというのはプロジェクトフォルダTest_Project です。

つまり相対パス”sourceimages\test_texture_001.tga” の意味するところは、プロジェクトフォルダの中にあるsourceimagesフォルダへ移動して、その中にあるテクスチャを参照するということです。

相対パスとは現在のシーンファイルから見て、テクスチャの存在する位置を表すパスになります。

絶対パスとは

“E:\data\work\maya\Test_Project\sourceimages\test_texture_001.tga”
一方、Eドライブから始まってdataフォルダ、workフォルダ、mayaフォルダ(すべて僕が任意に作成したものです)を経てTest_Project(プロジェクトフォルダ)の中のsourceimagesフォルダにtest_texture_001.tgaというテクスチャファイルがあることを示しています。

どこにあるのか一目瞭然ですね!

絶対パスとは一番上位のフォルダから目的のテクスチャまですべての経路(階層)を表すパスになります。

相対パスと絶対パスのどちらを使えばいいのか?

パスにも相対パスと絶対パスという2つの種類があるのがお分かり頂けたのではないでしょうか?
では、どちらを使えばいいのでしょうか?
答えを言ってしまいますとMayaでは相対パスを使用することがベストだと思います。

作業がすべて1人のローカルな環境で完結する場合はどちらを使用してもそれほど問題ではないかもしれません。ですが、複数人での作業の場合はどうでしょうか?
例えば作成したMayaのプロジェクトフォルダを誰かに渡したとしますね。そうするとどうなるでしょうか?

相対パスは現在のシーンファイルから見た位置になりますので、特に問題なくテクスチャなどのファイルを読み込むことができると思います。
問題なのは絶対パスの場合です。
絶対パスでは最上位のフォルダからファイルまでのすべてが記述されてましたよね?
ということは、自分のローカルにはあるが、他社の環境にはないフォルダがパスに記述されているかもしれません。この場合はテクスチャなどを読み込むことができなくなります。
それを防ぐためにもプロジェクトをセットし、相対パスを使用することがおすすめです!

パスの変え方

誤って絶対パスになってしまった場合はどのように修正すればいいのでしょうか?
Mayaにはこのような問題を解決するツールが用意されています。

プロジェクト中のsourceimagesフォルダにテクスチャが適切に保存されていれば、まずはプロジェクトをセットします。既にセット済みであれば行う必要はありません。

前回使用した [Windows][General Editors][File Path Editor]を開いて下さい。
変更したいパスを選択後Repath Filesを押して、Browseからテクスチャのあるフォルダを選びます。
Repath Currently Resolved Filesにチェックを入れ、Repathを押して下さい。
パスが書き換えられます。便利ですね!

もしパスを気にしたことがない方がいらっしゃったら、ぜひ相対パスを試してみて下さい。
では、また!

コメント

タイトルとURLをコピーしました