妹でもわかるUnrealEngine4

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

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

ゼルダの伝説 Blase of wildが届いたので本日休載します

妹「なんて理由だ……」

「こうなる前に記事のネタをストックをしておくはずが、色々あって準備出来なかったので、なんにもないよ」

妹「でも兄がゼルダ欲しがるなんて珍しいね。ゼルダほとんどうちにあるけど、あんまやってないでしょ」

時のオカリナと、あと大昔に神々のトライフォースもやってる。ゼルダは面白いんだけど、RPGよりもパズル風味で、アクションもいまいち兄好みではない感じだった。今回も買う予定はなかったんだけど……」

ninten-switch.com

「でもこの2Dで世界の設計をしてるとか、話を聞いてみると、なんか今回のは兄好みのゲームっぽいぞという雰囲気が漂ってたので、急遽買うことにした。今回のもパズルは組んであるんだけど、どの方法で解いても別にいい感じで、好みのスタイル」

妹「マグネットの能力で金属ブロックを掴んで、そのまま水面をバンバンしだした時には目を疑った」

「いや魚とれないかなと思って」

妹「とれたのが笑える」

「いままで日本のゲームだと、だいたいこういうの金属ブロックをあんまり遠くに持っていくと消えるとか、プレイヤーをコントロールしようとする仕組みが合
あって嫌だったけど、今回それはあんまりない。あからさまに、ここで岩落とすと敵をやっつけられるよ!って仕掛けはあるんだけど、完全に無視してマグネットでバンバンやってもいい」

妹「兄はマグネットでバンバンするのが好きすぎる……わたしもゼルダはもういいかなと思い始めてたけど、今回のはたしかに良いかもしれない。でもなんで本体品薄になってるんだろう。Wiiの時ほど騒ぎにはなってなかった気がするけど」

「話を聞いてて欲しくなったんじゃないかな。あとうちでは完全に据え置き型として遊んでるけど、携帯型としても使えるから、どっちの層も買いやすかったというのはあるかも」

UnrealEnginePythonをちょっとだけ試す

github.com

「UnrealEngineでPythonが使えるプラグインがあると聞いたので、ちょっと試してみてた」

妹「パイソン? ストⅡに出てくる?」

「その人はパイソンでなくバイソンですね……Pythonというのは、プログラミング言語の一種なんだけど、海外ではとても人気がある」

妹「日本では?」

「まあ……そこそこに人気がある。日本語の解説書がたくさん出てるぐらいには。UE4から他のプログラミング言語を扱えるようにするプラグインはいくつかあって、その1つ。これを使うとPythonで書かれたプログラムがUE4で使えるようになる。例えばディープラーニングとかでPythonを使ってたりするから、そういうのを流用しやすくなる。もちろん普段使ってる人は、使い慣れた言語で書けるというメリットもある」

f:id:una_unagi:20170305232638p:plain
f:id:una_unagi:20170305232648p:plain

「バージョンがいくつかあって、その中にさらにたくさんあるのでややこしい。ややこしくなってる理由はPythonの仕組み的なもので、Pyython2とPython3で文法がかなり違うから、同じプログラムが動かない。自分が使いたいやつを選ぶ必要がある。特に理由がなければpython3の最新版。Pythonがパソコンに入ってない人はembedded版を……」

妹「さっぱりわからん」

「やっぱり妹向けではないかなあ」

f:id:una_unagi:20170306011324p:plain
f:id:una_unagi:20170306011328p:plain
f:id:una_unagi:20170306011334p:plain

プラグインを追加すると、いくつかPython用ウィンドウが出せるになる。コンソールで軽くコマンド実行をしてみた感じだと、Pythonは正常に動いてるみたい。ここでエディタ上の操作、BlueprintでいうところのBlutilityに近いことが出来る。ゲーム中の処理も出来るみたいだけど、それにはSource_codeの方も必要とか、よくわからないのでとりあえずこのへんまで」

妹「なんか日本語の情報はないのかな」

Python自体はともかく、UnrealEnginePythonのいい感じの情報はまだなさそうだった。兄もPythonはあまり得意じゃないから、どう使うといい感じなのかよくわからない……」

妹「駄目だった」

「この手のプラグインだと、他にはSkookumScript(独自言語)とUnreal.js(JavaScript)というのが有名。どっちもマーケットプレイスから入れられる。ただそこそこクセがあって使いにくい印象」

妹「なんでプログラミング言語というのはそんなに色々あるんだ」

「いや、なんか人間プログラムをやってると、これ自分で作ったらもっと凄いの出来るのは? って思って、作っちゃうものらしいんだよ。それが長年積み重なった結果そういうことに……」

UE4.16で、UE4の中でアニメーションつける機能が実装されるらしい

unrealengine.hatenablog.com

「先日アメリカでやってた、GDC2017というイベントで、UE4に今後搭載する予定の機能がデモンストレーションされたらしい」

妹「そんなのあったの? 新聞とかでは見かけなかった気がするけど」

「ゲーム開発者向けだから、そんなに一般的なやつじゃないんだと思うけど。それで妹が前から欲しがってた、UE4の中でアニメーションさせるのがついに出来るようになるらしいよ」

妹「……マウスでビュッて動かして保存する方法じゃなくて?」

「そういうのではなくて。間接とかも連動するもっと近代的な、普通の3Dツールについてるのと同じようなアニメーションシステムみたい。4.16から実験的機能として搭載されるらしい。もう実演して発表出来るぐらいには出来てるってことだし」

妹「アニメーションが楽になるのはいいかもしれない。骨は入れられるの? ボーン」

「ボーンは……それは特になんにも言ってないような。そこはやっぱり他のでやらないと駄目かも」

妹「骨入れまで出来るとZBrushとUE4だけで済みそうだから助かるんだけど。ところでそれわたし以外に誰かメリットあるの? みんなMayaとかBlenderとか使ってやってるのでは?」

「UE4で出来ると色々都合のいいことはあるよ。FBXのデータは上手くインポート出来ない場合があるけど、UE4上で作ったデータならそういう問題はないし。あと実際動かしてみるとイメージが違うということもある。カメラの設定とか、マップの状態とかで、思ったような見え方をしない時、その場で調整できると楽だから」