LoginSignup
4
1

More than 5 years have passed since last update.

我々はそろそろ、真剣にBlueprintについて考えるべきではないか

Last updated at Posted at 2018-11-10

我々はそろそろ、真剣にBlueprintについて考えるべきではないか

あなたは、本当にBlueprintをご存知だろうか。
Blueprint、もはやこれは、地球規模のプログラミング言語なのだ。

あなたも無関心ではいられない、無関心であることがノードベースプログラミング迫害につながっているのだ。
ゲーム業界ではかなりノードベースプログラミングが迫害されているというほうこくがある。
我々は長期にわたり、さまざまなBlueprintの潮流を体感し続けてきた。
ゲーム業界はBlueprint無しでは生きられなくなるだろう。
今回公開する記事を通し、その事実を今一度、思い出していただきたい。

【あなた方の知りたくない真実】 MaterialはBlueprintとは別のものであり、組み方とかが違う

イベントドリブン

for Unity(MonoBehavier)

インプットを取得するには、以下のようなコードを書く必要がある。

Input
void Update () {
    if (Input.GetKeyDown("return")){
        //エンターキーが押されたときの処理
    }
}

for UnrealEngine(Blueprint)

L1.pngインプットを取得するイベントは、標準で組み込まれているのである。
L2.png L3.png
登録したキーが押されたときに発火するActionMappingsや、スティックの倒され具合を正規化してくれるAxisMappingsもあり、わざわざ余計なことをしなくても、体感的に正しくやってくれるのである。

【あなたが知りたくない真実】 一見Blueprintには見えないが、LevelもBlueprintの一部である。


UIについても、MonoBehavierだと、「表示されるべき値が変更されたときに、UIの値も変更する」といった、気の利くことはやってくれない。常時UIを書き換えるか、気の利くことをやってくれるかもしれないUniRxを使用するかである。
Blueprintでは、表示されるべき値を監視することで、「値が変更されたときに、UIの値も変更する」という、気の利くことをやってくれるのであり、もっとUIを最適化したければ、イベントドリブンで更新することも簡単なのである。

【あなただけが知らない真実】
イベントディスパッチャーも、ブループリントインターフェイスも、発信されたものを受信して行動しているので、ReactiveExtensionsであるのだ。

便利な機能

あなたは回数を限定して実行するときにDoNを使用することで、

DoN
void Update () {
    if (counter > 10) { return; }
}

if文とカウンター変数を省略する事ができるし、

一度だけ実行するときにDoOnceを使用することで、

DoOnce
void Update () {
    if (flag == true) { return; }
}

if文とフラグを省略する事ができる。

【気づきづらい真実】 Unityのオブジェクトは多重継承だが、UnrealEngine4のアクターは単一継承である

MathExpressionは画期的な機構である。数式を記入するだけで、なんかいい感じにコーディングをやってくれる。
もはや複雑な計算を実現するために、多重カッコのスパゲッティーに悩まされることもないのだ。

出典 我々はそろそろ、真剣にバンブーについて考えるべきではないか。ダイハードティルズ@NJSLYR

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1