VRChat Unityで面を揃える、テクスチャを貼る編
こんにちは!
ぷもんです。
前回、Sketch UpとBlenderでモデリングした家をUnityに移しました。
ここで2つ問題が起きました。
「面が消えること」と「テクスチャが消えること」です。
これを今回は解決して行きます。
まずは、1つ目の「面が消える」を解決します。
これはBlenderのデータの面が裏側になっているからだと思われます。
Blenderで裏になっている面を表にする必要があります。
Blenderを開きます。
編集モードにしてから
nをクリックしてプロパティ・シェルフを表示します。
プロパティ・シェルフから面の法線を表示します。
青い線が見えにくければサイズを大きくします。
(僕は20にしています。)
この時青い線が外側に向いている面が表
内側に向いている面が裏になります。
この裏になっている面を表にしなければなりません。
この面を表にする方法が3つあります。
一つずつ紹介していきます。
1、法線を再計算する。
画面左のツールシェルフからシェーディング/UVを選択します。
法線の再計算を選択します。
法線の再計算後がこちら
再計算しなくていいとこまでされてしまい裏面が増えました。
2、面の向きを外側に揃えるを使う
3Dビュー下のメッシュ→ノーマル→面の向きを外側に揃える
を選択します。
面の向きを外側に揃えるを使用後がこちら
これも先ほどと同じように裏面が増えてしまっています。
今回、1と2の方法は形が複雑なのでうまく行きませんでした。
Sketch Upでモデリングしてるのもうまく揃わない原因と思われます。
3、面を反転で1つずつ面を表にしていく
めんどくさいですが今回は1つずつ地道に面を表にして行きます。
表にしたい面を選択して
メッシュ→ノーマル→面を反転
を選択します。
Shiftを押しながら選択したりcを使ったりして裏の面を全部選択してから
面を反転したほうが早いと思います。
モデリングする時にもっと表裏を気にしながら作っていれば
問題なかったのですが...。
全て表面にしてUnityに入れ直したのがコチラ
ほとんど面が欠けることなくUnityに移すことができました。
(ところどころ面が消えてしまっているところがありました。
Blenderで表裏気をつけてモデリングしてみて試してみます。)
次に、2つ目のテクスチャが消えるを解決します。
コチラは画像も別にインポートしてテクスチャーを割り当てれば大丈夫です。
僕はtextureを全て入れたVRChat World textureというファイルを作って
Unityにドラッグしました。
Assetでtextureの入ったフォルダを開きます。
家のオブジェクトを選択して
画面右側のInspectorを少しスクロールするとマテリアル一覧があります。
割り当てたいマテリアルのAlbedoの左の四角に
Assetのテクスチャをドラッグします。
うまく反映されていません
これはUVMAPがうまく設定されていないためです。
UnityでのテクスチャはBlenderで設定したUVMAPをもとに張られます。
なので、BlenderでUVMAPを貼り直さなければいけません。
B;enderに移動します。
control + e から シームをつける を選択します。
u から 展開 を選択すると UVMAP に展開されます。
展開されたのがコチラ
展開されましたが方向がメチャクチャです。
これをショートカットキーの
G:移動
R:回転
S:拡大・縮小
を使って整理します。
整理後がコチラ
上のようにUVMAPを設定してから
Unityでテクスチャを貼ったのがコチラ
このようにテクスチャが反映されました。
他のテクスチャも入れたのがコチラ
今回は「面が消えること」と「テクスチャが消えること」
の2つの問題を解決しました。
VRChatを始めたばかりで試行錯誤しながら進めています。
間違ってるところやもっと良い方法があったら教えてもらえるとありがたいです。
最後まで読んでいただきありがとうございました。
ぷもんでした!