妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

UE4のブループリントと構文木の図はよく似ている

「今日は遺伝的プログラミングについて調べてたんだけど、なんかすぐにブループリントで実装できるサンプルが見つからなかったので小休止」

妹「こないだ動画を見たやつ?」

「あれは遺伝的アルゴリズムで、遺伝的プログラミングというのはその強化版みたいなやつ。数字とかフラグだけじゃなく、ブループリントのノード自体を遺伝子として扱って、組み替えていこうという。そうすると原理的にブループリント出来ることはなんでも出来るはずだし、何回もやってれば勝手に最強になるのではないかと」

妹「それはすごい!」

「でも完全にランダムにブループリントのノードつなぐと、まともに動くプログラムが出来るわけもなく、ある程度作るノードを制限したり、色々調整しないといけないみたい」

妹「そんなにすごくなかったみたい……」

「まあそんなことを調べていてふと気付いたのが、遺伝的プログラミングでもよく使われる構文木というのが、ブループリントのグラフにとても良く似ている」

f:id:una_unagi:20170318004003p:plain
Wikipedia遺伝的プログラミングのページにある、構文木の例

f:id:una_unagi:20170318004009p:plain
同じ計算式をブループリントで表現した物

「ピンが向いてる方向の関係で右に90度傾けたけど、同じ計算式を同じように表現してる。最初に何のノードがあって、次にそこにつながるピンを書く。そのピンにパラメータが必要なら、さらに別のノードをつないでいく」

妹「構文木というのがまずわからないんだけど」

「(プログラミング)言語を文法によって解析したデータ……なんだけど、普通はなかなか説明するのが難しい。でもブループリント図を紙に書いたやつ、といえば簡単に説明出来るんじゃないかと」

妹「そういう図だと言われれば、そういう図には見えるけど。ピンと線のつながってる方向がわかりにくいかも」

「それは基本的に下から上にデータが流れていく感じの図面になってる。ピンが増えると線もたくさんになるけど、真横に線を伸ばしたりはしない。どっちが上か下か関係がわかるようになってる。ブループリントみたいに線がグネグネしたりは出来ないから、その点はちょっと違うかも」

ゼルダの伝説 ブレス オブ ザ ワイルドの、メインキング動画が発表されていたらしい

jp.automaton.am

ゼルダのメイキングが出てるみたいなんだけど」

妹「シッテル」

「見た?」

妹「ミテナイ。だってネタバレするでしょ」

「だから見る前にネタバレの程度がどのていどの範囲かを聞こうと思ったんだけど」

>> 人によってはネタバレと感じるカットシーンが挟まれている

妹「人によってはといわれても」

「行ってない場所とか、もってないアイテムとか、写ってそうな気がする」

妹「やる前だったらわかんないけど、やってる最中には見たくないかな」

「じゃあ、とりあえず終わるまで見るのは保留で」

妹「うん……いまのところ終わりそうな気配は全然ないけど」

UMGのImageウィジェットで、タイリング表示から別の表示に切り替えた時に起こるバグ

妹「……」

「まだウィジェットで悩んでるの?」

妹「Marginはわかったんだけど、なんだか不思議なことが」

f:id:una_unagi:20170316004734p:plain
Box表示

f:id:una_unagi:20170316004743p:plain
Image表示 + Tiling=Both に変更(タイリング表示)

f:id:una_unagi:20170316004747p:plain
Box表示に戻す

妹「こういう順番で操作すると、なんか……なんかおかしなことになるんだよ。タイリング方法の設定欄は、Boxにした時点で見えなくなるんだけど、そのまま残ってるみたいな?」

「タイリングされたままってわけでもないし、タイリングした後に固定枠の設定がかかってるの感じかもしれない」

妹「こういう感じでおかしくなった時は、とりあえずいったんImageに戻して、タイリングをやめて、それからBoxとかにすれば普通になった」