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

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

P2.玉転がし.04「ああぁあぁぁーーーっていうやつ(Blender 2.80 リジッドボディー/ライト)」

f:id:ore2wakaru:20190111092654p:plain

前回は Sphere に Rigid Body を設定し、ゲーム画面の大きさとカメラ位置の修正をやった。今回は [▶ Play] して行こう。ちなみに Sphere の z 位置を 20m の所にした。上の方、空いてるしね。

あぁー

[▶ Play] すると(ちょっと暗いけど)こんな感じで玉がステージの床を通過してしまうのが分かると思う。

f:id:ore2wakaru:20190111094059g:plain
あぁー

本当は床面で止まって欲しいのになー。

で、なぜか?

Rigid Body 復習

前回の復習。Rigid Body って何だっけ? そう、「殻」だったよね。玉には「殻」を付けたけど、ステージの床の方には付けた? いや、まだ付けてなかったね。

つまり、床はまだ「殻」が付いてない「ホログラム」の状態なんだ。だから、どんなモノがやって来ても通過しちゃうって事。分かったかな?

床に Rigid Body

じゃあ、床にも「殻(Rigid Body)」を付ければいいじゃんって思うじゃん。そうそうその通り、早速付けよう。付け方は簡単。前回 Sphere に付けたようにやればいい。今回はにつけるんだから、

床を選択して > プロパティエディタ > Phisics タブ > [Rigid Body] ボタン押す 

でいいぞ。

OK、これで、床にも「」が付いたから玉が通過することはなくなるよな。再度 [▶ Play] だ。

ああぁぁーー part.2

しかし、御覧のように、ただ付けただけ、つまりデフォルトのままでは、床も重力を感じて落ちて行ってしまうのだー。ざんねーん。

f:id:ore2wakaru:20190111101259g:plain
ああぁぁーー

(面白かった? ちょっと暗いね。ライトの設定先にした方がよかったね。)

床の Rigid Body の設定お直し

で、どこを直せばいいかなのだが、答えから言うと Typeという項目のところ。デフォでは Active だが、ここを Passive にする。

f:id:ore2wakaru:20190111103633p:plain

Active はどういった事かは前回書いた通りだが、ついでに復習もしておこう。

  • Active: 物理の力で動くようになる。(重力は物理の力のひとつ)
  • Passive: 物理の力では動かない。(だから重力を感じない)

ということ。超重要事項だぞ。

こうも言えるな。Active はオブジェクトを「物理で動く殻付きホロ」にする。Passive は「物理では動かない殻付きホロ」にする。「殻」付きにするってのは共通だ。つまり、しつこいようだが、Rigid Body は「殻」の設定がメインだって事が理解できるよね。重力の設定ってワケじゃないからね。

また、Passive にすると、Mass と Dynamic の項目が消えてるのが分かるよね。物理の力が関係なくなったから、これらの項目が必要なくなったってことだ。

じゃあ、重力は?

ちなみに重力は、ここで設定する。

f:id:ore2wakaru:20190115052012p:plain

ぴたっ

では、修正したら [▶ Play] だ。

f:id:ore2wakaru:20190111112742g:plain
ぴたっ

どお? これで、やりたいことが出来たんじゃない、俺?

ライト

今更だけど、ゲーム画面が暗いから明るくしておこう。ライトの設定だ。

一番最初に出てた3つのオブジェクト覚えてる? キューブとカメラと、そうライトだった。

f:id:ore2wakaru:20190111113854p:plain

今でもこのマークのオブジェクトがステージ中央らへんのチョイ上にあるはずだから、

f:id:ore2wakaru:20190111115837p:plain

こんなふうにして [Sun] にすると、ライトのギズモだけじゃなく、さっき押したタブのアイコンが変わっているのに気が付いたかな? ここのタブはオブジェクトに特有なデータセットがある時に出て来る Object Data というタブ。

f:id:ore2wakaru:20190111121340p:plain

