名古屋でVRハッカソンをやるためのUE4 勉強会 1限目に行ってきた。
名古屋ゲーム制作部というゲーム作りの好きな人が集まっている団体の勉強会だ。
活動場所である名古屋総合市場ビルの一室の広いスペースで開催されている。(スペースの名前はフィーバー柳橋)名古屋駅からはすぐ近くだ。
前にOcufes名古屋をやっていた場所だ。
当日というか前日からは名古屋や岐阜では雪が降っており電車のダイヤが乱れている。
JRで20分遅れで名古屋駅に来た。余裕を持って出掛けて良かった。
ちなみに帰りにはJRの西岐阜で不通になり全線が影響を受けて酷いことになっていた。名鉄への振り替え輸送をやっており、JRでは普通のみの変則な少ない本数の電車の運行をしていた。
準備をちょっと失敗して、Unreal Engine4の最新版をPCに入れていくのができていなかった。
前に入れてあったUE4上で更新が促されたのでアップデートをしたら最新になるのかと思ったら違ったようだ。
現地で最新版にするのに3時間くらい時間を無駄にしてしまった。
後詰めの講師陣メンバーにフォローして貰ってなんとか追いついた。
内容は、FirstPersonというプロジェクトを改造して、以下のようなものを追加してゲームを作っていくというということをやった。
・マップを変更する
壁を1面取り除いて、空いた空間に床を延ばして拡張する
InfinityBladeで使われている床のタイル部品を配置
・マップにゴールとなる物体を作る
先程延ばした床の先に、石像を配置する
物体にぶつからないようにコリジョン判定をつける
ゴール判定用にもう1つ箱型のコリジョン判定をつけて、判定処理でゴールに移動したときに文字を表示させる
・マップ上に敵キャラを配置する
InfinityBladeの熊のモンスターを置いて、コリジョン判定をつける
・敵キャラに弾を撃って当たった場合の処理を追加する
最初からFirstPersonには弾を撃つ処理が入っている
弾にコリジョン判定を追加して、弾とモンスターが衝突したのを判定させて、当たったときに文字を表示させる
・敵キャラの体力(ヒットポイント)の処理とダメージ処理を追加する
弾が当たったときにダメージを発生させる。ダメージイベント用の処理は既にある関数を使う
HPの変数を追加し、ダメージをそこから引いていく処理を追加する
HPが0になったら敵キャラを殺す。Actorを消滅させる関数で消す
ただし、これだと画面から一瞬で消えてしまう
・敵キャラに動きをつける
まず、内部状態を管理するためのステートマシンの処理を追加する
最初に待機状態のステート追加する
待機状態のアニメーションの処理を追加する
次にダメージを受けた場合のステートを追加する
ダメージを受けた場合に被弾のアニメーションの処理を追加する
次に攻撃というステートを追加する
ビヘイビアという敵キャラのAIを追加する
自分と敵キャラとの距離が近づいたのを判定して、敵が自分に向かってくる処理を追加
このあたりで予定時間が終了。
会場や講師は延長も可能だというのだけど、延長希望者がいなかったので延長はなし。
(寒かったから、終わりたかったのだと思う)
次回はVR用HMDのOculus RiftやHTC Viveを使ったハンズオンの予定しており、案内の告知がされたので、connpassで申し込んだ。
あとは懇親会に行った。
自分以外はみな学生か就職したばかりの若い人が多かった。
ゲーム会社に就職している人や、ゲーム会社に就職しようとしている人も結構居た。