俺に解るように説明する "Armory Engine" 入門+

ゲームエンジン Armory Engine (Armory3D) の使い方を手探りで学んで入門しようって感じかな。

P2.玉転がし.12「色はマテリアルで(Blender 2.80 マテリアル)」

f:id:ore2wakaru:20190122181320p:plain

Armory というよりは Blender の範囲。色を付けたい場合は Material(マテリアル)を追加し、そこで設定してやる。ただ、Blenderレンダリングと Armory のレンダリングは違うシステムなようで、完全に同じ表現が出来るわけではないらしい。

床に色

床に色を付けるのはベリー簡単。

f:id:ore2wakaru:20190122083531p:plain

 床を選択して、

 プロパティエディタ > Material(マテリアル)タブ の

 Base Color(の色のついてる所)をクリック。

f:id:ore2wakaru:20190122084343p:plain

 カラーピッカーが開くので、好きな色を選択。カラーピッカーからマウスが出たとき、色が確定する。

 あれ? でも、色が反映されない・・・・、と思ったら、

f:id:ore2wakaru:20190122085900p:plain

 プレビュー(シェーディング)を LookDevRendered に。

 そうすると、色が付いた状態で見ることが出来る。

簡単すぎ。

前もちらっと書いたが、 LookDev は(設定は色々いじれるが)Blender プリセットのライティング環境で見るモノ。Rendered は Armory の最終出力に近い表現(EEVEE というリアルタイムレンダリング)で見るモノ。もちろん常に色を確認する必要が無いなら、Solid にしておけばいいよね。そんなに気にする必要はないと思うけど、処理は軽いはず。

壁に色

じゃあ、ついでに壁にも色を付けよっかと思うじゃん。で、壁を選択して、プロパティエディタ、マテリアルタブ・・・、と来るが、Base Color がナイんだよね(ちゃんとやってれば無いハズなんだが)。という時は、

f:id:ore2wakaru:20190122094756p:plain

 [+ New] をクリックして、新規にマテリアルを作ろう。

f:id:ore2wakaru:20190122162403p:plain

 これで、さっきみたいに色を付けることが出来る。

マジ簡単だ。

じゃあ、あと3か所の壁にも色を付けたい場合、今みたいに [+ New] していく必要があるかっていうと、そうでもない。

オブジェクト と マテリアル

あんまり詳しくは触れないけど、ざっくり言うと、オブジェクトとマテリアルの関係はこんな感じになるんだと思う。

f:id:ore2wakaru:20190122165420p:plain

❶そもそもマテリアルって言うのはオブジェクトが持ってるモノ(データ)ではなくて、Blender が保管しているモノ。オブジェクトとマテリアルは別々に存在している関係だ。❷この二つを関係づけるには、オブジェクトにマテリアル挿入用のスロットが必要なんだ。❸なんでかって言うと、このスロットにマテリアルを挿してやる事で、初めてデータが読み込めるようになる。これでオブジェクトに色を付ける事が出来るようになる。

まあ、こんな感じ。

う~んまあ、スロットじゃなくて、フックと考えてもいいよね。フックに看板みたいなものをひっかけるイメージ。 って、どっかで見たイメージだよね。そう。スクリプトを使ってオブジェクトを動かす時のやつと同じ要領だと気付くはず。(ココ参照) おんなじだねー、考え方は。

では、具体的にいこう。

f:id:ore2wakaru:20190122171510p:plain

A これがオブジェクトに付けたスロットとなる。これ(スロット)がないと、いくら沢山マテリアルがあってもマテリアルで決めた色などは付かない。

B この [+] [-] ボタンでスロットを追加したり、削除したりする。([+] をいっぱい押せば2個以上のマテリアルだって持てる。) ほんと、スクリプトをつっくける時とおんなじ。

C このボタンを押すことで、Blender が持っているマテリアルのリストが出て来る。そう、大事なのは、「Blender が持っている」ってとこ。選択したオブジェクトが単体で保持しているものじゃないから注意ね。このリストの中から、好きなのを選んで、さっきのスロットに挿すヨって事。

だから、さっきの時に作ったマテリアルもリストに出てきてるでしょ。

せっかくだから、もうちょいマテリアル

f:id:ore2wakaru:20190122173555p:plain

D ここ、ダブルクリックすると、スロットに入れたマテリアルの名前を変えられる。

E ここでもマテリアルの名前を変えられる。まー、普通は、ここでマテリアルに名前を付けておくよね。で、オブジェクトにマテリアルが設定されてない時は [+ New] だけど、[+ New] すると、勝手にスロットも追加してくれる新設設計だったって事だ。

F マテリアルをもっと作りたい時はこのボタン。さっきも書いたが、マテリアルは Blender 保管で、オブジェクトが保管するものではない。つまり、ここで追加して作ったものはどのオブジェクトからでもアクセスできるぞー。

G いらないマテリアルを削除したい時、この [X] ボタン。ここで削除するってことは Blender から削除されるって事ね。つまり、オブジェクトに設定したマテリアルが見えなくなるだけでなく、Blender からデータ削除されるって事だ。注意な。

H マテリアルをいっぱい作っても使ってないマテリアルは、リストを出した時、前に "0" が付く。どのオブジェクトも使ってないよーって合図ね。 G の [X] ボタンで消すのはデータごと Blender から消えるので結構危険だろ。だから、一旦、前 "0" をつけて取っておく。次に Blender を起動したときに消えるようになっている。安全っちゃ、安全だけど、うざいっちゃ、うざい。

I 誰も使ってないマテリアル(前"0"の付いたやつ)は、次回起動時に消えている。だが、消えて欲しくない!って時に、ココを ON にしておくと消さずに保持しておいてくれる。(トグル式)。その場合、前"F" が付く。

これで、もうマテリアル博士だな。 え?

忘れるな、壁

で、残りの壁だが、もうお分かりの通り、

  1. 壁を選択
  2. スロットを追加
  3. 作ったマテリアルをリストから選択

で、新規にマテリアルを作らなくても、1個壁用のマテリアルを作っておけば使いまわせるって事だ。

実に簡単だった。

本日の確認
  • 色はマテリアル(Material)のベースカラー(Base Color)。
  • マテリアルが無ければ、作って、スロットに挿せ。
  • 前"0"、前"F" にビビるな!

 ステージに色が付いたので、次は玉に色付けるかな。