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

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

P2.玉転がし.02「ステージの作成(Blender 2.80 移動/拡大/複製)」

f:id:ore2wakaru:20190107114956p:plain

3D Viewport 内を思い通りにまぁまぁ動けるようになったら、ステージの作成に入ろう。前にも書いたが、Cube オブジェクトをシーンに追加してビヨーンと伸ばして移動させるだけ。

 オブジェクトの拡大縮小

最初から真ん中に出てる Cube を利用して床を作る。このキューブの大きさは、縦横高さ、いずれも 2m。床の大きさは動かす玉との関係で決めるが、まーどうだ、縦横は 50m x 50m に拡大して、高さはそのまま 2m にするかな。では、オブジェクトの拡大縮小のやり方を覚えるぞ。

f:id:ore2wakaru:20190107061253p:plain

 中央のキューブが選択されていることを確認して、

 ツールバーScale(拡大縮小)をクリック。

f:id:ore2wakaru:20190107062937p:plain

 棒の先っちょあたりをつまんで引っ張る(左ドラッグする)とその方向に拡大される。横に広げたけりゃ赤い棒だ。縦(前後)なら緑。

拡大縮小のショートカットは [S] キー。Scale の S。ただ、 [S] しか押さない場合は xyz の3方向同時に大きさが変わる。x軸方向に絞って行いたい場合は [S] の後に [X] と押してからマウスを動かす。つまり [S] > [X] > マウスしゅ~ん。同様に、y軸方向なら [S] > [Y]、z軸方向なら [S] > [Z] と押してからマウスをひゅ~ん。イイ感じになったら左クリック確定。やり直したかったら右クリックキャンセル。前やった、移動のショートカットと一緒の使い方だ。

/※ 色と軸の関係: 赤は x軸。緑は y軸。青は z軸。RGB(Red, Green, Blue) が xyz に対応してるのは、どのゲームエンジンも一緒だと思う。ただし Blender は平面を xy 、高さz(Z-Height)としている。 ※/

f:id:ore2wakaru:20190107065703p:plain

 また、平面の四角をつまんで引っ張ると面で拡大できる。よーし、一気に広げるぞーっと思ったんだが、、、きっちりした大きさにするのは無理ー! 残念でしたー。 YouTube 見てると、なんか、外人は結構てきとうに広げて満足するようなんだけどな、俺はキッチリやりたいんだー!

ということで、

f:id:ore2wakaru:20190107074035p:plain

 サイドバーを開く。と、そこには選択されているオブジェクトのいわゆるトランスフォーム(Transform)情報(位置(Location)、回転(Rotation)、拡大縮小(Scale))が表示されている。だが今回特に重要なのが、その下にある Dimensions(寸法) だ。

/※ dimension(発:ディンション、意「寸法、容積」)。Blenderメートル法を採用しているので、距離の単位は m(メートル)。 ※/

f:id:ore2wakaru:20190107081309p:plain

 キッチリやりたい派の俺は、もちろん、ここで手入力。x と y に 50。z はそのまま。これで床面 50m x 50m が達成できた。入力後は Scale の値も勝手に変わってるはず。Dimensions は Scale と連動している。だから逆も然りで、先に Scale をいじってれば Dimensions の方もそれにつられて勝手に変わる。

 オブジェクトの高さはそのまま 2m、中心位置も (0, 0, 0) なので、このままだと地面(高さ 0m の位置)から 1m 出ているイメージとなる。床の表面を 0m の位置にするため、z を 1m 下げておく。

こんな風にサイドバーを出しておけば、寸法移動キッチリいける。いいぞサイドバー、ばんざい!!

ここ、別にもっと下げてもいいし、実はどうでもいい。ただ、現状、オブジェクトを新規に追加する時は、3Dカーソルがある位置 (0, 0, 0) に出るようになっている。この床を下に動かしておけば、追加されたオブジェクトがこの床に隠されなくて済むってだけの話。別に地面を 0m の位置にしなきゃいけないなんてルールは無い。じゃー、3Dカーソルの位置を変えて対応しようぜーって思うだろ。だったら、

