【Unity】Recorderで透過写真を撮ると3Dモデルの一部も透過されるときの対処法【おかゆん/猫又おかゆ】

この記事を書いてる時点で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という文字が書かれたテクスチャがありました。

faceって付いてるから顔ですよね、うん、画像も顔っぽいし。

このテクスチャを覚えておきましょう。

テクスチャを設定している「 Material 」を探す

では次にこのテクスチャを設定している「 Material 」はどこでしょうか。

「 Hierarchy 」から修正したいモデルの左横についている三角▶を押していくと「 U_Char_0 」「 U_Char_1 」「 U_Char_2 」があります↓

Hierarchy→猫又おかゆ→U_charの中にあるよ。

1つ1つ選択して「 Inspector 」の中に「 Material 」のリストが出てくるものを探します。

おかゆんの場合は、「 U_Char_0 」と「 U_Char_2 」の2つに「 Material 」のリストが出てきました。

「 U_Char_0 」と「 U_Char_2 」の中身を見てみると、「 Material 」の数や設定できるものが違うようです。

「 U_Char_0 」は体全体を設定しているよう。体全体が四角い箱に入っていてオレンジ色でふちどられています↓

U_Char_0を選択したときの画面

一方、「 U_Char_2 」は上半身を設定しているようです。上半身が四角い箱に入っていてオレンジ色でふちどられています↓

U_Char_2を選択したときの画面

そして、その「 U_Char_2 」の方に、先ほど特定した「 tex_okayu_face 」テクスチャを設定している「 Material 」がありました。しかも複数あります↓

tex_okayu_faceテクスチャを設定している複数のMaterial

この画面で見るテクスチャは反転して表示されているようです。しかも丸いし…。

テクスチャとマテリアルの比較画像

見ずらければ「 Material 」の左下にある三角▶を押すと、「 MainTex 」にテクスチャが表示されているので、見やすいと思います↓

MainTexが表示されている場所

「 Shader 」の変更

最後に3Dモデルの「 Shader 」を変更します。

「 Shader 」を見るとそれぞれ違う設定になっているのですが、この部分を1つずつ変更していきます。

それぞれShader設定が違っている

一応、現在設定されているシェーダが何だったか忘れてしまった時のために、スクショなどで保存しておくと安心です。

それでは上から作業していきましょう。

「 1.zaishitsu 2(Material) 」の「 Shader 」の右にある下三角▼を押して「 Standard 」に変更し、「 Game 」タブのおかゆんを見ます↓

Standardに変更
おかゆんを確認

特に代わり映えはしてません。

「 Shader 」を元の設定に戻しておきましょう。

では次に「 12.zaishitsu 1(Material) 」の「 Shader 」を「 Standard 」に変更します↓

12.zaishitsu 1(Material)のShaderをStandardに変更したときのおかゆんの画像

!!!!!!

コレや、きっとコレや!

目と口の部分の色はそのままなのに、その周りの部分が明らかにおかしい…↓

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 」ではない方が違いが分かりやすいかもしれません。

色々試してみてください(˶ᵔ ᵕ ᵔ˶)

そして、もっとちゃんとした方法がわかる方がいたら、誰か教えてくださーい。

コメント

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