この記事を書いてる時点でUnity学習2ヶ月目くらいです。
とにかくUnityの基本を学習しなければと下記動画を見ながら実践していました。
ですが、初心者というものは1つ進もうとすると次々に問題が起こるものです
( ´-ω-)σ
そして今回の問題「 Unity の Recorder で3Dモデルの透過写真を撮ると黒くなる」を解決したので、対処法を忘備録的に記事にしました。
注:初心者がUnityを色々触っていてなんとか解決した自己流のやり方ですので、本当はもっと違うスマートな方法があるのかもしれません。ご了承ください。
間違いなどがありましたら、ご意見・ご指摘いただけると嬉しいです。
また、使用しているモデルによって中身が多少変わると思いますが、そこら辺は臨機応変にお願いします。
問題のRecorderで撮った透過写真
さて、冒頭で紹介した動画を観ながらRecorderで透過写真を撮り、取った画像を見たその時!
おかゆんの顔が黒いっっ!
「荒ぶる謝罪のポーズ」を決めたおかゆんはまるで変態仮面のようです=͟͟͞͞(꒪ᗜ꒪ ‧̣̥̇)
まあ、これはこれで可愛いのですが…
ちなみに同じホロライブメンバーのししろん(獅白ぼたん)は大丈夫でした。
完全におかゆんの顔のパーツが透過されています。
おかゆんの顔の透過部分を修正
それでは透過部分を修正していきましょう。
テクスチャの特定
今回、修正したい場所は顔のテクスチャです。
ですので、まずテクスチャの中から顔のテクスチャを探します。
「 Project 」→「 Assets 」→「猫又おかゆ公式mmd_ver1.0」→「猫又おかゆ公式mmd_ver1.0」フォルダの中に画像があります。
その中の1つをクリックしてみると、テクスチャ名が出てきます↓
上記画像のテクスチャ名は「 tex_okayu_body01 」です。
body と書いてあるので体のようですね。
ですが今回の目的は顔っぽいテクスチャです。
目的の顔っぽいテクスチャを探すと…
ありました「 tex_okayu_face 」↓
faceって付いてるから顔ですよね、うん、画像も顔っぽいし。
このテクスチャを覚えておきましょう。
テクスチャを設定している「 Material 」を探す
では次にこのテクスチャを設定している「 Material 」はどこでしょうか。
「 Hierarchy 」から修正したいモデルの左横についている三角▶を押していくと「 U_Char_0 」「 U_Char_1 」「 U_Char_2 」があります↓
1つ1つ選択して「 Inspector 」の中に「 Material 」のリストが出てくるものを探します。
おかゆんの場合は、「 U_Char_0 」と「 U_Char_2 」の2つに「 Material 」のリストが出てきました。
「 U_Char_0 」と「 U_Char_2 」の中身を見てみると、「 Material 」の数や設定できるものが違うようです。
「 U_Char_0 」は体全体を設定しているよう。体全体が四角い箱に入っていてオレンジ色でふちどられています↓
一方、「 U_Char_2 」は上半身を設定しているようです。上半身が四角い箱に入っていてオレンジ色でふちどられています↓
そして、その「 U_Char_2 」の方に、先ほど特定した「 tex_okayu_face 」テクスチャを設定している「 Material 」がありました。しかも複数あります↓
この画面で見るテクスチャは反転して表示されているようです。しかも丸いし…。
見ずらければ「 Material 」の左下にある三角▶を押すと、「 MainTex 」にテクスチャが表示されているので、見やすいと思います↓
「 Shader 」の変更
最後に3Dモデルの「 Shader 」を変更します。
「 Shader 」を見るとそれぞれ違う設定になっているのですが、この部分を1つずつ変更していきます。
一応、現在設定されているシェーダが何だったか忘れてしまった時のために、スクショなどで保存しておくと安心です。
それでは上から作業していきましょう。
「 1.zaishitsu 2(Material) 」の「 Shader 」の右にある下三角▼を押して「 Standard 」に変更し、「 Game 」タブのおかゆんを見ます↓
特に代わり映えはしてません。
「 Shader 」を元の設定に戻しておきましょう。
では次に「 12.zaishitsu 1(Material) 」の「 Shader 」を「 Standard 」に変更します↓
!!!!!!
コレや、きっとコレや!
目と口の部分の色はそのままなのに、その周りの部分が明らかにおかしい…↓
よし、ではココの「 Shader 」を他の「 tex_okayu_face 」と同じにしてみましょう。
ですが、他の「 tex_okayu_face 」テクスチャを設定している「 Material 」は「 Shader 」がそれぞれ違う設定になっています。
適当に選択して「 13.zaishitsu 1(Instance)(Material) 」と同じ「 MMD4Mecanim/MMDLit-Transparent 」にして透過写真を撮り確認してみます。
(並び順が変わっていて、名前に(Instance)という文字が追加されていますが、何故かはわかりません…)↓
さらに黒くなってしまいました!
では今度は「 14.zaishitsu 1(Instance)(Material) 」と同じ「 MMD4Mecanim/MMDLit 」にして透過写真を確認してみます。
という風に、根気よく「変えては確認」を繰り返します。
あ、成功です!
「 MMD4Mecanim/MMDLit 」で透過されずに綺麗になりました!↓
成功したので、ジト目にしてみました。
あとがき
いかがだったでしょうか。
かなり泥臭い方法ですが、透過されなくなったので良しとしましょう。
またこの記事では「 Shader 」を「 Standard 」にして違いを見てみましたが、3Dモデルの絵柄によっては「 Standard 」ではない方が違いが分かりやすいかもしれません。
色々試してみてください(˶ᵔ ᵕ ᵔ˶)
そして、もっとちゃんとした方法がわかる方がいたら、誰か教えてくださーい。
コメント