2ちゃんCG板を見てたら、どうやらウチのブログで紹介してるRuntime整理法 を使ってVueとの連携で不具合が発生している人がいる模様です。
ウチでは全然不具合出ないんだけど。。。と思いつつ、間違った方法を紹介し続けるのは非常に気持ちが悪いので、どの辺に原因があるのか探ってみました。
Vueとの連携で不具合が出るのは、objファイルやテクスチャファイルがcr2ファイルと同じ階層にぶち込んであるプロップやアイテム
であろう事は容易に想像出来る。
以下、不具合の出そうな作業パターンを実際に行ってみて、Vueとの連携作動を確認しました。
仮説1.cr2のパスが変わるとダメ?
比較的軽い素材で、librariesフォルダ内にobj、texファイルを内包させているフィギュアで検証する事にします。
▲Chibibel School Jacket と Miki Sunflower をセレクト。
あ、セレクトに悪意はありませんので。。。逆に良く使わせて頂いており感謝してます(汗)
▲ Miki SunflowerのフォルダをChibibelフォルダに移動してみました。
▲この段階ではcr2内部の書き換えは行わないで検証
▲Poser(7英語版)で無事呼び出せました。
cr2内のobjファイルやテクスチャファイルの指定先が間違っていても、Poserで呼び出しが可能ならば、Vueとの連携も大丈夫っぽいです?
仮説2.ダメ文字?
ダメ文字とは、日本語等の2バイト文字の中に、「5c(¥記号に相当)」などが入っている文字で、Shift_JIS環境で使用を想定していないアプリで不具合が起きる文字の事です。
Poserに使われそうな文字としては「ソ」「暴」「十」「臀」などが代表的で、「-」「ポ」「弓」「芸」などがダメな場合もあります。
参考:Wikipwdia
▲ダメ文字フォルダを作り、そこにMiki Sunflowerのデータを突っ込んで見ました。
▲Poserからも読み込みできません。
Poser7E、Poser6Jで試しましたが、両方ともダメ。日本語版Poserでもダメ文字は受け付けないようです。
しかし、今回2ちゃんねるで話題に上がっていた現象とは違うようなので、更に検証します。
仮説3.日本語フォルダ自体でダメ?
librariesフォルダ以下に日本語フォルダを作成しても作動に問題ない事は確認済みなのですが、実は私は新規にフィギュアをインストールする度に、OBJファイルやテクスチャファイルをジオメトリフォルダやテクスチャフォルダに移し、cr2ファイル内のパスを書き換えている ので、今まで問題が出なかったのかも知れません。
OBJファイルの格納場所が日本語フォルダ以下だとどうなるのか検証です。
▲「ミキちゃん」フォルダ作成。その中にMiki Sunflowerのデータをぶち込み。
この状態でPoserでは問題なくフィギュアは読み込めますが、パスが正しく通っていないのか、この時点で予想通りVueへのインポートは失敗しました。
figureResFile:Runtime:libraries:Character:Miki:Tomiya:Sunflower.obj
▼
figureResFile:Runtime:libraries:character:ChibiBel:Miki:ミキちゃん:Sunflower.obj
▲今度はcr2内部のパスの記述も、しっかり変更しておきます。
▲cr2のパスをしっかり書き直しても、Vueでのインポートは失敗。
重要:objファイルの保管フォルダに2バイト文字を使用す ると、インポートに失敗するようです。
仮説4.おまけ
▲フォルダ名を1バイト文字で「micky」にしてみました
▲cr2内部は先ほど弄った時の「ChibiBel:Miki:ミキちゃん:Sunflower.obj」のままにしておきます。
▲Vueでの読み込み成功しました。
Vueのインポートはpz3ファイルを参考にしますが、cr2内部のパスは参考にしないのかも。
仮説4の続き(おまけ2)
▲上記cr2ファイルで、OBJのみ英数字のフォルダに移しでパスを通し、テクスチャは日本語フォルダに入れてパスを通してみます。
▲Vueにインポートした所、問題なく再現されました。テクスチャは日本語フォルダに入っていても大丈夫っぽいです。
▲今度は日本語フォルダに変更したプロップで実験的に作成
▲プロップも2バイト文字大丈夫みたい。テクスチャも付いてきた。
まとめ
Runtimeを整理する1
で紹介したRuntime整理法は、librariesフォルダ内にOBJファイルが存在した場合、
1.日本語フォルダの使用は止める
2.少なくともOBJファイルは、Geometriesフォルダ等に移し、
日本語フォルダ内に置かない。一応cr2内の記述も変更しておく
必ず「1.」、「2.」どちらかの措置をとって置きましょう。
未検証ですが、Carraraでも同じ現象が起きるかもしれませんね。。。