BlenderでVIVEトラッカー(3.0)をモデリングしてVRChatに持っていってみました。夏休みにBlenderを触り始めて、チュートリアルなしで作った初めての作品です。実物を持っているので、実物を見ながら作りました。実物のカラーは黒しかないのですが、せっかくなので存在しないカラーを量産しました。実在しないものを生み出せるのはCGの良いところですね。
![]()
👆VRChat内で撮影した写真
VRChatでの利用が前提なので、ポリゴン数が多くなりすぎないように心がけました(△1478)。表面の溝や窪みはハイポリからベイクしたノーマルマップを使って表現しています。スムーズシェードも併用することで、それほど見た目を損なわずポリゴン数を落とせていると思います。
![]()
👆左:△37000くらい、右:△1500くらい
ボディの部分、中央の△の部分、底の部分の滑らかさの違いも再現しています。
![]()
👆△の部分は滑らかで、光をよく反射します。逆に底の部分はマットな質感になっています。
単純にはそれぞれのパーツでマテリアルを分ければよいですが、VRChatでの利用を想定するとマテリアルは少ない方が望ましいです。ということでこれらの滑らかさの違いはRoughnessマップで表現することにしました。これによりマテリアルが1つで済みます。
今回使用しているUnity Standard Shaderでは、AlbedoテクスチャのアルファがSmoothnessに割り当てられています。Roughness(粗さ)とSmoothness(滑らかさ)はちょうど真逆の関係にあるので、BlenderでベイクしたRoughnessを反転してアルファに書き込めばよいです。と、言うのは簡単ですが実際やってみると非常に面倒でした。BlenderのCompositでやりましたが、一体皆さんどうやっているのでしょうか。
迷彩柄はBlenderのShader Editorで生成したものをベイクしました。これにより、単にフリー素材のテクスチャをUVに重ねたときに生じる、模様の密度のムラやシームの切れ目の不連続を回避できていると思います。
👆フレンドをイメージしたカラーの迷彩を作ってプレゼントしました!
