妹でもわかるUnrealEngine4

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

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

ブループリント製のマッチ箱脳(1)

f:id:una_unagi:20170311234356p:plain
問題とマッチ本数の初期設定

f:id:una_unagi:20170311234429p:plain
f:id:una_unagi:20170311234439p:plain
解答表示部分

f:id:una_unagi:20170311234751p:plain
アウトプットウィンドウに出てきた解答

https://www.1101.com/morikawa/2001-03-12.html
https://www.1101.com/morikawa/2001-04-02.html


「"マッチ箱の脳"の、初歩的なモデルをブループリント化してみた。といっても学習部分を入れてないわけだから、何回やっても同じように間違うんだけど」

妹「ぜんぜん脳入ってないよ……」

「今日はゼルダやるのに忙しくて脳の部分まで作れなかった」

アクターじゃないクラスを生成する方法

「AIの仕組みをUE4のブループリントで実装してみようと思ったんだけど、その前段階としてちょっと困ったことがあったんで、今日はそれのやり方を調査してた」

妹「困ったこと?」

「なんというか、アクターをスポーンさせるのは普通に出来るし、やり方も色んな所に書いてあるんだけど、アクターじゃないクラスを生成する方法というのが謎だった。というか昔のUE4だとブループリントだけじゃ出来なかったらしい」

f:id:una_unagi:20170309233419p:plain

「クラス作成の時に、ActorやActorを継承したクラスじゃなく、Objectを継承すると、アクターじゃないクラスは作れる」

妹「それスポーンさせたらいいのでは?」

「Actor以外のクラスにはスポーンノード使えないんだよ。Objectは位置とか回転とかも持ってないし、BeginPlayとかTickとかのイベントもないから、無理にActorとして扱おうとしてもバグってしまう」

f:id:una_unagi:20170309233727p:plain
f:id:una_unagi:20170309233731p:plain

「それでどうやらクラスからオブジェクトを構成というノードを使えば、スポーンノードの代わりに使えるらしいことがわかった。紫のピンで、どのクラスの実体(インスタンス)を作るかを指定出来る」

f:id:una_unagi:20170309233923p:plain
f:id:una_unagi:20170309233930p:plain

「無事にカスタムイベントの呼び出しが出来た。ので、とりあえず成功してるみたい」

妹「クラスを指定するのはわかるけど、Outerというのはいったい?」

「そこはわからない。(なし)のままだとコンパイル出来ないけど、なにか入れればコンパイル出来るし、結果も同じ。多分それが必要な状況にならなければ、なんでも良さそうな気がする。よくわからんけど」

妹「曖昧だ……というか見えないアクターみたいな物なんだったら、そもそも見えないアクターとして作っちゃえばいいのでは? 非表示のアクターとか色々あったし」

「それでもいいんだけど、明らかにActorの機能を必要としてないのに、位置を指定してスポーンとか、どうも無駄がある。あとアクターだとエディタのアウトライナに出てきちゃうという問題もある。数が少ない場合にはこのへんの欠点は目立たないから、アクターとして作っても問題はないはず」

※兄が寝違えたので翌日分の記事はお休みします

妹にもわかりそうな人工知能の本

https://www.amazon.co.jp/dp/B00DT4DY0M/
https://www.1101.com/morikawa/2001-04-02.html

妹「そういえば最近”マッチ箱の脳”という本を読んだんだよ。人工知能っぽいやつに興味があって、色々見て回ったんだけど、これが一番わかりやすかった」

「妹にもわかりそう?」

妹「雰囲気はなんとなく。数学の式とかじゃないから、読み方がわからないということはなかった」

「本の内容はシンプルだから、ブループリントで実装するのは難しくなさそうな気がする」

妹「ビヘイビアツリーで作ればいいの?」

「ビヘイビアツリーは同じ人工知能といっても、ニューラルネットワークとも遺伝的アルゴリズムとも違う構造だし、まずはブループリントで作るのが簡単な気がする。その後で、ビヘイビアツリーと組み合わせてみるというのはありえるかもしれない」