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

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

P2.玉転がし

P2.玉転がし.23「最終回 YOU WIN」

「Unity の玉転がし風ゲーム」あくまで風な、フウ、最終回。長かったなー。(Gate)

P2.玉転がし.22「得点カウンター」

クルクルが消えた時、"kuruNokori" から "1" 引こう。初期値 12 だから、12 個消えれば "0" になるよね。で、その「引く」という計算をするためのノードが、ずばり Math ノード。直球過ぎでござい Math(マス)。

P2.玉転がし.21「Trait は "オブジェクト" と "シーン" に」

Armory 3D Game Engine、そろそろベータ取れてもいいんじゃないのって思うけど、まだかなー。で、前回画面が "ぴたっ" と固まってしまった訳だが、今回それを解決する。一応、色々試してみてやっとこ解決出来た。動くぞ安心すろ。

P2.玉転がし.20「Canvas の Text にアクセスするぞー!」

前回 Set Property したプロパティーを今回は、Get Property して テキスト情報として Canvas(UI )に表示させる。もう書いてしまったが、Set したプロパパティーを Get するのは、Get Property ノードだ。分かりやすい。そして、Canvas にテキストデータを…

P2.玉転がし.19「Armory のプロパティーと Blender のプロパティーは違うぞー」

Armory のプロパティーは、変数みたいなもんだな。ただ、オブジェクトに変数を持たせる感じだ。(Set Property / On Init / Integer)

P2.玉転がし.18「UI で "Hello World"」

Armory で UI を扱うには、専用の Trait を持たせる必要がある。この Trait は今までのようにノードをつないでトントントン、とはしない。ちょっと注意。NodeTree ではなく Canvas というものを使う。で、・・・また面倒なことを覚えないといけないのか・・…

P2.玉転がし.17「親を消せ! それだけだ!」

玉がクルクルに重なったらクルクルを消したい。そのために知っておく必要があるノードは、On Volume Trigger と Remove Object と Get Parent だ。

P2.玉転がし.16「親でクルクル(Blender 2.80 親子関係)」

Rotate Object はオブジェクト自身の持つ軸で回転させるものだった。グローバル軸で回したい場合は、オブジェクトに親を付けて、この親を回すことで解決できる。あーなるほどね。(Get Parent)

P2.玉転がし.15「クルクル」

クルクル回そう。そうしよう。(On Update / Rotate Object)

P2.玉転がし.14「ちょっと整理(Blender 2.80 コレクション/エリア分割)」

完全に Blender の範囲だが、整理整頓の意味でやっておこう。エリアの分割・結合と、Outliner(アウトライナー)の Collection(コレクション)に関して。

P2.玉転がし.13「Texture Paint で塗りぬりしてみよう(Blender 2.80 テクスチャーペイント)」

床と壁に色を付けるのは実に簡単だった。で、玉にも色を付けたいと思うが、一色で塗ってしまうとせっかく回転している玉の、その回転が分かりづらいため面白くない。そこで Material の Base Color にちょっとした模様を加え、玉が回っていることが見て取れ…

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

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

P2.玉転がし.11「ノードをまとめて動かす(Blender 2.80 全選択/全解除)」

Box 選択で複数のノードを選択して、いざ動かそうとドラッグすると1個ずつしか移動できない。ノードを置いてみたけど位置を変えたいなーと思った時、これではメンドクサイ。で、ノードを何個かまとめて移動させる方法を書いておく。

P2.玉転がし.10「玉をま~るく見せる(Blender 2.80 スムーズ/サブディビジョン/コリジョン)」

玉(Ico Sphere)が見た目ゴツゴツしてるのでパフォーマンスを損ねずに丸く見せる方法を書いておく。(Shade Smooth / Shade Flat)

P2.玉転がし.09「Visual scripting、方眼紙に定規で書く感じ(Blender 2.80 ツール)」

Logic Node エディタを使ってヴィジュアルスクリプティング。左に動けるようになったので、右・前・後にも動けるようにしよう。

P2.玉転がし.08「[Clean] ボタンですっきりしよう」

上の画像にもある通り、答えは [Clean] ボタン。動かなかった原因は恐らく Armory のベータ版へ引っ越した時、玉転がしも、プロジェクトフォルダごと持ってきちゃったわけだ。その中にはアルファ版 Armory が勝手に追加したフォルダやら何やらが入ってるわけ…

P2.玉転がし.07「ビジュアルスクリプト キー入力+力を加える 」

Armory Engine でのビジュアルスクリプトの最初は、「キー入力 > 力を加える > 玉動く」みたいな流れになるかな。(On Keyboard / Apply Force / Vector)

P2.玉転がし.06「Armory 06 beta 出た。ベータ出たー! ので引っ越し」

Armory Engine 06系はまだアルファ版だったが、なんかベータ版が出てたっぽい(いつでたのかは知らんけど)。・・・ Armory_06beta_win64.zip ・・・。で、何が新しくなったのかも、何が修正されたのかも分からないけど、今後はコレを使っていく。

P2.玉転がし.05「ヴィジュアルスクリプト準備編(Blender 2.80 エディタ/エリア)」

さて、そろそろスクリプトで玉を動かしたくなってきた。Armory で利用できるスクリプトはプログラミング言語である Haxe(ヘクス)と、Node(ノード)と呼ばれるものを利用するヴィジュアルスクリプトだ。で、「玉転がし」ではヴィジュアルスクリプトを使う…

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

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

P2.玉転がし.03「玉ちゃんに重力を感じてもらおう(Blender 2.80 物理/カメラ)」

ステージ上で動かすための「玉」を追加する。そんでこれを、キーボードの矢印キーなんかを押すことで「物理的な力」を与え、コロコロと動かせるようにしたい。だって「玉転がしゲーム」だもんな。まあ、それにはスクリプトを使うんだけど・・・、と、その前…

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

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

P2.玉転がし.01「ステージ作成のハズだったが、、、(Blender 2.80 ナビ + ビュー)」

玉が動くステージを作る。Blender が持ってる基本の Cube オブジェクトを5つ、適当に拡大させて配置するだけなんだが、、、

P2.玉転がし.00「イントロ」

チュートリアル用のゲームを作ってたんだが、なんか意外と簡単に出来てしまった・・・。これも UE4 や Godot の知識がチョコッとあったからなのか? はたまた Armory が優秀なのか? どちらにしても、もう Unity はイランな。Armory バンザイ!