この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
はじめに
2017年新卒で3Dのデザイナーをやっています、SYです。
アピリッツでは入社する前から内定者インターンとして実際に業務を経験できる環境が設けられています。私は昨年の9月中旬からインターンとしてチームに配属され、3DCGを扱うチームの一員として様々な事を先輩社員の方々から教えていただきました。
今回はそのインターンを通して教わってきた事の中でもUV展開のお話をしたいと思います。
UV展開とは
簡単にUV展開とは何ぞやという説明をさせていただきます。
立体的なモデルに模様などのテクスチャを表示させるにはまずUV展開という作業を行い3Dを2Dへと展開していきます。
これで立体に対して、展開された平面が張り付けられている状態になりました。
あとはフォトショップなどのペイントソフトなどを用いテクスチャを書き込んでいき、画像を参照することで2Dで描いた具体的な模様などが立体上に乗るという仕組みです。
私は画像にある網目状のテクスチャを張り付けた状態でUVに歪みがないかなど確認をしながら作業を行っています。こうすることで2Dで描いた模様を3Dに張り付けた際も歪まないようになります。
細い線を入れる部分はUVをなるべく直線に
私がインターンを始めてから一番最初に作ったモデルのUV展開を行った際指摘を頂いたポイントです。
なぜ、ローポリモデリングにおいてUVはなるべく直線を心がけるべきなのでしょうか。
理由の一つは、
無駄なくスッキリとUVの配置がしやすいというメリットがあるからです。
しかしもう一つ、
テクスチャに書き込んだ直線が綺麗に表現できるという利点があります。
テクスチャに描いた直線が、モデルに貼り付けた際にしっかりと直線として表現されてほしい理由としては
・形状の縁に沿って入る細いハイライト
・パーツが重なった部分や溝などに必然的に入る一段暗い影
などを綺麗に見せたいからです。
なるべくデータを軽く押さえてゲームを作る時、ポリゴン数だけでなく、一つのモデルに使われるテクスチャサイズもそこまで大きいものではありません。現在私がプロジェクトで制作しているモデルも顔以外のパーツを一枚のUVに収め512px × 512pxの大きさで作っています。同じ太さの直線を一本書くにしても真っ直ぐか斜めに書くかでは大きく見た目が変わってきます。
実際にハイライトが入る部分のUVを直線にしてテクスチャを描いた際と直線にはせず展開ツールを使っただけの状態で描いた物の仕上がりを見てください。
いかがでしょうか。
こうして比較してみると、ハイライト部分を斜めに展開してしまった方はテクスチャのドットが目立ってしまい汚いハイライトになってしまいました。
一方、直線を心がけて展開した方はギザギザしていない綺麗なハイライトを表現する事ができました。
恥ずかしながらインターンに参加したばかりの自分は知りもしなかったポイントでした。
少ないテクスチャ領域でも展開時のひと工夫でこれだけ見た目に差が出てきます。
特にツルツルとした質感のものに入るハイライトや影がざらざらとしてしまっていては説得力に欠けてしまいますね。
(※ただ今回は単色の扇子でしたが、複雑な模様やロゴが描かれている場合、UVは少なからず歪んでおり元の模様をそのまま乗せてしまうと変形してしまいます。ロゴなんかは変形してしまうとマズいですよね。そんな時はテクスチャ上で変形させるなどして調整する必要が出てくると思います。)
終わりに
今回は少ないテクスチャ領域でも意識することで見た目に説得力を持たせられるポイントを紹介しました。
今後もこのように備忘録も兼ねた気づきや学んだことを書いて、これから3DCGに挑戦してみたい!という方のお役に立てれば幸いです。