f:id:ore2wakaru:20190107085602p:plain

ここで変えられる。どーぞ、お好きな位置に変えてくれ。

何? サイドバーを出してると、3D Viewport で見える範囲が狭くなってイヤだって? しょうがないなー。じゃぁ、プロパティエディタのオブジェクトタブ、押してみて。

f:id:ore2wakaru:20190107093456p:plain

トランスフォーム情報はあるけど・・・、なんか、ここでは寸法の変更は出来ない様だな。ということなので、やっぱりサイドバーでやれって事。

右の壁

 オブジェクトの追加

床が出来たので次は壁。キューブを追加して壁にしよう。前「Hello World」でテキストを追加したけど覚えてる? オブジェクトの追加はヘッダの [Add] ボタンかショートカット [Shift]+[A] だった。じゃ、キューブは?

f:id:ore2wakaru:20190107100300p:plain

 キューブ(Cube)の追加も同じ方法でOK。ただ、Mesh(メッシュ)の中にあるから注意。

f:id:ore2wakaru:20190107101754p:plain

 はい、ポコンと出てきた。これ、床を下げてたから頭が見えてるけど、下げてなかったら床に埋まってて見難かったろーなーと思うぞ。選択するんだってむずいんじゃない?

f:id:ore2wakaru:20190107103041p:plain

 移動ツールで右の方に持ってきてから、サイドバーからの位置決め+寸法決めで、キッチリさせる。変えるのは3か所だけ。

  • Location > x: 26
  • Dimensions > y: 50
  • Dimensions > z: 4

これで右側の壁完成。楽勝だね。

同様にあと3回やって、左の壁、手前の壁、奥の壁を作ればいいんだけど・・・。

左の壁

 オブジェクトの複製

左の壁って、右の壁をコピペすればイイんじゃん。前後の壁だって、手前の壁を1こ作ってそれをコピペして後ろに持っていけば、すなわちそれって後ろの壁じゃん。コピペで楽してオブジェクトを増やそうや。

ということで、複製の仕方。[Shift]+[D]。ただ注意なのは、[Shift]+[D] 直後は移動モードになって、マウスを動かすと一緒についてくる様になっている。だから、直後は右クリック移動のキャンセルをしてから、好きな所に持っていくとイイ。複製したモノって、同一軸上だったり同一平面上に持っていきたい場合が多いじゃん。だからこうする。

ま、そうすると、それはそれで複製オジェクトが重なってて、「あれ? どこいった? なくなった? 複製失敗した?」と勘違いする事もあるけど、ここでやったキャンセル(右クリック)はあくまでも移動のキャンセルなので、複製したモノはコピー元と同じ位置に重なって存在してるからお間違えなく。(複製をキャンセルしたんじゃないからな! おk?)

くどい様だが、

f:id:ore2wakaru:20190107111755p:plain

[Shift]+[d] > 右クリ > ・・・慌てずに・・・ > 移動

OK? 一応、左の壁の x位置は、 Location > x: -26に。あとは同じ。

前後の壁

 オブジェクトの追加 > 移動・拡大 > 複製

これまでの知識を使ってやれば楽勝。Cube を追加し、移動・拡大させ、複製する。なので、Location と Dimensions だけ書いておこう。

手前の壁

Location Dimensions
x 0 54
y -26 2
z 0 4

奥の壁

Location Dimensions
x 0 54
y 26 2
z 0 4

ハイ、ステージの出来上がり。ここまで来たら、忘れずに専用のフォルダを作ってそこにセーブだ。

f:id:ore2wakaru:20190107114956p:plain

本日の確認
  • 拡大は [S]、移動は [G] だが、きっちり派はサイドバーで Dimensions!
  • Cube オブジェクトは Mesh カテゴリの中!
  • 複製 [Shift]+[D] 直後の右クリは、移動のキャンセル。複製品は重なって存在してるぞ!

Blenderのショートカットキー

キー 内容
[S] 拡大縮小 (S は Scale(スケール)の S)
[Shift]+[D] 複製 (D は Duplicate(複製する)の D)

 次は、玉を追加する。物理で動かすぞー。