ライトのタイプを変えるとタブのアイコンも変わるし、設定できる項目も違うの出て来るヨね。(ちなみにカメラの時はカメラの形のアイコンだったねココ)

Sun と 回転

Sun とはズバリその名の通り、太陽光を再現する感じのライトだ。シーン全体を照らす。豆電球みたいに中心から放射状に光が出るんじゃなく、光は空の彼方から平行にやってくる。まあ太陽だよ。

空の彼方と言っても必ずから光がさすわけじゃない。回転ツールで光の来る方向を変えられる。

f:id:ore2wakaru:20190111214007p:plain

 各軸での回転
 カメラ面に対しての回転
 立体的な回転
 光の射す方向を決められる(Sun 特有の機能)

つまんでドラッグすれば動かせるから、色々いじってみよう、黄色いポチを持った棒が光が出る方向だ。

これで、一応ツールバーは、移動(Move)、回転(Rotate)、拡大縮小(Scale)をいじったのかな? この上の Transform はこの3つ全部が出来ますよって言う感じのツールだから、難しい事はない。

/※ 回転のショートカットは [R]。Rotate の R なので覚えやすい。移動・拡大縮小と同様、軸回転したければ、[R] > [X] や [R] > [Y] など押してからマウスしゅーんでおk。左クリックで確定、右クリックでキャンセルというのも同じ。移動 [G]、回転 [R]、拡大縮小 [S] の3つのキーは Blender基本中の基本のショートカットだから覚えよう。ツールボタンでポチポチ変えるより、素早い作業が可能となる。ま、移動(Move)なのにショートカットが [G] なのは気に入らないけど、しょうがない。Grab(つかむ)から来ているらしいからね。 ※/

でも、せっかくぐるぐる回しても、影が出てないよね。

Shading(シェーディング)

f:id:ore2wakaru:20190111223546p:plain

3D Viewport右上、一番のボタンクリックで、3D Viewport 内に影付きでレンダリングしてくれるようになる。ただ、なんかうまく表示できない時もあるので、俺はどっかの設定をし忘れているのだと思う。

ちなみに、4つのボタンだが、

f:id:ore2wakaru:20190111224706p:plain

  1. Wireframe: ワイヤーフレーム表示(そのまま)
  2. Solid: ソリッド表示。影を付けず、色も大体。最終出力されるもとのはかなり違うが、3D Voewport 内で見る分には処理が軽いので PC にやさしい。
  3. LookDev: 自分でシーン内にライトを置かなくても、Blender が勝手に設定した環境で照らして見せてくれるモード。逆に言えば、自分で置いたライトは無視されるってことだ。ビックリするなよ。
  4. Rendered: 自分で設置したライトが活かされて、影も色もかなりイイ感じにやってくれる。Armory のゲームとしての最終出力にもっとも近い。だけどちょっと違う・・・。(よく分からんが、なんか Blender の最終出力と Armory の最終出力はチト違うらしい。) 

たぶん、こんな意味。

おんぼろ PC 使ってる場合は、普段は Solid でやって、「今どんな感じだろか?」って思ったら Rendered にして確認すればいいんじゃない?

Sun ライトの位置

たしか、どこに置いてもゲーム中では太陽の仕事をしてくれるはずだったような・・・(違ってたらひっそり訂正しとこかな)

だから、俺はステージの下に置いたぜ。じゃまだからな。

f:id:ore2wakaru:20190111230048p:plain

これでちょっと [▶ Play] してみてくれ。影付いてるだろ? じゃまなた。

本日の確認
  • Mesh に殻(Rigid Body)つけてないと「あぁー」。
  • Rigid Body の Type で、Active か Passive か、間違えると「ああぁぁーー」。
  • [G]、[R]、[S] 。移動、回転、拡大縮小。GRS、GRS、GRS・・・。
  • Sun はどこにあっても仕事する。

Blenderのショートカットキー

キー 内容
[R] 回転(Rotate の R)

 次回、いいいいいーーーーぃ。 ???