妹でもわかるUnrealEngine4

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

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

SkySphereの太陽を動的に動かす

f:id:una_unagi:20180509232932p:plain

妹「太陽を動かす実験をやってたんだけど、上手くいったところと、いってないところがあるんだよ」

f:id:una_unagi:20180509233044p:plain

f:id:una_unagi:20180509233057p:plain

妹「太陽を別の位置に動かすのはできた。最初なんか変だと思ったのは、どのライトを使うかの設定をしてなかったかららしい。あとライトの角度を変えた時にボタンを押さないといけないのも盲点だった」

「そんなボタンあったんだ」

妹「なんかあった。そこまではわかったんだけど、問題は次で……」

f:id:una_unagi:20180509233637g:plain

「太陽が沈むの?」

妹「沈むまではいいんだけど、本当は登ってこないとおかしいんだよ。でも真っ暗なままで止まっちゃう」

f:id:una_unagi:20180509233249p:plain

妹「角度を毎回ちょっとずつ足してるんだけど、なんか上手くいかなくて」

「あー……それか。なんというか、角度は足し算すると上手くいかないんだよ」

妹「もちろん360度は0度と一緒だから、そうなるようにしてあるけど」

「そういう話に近いんだけど、角度用の関数を使わないと、色々上手くいかないというか」

妹「でもエディタで数字を設定したらちゃんとなるんだけど」

f:id:una_unagi:20180509234657p:plain

「エディタ上はそうなってるけど、実際には別の数字になってる。実行直後にPrintStringで調べると、設定したのとは別の数字が出てくる」

f:id:una_unagi:20180509235152p:plain

「本当はP(ピッチ)が160で、他は0なんだけど、他の軸も合わせてグルっと回っちゃってる」

妹「なぜそんなことに……」

「向き自体は一緒だから。角度には違う数字だけど同じ向きを表してる状態がいっぱいあるから、色々むずかしいんだよ」

f:id:una_unagi:20180509235144p:plain

「ちなみにこれが元の状態。ここからピッチだけ変えてるのにああなった」

妹「うーん、でも数字が変わったとしても、そのまま回転させてくれれば問題ないような」

「多分90度超えたあたりのタイミングで逆転が発生してて、それ以降は逆方向に回転しちゃうんじゃないかな。その結果90未満になるとまた逆転してって、そこで1フレームごとに無限ループになってる気がする」

妹「えーっと、じゃあ360度を超えたらってしてるところを、90度で考え直せばいいのかな」

「それでもいいかもしれないけど、そこはひょっとしたら機種で違うかもしれないし。やっぱり角度を操作するためのノードを使った方がいいと思う」

はんまーぱにっく! を遊んでみる

f:id:una_unagi:20180509000654p:plain

www.youtube.com

UE4ぷちコンの投稿作で遊ぶ企画、4つ目は、はんまーぱにっく! キーボードのみの操作で、A・Dで左右に、Bキーで攻撃。タイトルから進むのもBキー」

妹「アクションゲームなのかな」

「2D的な横の動きだけど、キャラや背景は3Dになってる。最初説明書も動画も見ずにやってたけど、溜め攻撃ができるのがわかってからは少しまともに動けるようになった。

f:id:una_unagi:20180508235919p:plain

「敵味方ともモーションが大きいから、ある程度タイミングを考えて戦わないといけない。敵の攻撃範囲に入ってもすぐには攻撃されないから、1撃は当てられるけど、2撃目の前に1回下がらないと反撃を喰らう。ダメージを受けると攻撃モーションがキャンセルされてしまう。挟み撃ち状態になってしまうと打開が難しい」

f:id:una_unagi:20180508235938p:plain
リアルタイム3Dで処理されてるので、リングの青い光が敵にうつったりする

「しかしボス戦まではいけたんだけど、2回戦って2度敗北……というか今までやった4つのゲーム全部クリア出来てない気がする。もともとクリアがないゲームもあったけど」

妹「兄はあんまりゲーム上手くない説が……」

MOOPで遊んでみる

f:id:una_unagi:20180507010807p:plain

UE4ぷちコンのゲームで遊べるやつを遊び倒す企画、第3弾」

妹「そんな企画だったんだ……」

「実際にはダウンロードできるようになったのを捕捉できてない場合が多々あるんだけど。今日やるのはMOOPというゲーム」

youtu.be
(動画説明内にダウンロードリンクあり)

「上下の壁にそって走って、ジャンプで移動していくワンキーゲームなんだけど、この壁が丸くループしてるところがすごい」

妹「これって2Dゲームだよね?」

「2Dの処理はSpriteStudioでやってるみたい。最初にロゴが出てるから」

f:id:una_unagi:20180507011443p:plain

「最初のうちはルールよくわかってなくて、一生懸命敵をよけてたんだけど、どうも踏んづけて倒すゲームみたいで、ちゃんと得点できるようになった」

f:id:una_unagi:20180507012217p:plain

「これが今の所のハイスコア。ただ無限ループするだけかと思いきや、敵の配置が極悪になってきたりして……」

妹「配置?」

「敵を踏むと自動でジャンプするから、上・下・上みたいな並びだと、ぽんぽんぽんって連続的に踏めるんだけど、上・上・下・上みたいな並びだと、最初の上を踏むと高確率で敵にあたって死んでしまう。なかなか手ごわい」