3Dモデルを作れるようになるために必要な知識は技術はいろいろありますが、
いろいろある知識や技術を種類に分けると、たった2つしかありません。
- 数をこなす必要があるもの
- 考え方を理解する必要があるもの
3Dモデルの作成は、ある程度たくさん3Dモデルを作って、数をこなさなければうまくなりません。そして、単にたくさん作るだけでは非効率で、うまくなるまでに時間がかかります。
3Dモデルを作るために「必要な考え方を理解して」、そのうえで「数をこなしていく」ことが3DCG上達までの1番の近道だと思います。
この記事では、3Dモデルの作成に必要な考え方のひとつである、座標について説明します。
もし、3DCGをこれから始めたい人や、いま3DCGの勉強に独学でチャレンジしている人で、
「座標ってXYZのこと?そういえばあんま詳しいことは知らないな~」
と思った人は、ぜひ1度読んでみてほしいです。
すごいことは書いていません、ごく当たり前のことについて説明しています。当たり前すぎて、ひょっとしたら逆に知る機会ないかもしれないな~と思ったので、書いてみます。
3DCG空間のルール!縦・横・奥行をあらわすXYZの座標
あらゆる3DCGが、共通して持っているルールがあります。
それが、縦・横・奥行をXYZの座標であらわすことです。
3DCG空間の全体像は、大きなハコに例えることができます。
ハコは立方体なので、縦と横と奥行があります。
3DCG空間のハコは中心をゼロとしていて、縦・横・奥行それぞれに、プラスの方向とマイナスの方向を持っています。
このハコの中心から見て、どの方向の、どの位置か、をあらわすのがXYZの座標です。
3DCG空間のハコの中にあるものは、すべてこのルールのもとで管理されています。
空間全体が持つグローバル座標と、オブジェクトがもつローカル座標
3DCG空間そのものが持っているXYZの座標は、どんなときも変わることはありません。
横方向は左右(X)だし、奥行方向は前後(Y)だし、縦方向は上下(Z)です。
これによって、「3DCG空間座標でいうところの(X=3、Y=2、Z=5)の位置だよ」と言えば、
「ああ、ココね」と、空間内のある1点を指し示すことができます。
この3DCG空間そのものが持つ唯一の座標を、グローバル座標、またはワールド座標と言います。
さて、このグローバル座標を持つ3DCG空間の中に、新しくオブジェクトを作ったとします。
オブジェクトは作られた瞬間、自分固有の座標を持って生まれてきます。
オブジェクトがもつ固有座標は、生まれたときはグローバル座標と同じ方向を向いています。
ただ、固有座標はオブジェクト自体にくっ付いているので、オブジェクトが回転すると固有座標の方向も変わります。
また、グローバル座標はその空間にひとつしか存在しませんが、オブジェクト自身の座標はオブジェクトの数だけ存在します。
3DCG空間内で、オブジェクトたちが個別に持っているこの座標を、ローカル座標と言います。
こんな感じで、3DCG空間全体の縦・横・奥行はグローバル座標によって管理されています。空間内のオブジェクトは、グローバル座標の数値により3DCG空間のどの位置にあるかが分かります。
また、空間内のオブジェクトは自分専用のローカル座標を持っていて、それにより各オブジェクトが3DCG空間でどの方向をむいているかが分かります。
上方向はZかYか?使っている3DCGのソフトによって違う
ここまで、横方向=X、奥行方向=Y、縦方向=Zとしてきましたが、このルールはすべての3DCGソフトで統一されてる訳ではありません。
Blenderのルールに合わせて縦方向=Zとしていましたが、
Mayaのルールに合わせれば縦方向=Yとなります。
横方向=Xは共通の場合が多いですが、縦方向と奥行方向は3DCGソフトによってマチマチです。
縦方向=YのソフトをY-up、縦方向=ZのソフトをZ-upと言ったりします。
また奥行方向については、プラス側が前なのか、マイナス側が前なのか、という違いもあります。
トハが実際に確認できる3DCGソフトについて、それぞれどうなっているかまとめてみました。
Y-up(縦方向=Y) | Z-up(縦方向=Z) | |
奥行方向の |
|
|
奥行方向の |
|
|
覚えなくてもいいです^^
こんな風に、3DCGソフトによっていろいろ違うんだな~ということを知っておけばOKです。
じゃあBlenderで作ったモデルを、Unityに持っていくとどうなるの?と思いますが、
BlenderとUnityなら、デフォルト設定のままでモデルをエクスポート・インポートすれば、ちゃんと向きを合わせてくれます。他のソフトの場合でも、エクスポート・インポートの設定次第でちゃんとなります。
ただ、Blender内で上に動かすのはZ軸だったのが、Unity内で上に動かすときはY軸になる、という違いがあります。ちょっとややこしいですが、違うことが分かっていれば大丈夫です。
3Dモデル作成の前にグローバル座標のどっちが前か確認しよう
グローバル座標のXYZ軸について、いま自分が使っている3DCGソフトではどの軸のどっち方向が前なのか?ということを知っておくのは大切です。
3DCGソフトの画面(ビューポート)って、ぱっと見だと方向が分かりにくいです。
特に3Dモデルの作成時などは、このビューポートをくるくる回転させながら作業するので、どっちが前だか分からなくなることがあります。
分からないまま作業をすると、作ったキャラクターモデルなどが、グローバル座標に対して横や後ろ向いてることがあるかもしれません。
もちろん、気付いたときにモデルを回転させて、向きを修正すれば大丈夫です。でもずっと気付かないまま作業を進めてしまったら、あとあと問題が出ててきます。
まちがいに気付くのが遅くなるほど、修正するのも大変になってきます。最初から正しい向きで作業するのが1番ラクです。
ということで、3Dモデルを作成する前に、ビューポート上ではどの軸のどっちが前方向か?確認してから作業することをおすすめします。
だいたいは、使っている3DCGソフトで「シーンを新規作成」したときのビューポートが、正しい向きになっています。それで向きを確認してから、3Dモデルを作り出せばまちがいを防げます。
まとめ:XYZの座標のことは知っていればそれでOK~
3DCGの世界がXYZの座標で管理されていること、なんとなく理解できたでしょうか?
大事なポイントをまとめると、こんな感じです。
- グローバル座標…3DCG空間全体の縦・横・奥行を管理している座標
- ローカル座標…3DCG空間にあるオブジェクそれぞれが持つ座標
- 3DCGソフトによって、座標の縦方向がZの場合と、Yの場合とがある
- 使っている3DCGソフトではどの軸のどっちが前の方向か確認しておく
XYZの座標のはなしは、1度聞いて知っておけば、それでOKだと思います。
この記事をよんでくれた方は、いま知ったのでもうOKですね!
3DCGの専門学校なら、座標のことは最初に教えてもらうかと思いますが、会社では座標について教えてもらえる機会はたぶんないです。
3Dモデルを作るとき、座標のことを頭のすみっこに覚えておくときっと役に立つはずです。
もうひとつ、3Dモデルを作るならポリゴンについても知っておくと役に立ちます。
3Dモデルの基本② ~3DCGの世界はポリゴンの集合体~でポリゴンについて書いていますので、ぜひ読んでみてください~
コメント一覧