妹でもわかるUnrealEngine4

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

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

2Dゲーム

OCTOPATH TRAVELERの体験版調査

妹「そんなにテレビにくっついて、何見てんの?」「いやOCTOPATH TRAVELERの体験版が入ってたから」妹「入れといてって言われたから入れた」「どういう仕組みなのかをよく見ている」www.youtube.com妹「パソコンの動画ならおっきく出来るのでは?」「いや光…

じゃんけんをするゲームの予定図

「とりあえず操作は作れそうな感じになってきたから、本格的にじゃんけんをしたいんだけど、今回はちょっとややこしいので、まず想定してるゲームの流れを図にしてみた」妹「ややこしいの? じゃんけんなのに?」「今回は遅出しアリにしようと思ってる。相手…

UMGウィジェットだけでゲームを作る実験中

「UE4で2Dゲームというと、Paper2DやSpriteStudioを使って、3D空間に2Dキャラクターを表示するのが主流だけど、ウィジェットだけでもゲームは作れるはずなので、それをやるとどういう問題が起きるのか、というのを確認している」妹「じゃん……けん?」「海外…

SpriteStudio Indie版のデータを公開する時の利用規約

www.webtech.co.jp「うちでも使わせてもらってるSpriteStudioのIndie版だけど、ゲームに使った場合は最初にスプラッシュスクリーン(ロゴがアニメーションするやつ)の表示をするっていうルールがあったんだけど、その辺のルールが細かくなってて、動画やSNS…

OpenAssetOrgのアセットで2Dゲームを作る(29) 意味はないけど得点するようになった

↓ここに最新版をアップロード http://unaunagi.github.io/apps/game2d/「今日はあんまり進んでないけど、とりあえず敵を倒すと点が入るようにしたバージョンを遊べるようにした。ただ……なんか動作が遅い気がする。敵と矢が多すぎたかも」妹「多すぎると駄目…

OpenAssetOrgのアセットで2Dゲームを作る(28) BuildStringによる文字の結合

「フォントはOTFフォントなら問題なさそうということがわかったので、スコア表示も入れる。加点の仕組みがないからずっと0点のままだけど」妹「BuildStringというのは?」「文字の結合はAppendノードを使ってもいいんだけど、BuildStringを使う方がノードの…

OpenAssetOrgのアセットで2Dゲームを作る(27) 敵の種類と数を増やす

妹「そういえば盾もった王様って、最初しか出てこないんだけど。バグなのでは?」「そういうわけじゃないんだけど。ランダム生成は普通の王様だけだから、初期配置の3人だけ盾もってる」「いっぱい出るようにした」妹「多い……」「こっちは矢が大量に撃てる…

OpenAssetOrgのアセットで2Dゲームを作る(26) マウス押しっぱなしでの弾発射

「とりあえずUE4ぷちコン用のサプライズなネタも思いつかないことだし、とりあえず作ってたゲームの改良をしている」妹「矢の量を増やしたの?」「矢を増やしたというか、マウスクリックじゃなくて、マウスドラッグで発射するように変更した。押しっぱなしで…

UE4でHTML5出力したミニゲームの公開

Game2D「2Dゲームの方はHTML5でとりあえず問題なさそうなので、どういう感じになるのかちょっと公開してみた。まだゲームとして成立してないけど、マウスクリックで矢を撃って、当たると敵にダメージという仕組みは問題なく動作してるみたい」妹「これゲーム…

スプライトのつなぎ目のとこに線が出る問題の解決

妹「そういえばアクションゲームのマップ作る時に、なんかスプライト同士のつなぎ目のとこに変な線が出ることがあって、ひょっとしてこれタイルマップとかで解決出来たりするのでは? 計算上隙間はないはずだし、ウィンドウの大きさによって出たり出なかった…

ファイアーエムブレム ヒーローズにはSpriteStudioが使われていた

「昨日からファイアーエムブレムのスマホで出た新作を遊んでたんで、作業はまったく進んでいないんだけど、このゲームにSpriteStudioが使われているらしいことがわかった」fire-emblem-heroes.com「公式のリリースとかには出てないんだけど、ゲーム内の、そ…

OpenAssetOrgのアセットで2Dゲームを作る(25) グリッドの大きさを2の乗数にする

「書くの忘れてたんだけど、2Dゲームを作る時、特にドット絵のアセットを使う場合はグリッドサイズを2の乗数に変えておいた方が便利になる」 エディタの環境設定 通常のグリッド 2の乗数に設定したもの「エディタの環境設定の、"スナップの大きさを2の乗数を…

OpenAssetOrgのアセットで2Dゲームを作る(24) 続・スプライトの重ね合わせ順問題、Translucentにすれば簡単だった

imoue.hatenablog.com妹「昨日のスプライトの表示順の話だけどさ、なんか前にそんな話してた気がするんだけど」「してたかな……」imoue.hatenablog.com「してるね……」妹「そうそう、コレ。この時はそんなに細かく順番を色々はしなかったと思うけど」「一回や…

OpenAssetOrgのアセットで2Dゲームを作る(23) スプライトの重ね合わせ順問題

「キャラクターごとにスピードを変えると、どうしても出てくるのが重なりの問題。だいたい重ね合わせの順番が変なことになる。基本的には縦方向(Z軸)に合わせてYを変化させて、下にあるやつが手前にくると2Dゲーム的に綺麗に重なって見える。横方向(X軸)も左…

OpenAssetOrgのアセットで2Dゲームを作る(22) ChildActorコンポーネント製の盾

「今日はピンク色の敵に盾を持たせた。盾の画像は例によってDungeon Crawlのアセットから」opengameart.org 「今回作った盾はスプライトとブロックコリジョンのみ設定した、矢を弾き飛ばす完全無敵のやつで、正面からは攻撃不能だから、壁か他の盾の反射を使…

OpenAssetOrgのアセットで2Dゲームを作る(21) ダイナミックマテリアルインスタンスによるダメージエフェクト

「マテリアルはなんとかなりそうなので、そろそろゲーム作りに戻ることにして、ダメージ処理の白い点滅を入れてみた。こういうの入れとかないと、当たったのかどうだかよくわからないから」妹「当たったのかどうだかわからないのはよくないね」 マテリアルへ…

Paper2D用のマテリアルを作る(6) いい感じに色を混ぜるマテリアル改良版

新型(濃度 50%) 新型(濃度 100%) デフォルトのマテリアル 新型マテリアル設計図「スプライトの着色について考えてきたけど、もっとシンプルに色を混ぜた方が速くて簡単なのでは? と思って試してみた。これで良さそうな気がしてきた」妹「原理はどうなっ…

OpenAssetOrgのアセットで2Dゲームを作る(20) ちょっと足の速い敵

「敵が1種類じゃ、いくら出現がランダムになっても面白くない。いくつか敵の案はあるんだけど、とりあえず一番シンプルな、足の速い王様を追加してみた。従来型の敵のサブクラスで、各コンポーネントのパラメータだけちょっと違う」妹「この王様だいぶ体調が…

OpenAssetOrgのアセットで2Dゲームを作る(17) ランダムだけど毎回同じ

「敵が一直線ではおかしいので、適度に散らばってくれるように調整中」妹「王様が多すぎなのでは? 王とはいったい……」「毎フレーム1人出てくるようにしたらこうなってしまった」妹「あとまた卑怯な王様いるよ。壁の中移動してるし」「これは乱数の範囲をミ…

OpenAssetOrgのアセットで2Dゲームを作る(16) 敵のスポーン。重ならないように

「敵のスポーンが出来るようにした。とりあえず毎フレーム同じ位置から出てくる」「新しい敵をスポーンさせるのも3Dと同じように、Location(位置)・Rotation(回転)・Scale(拡大率)の3つで場所指定するだけ。ただちょっと注意した方が良さそうなことがあった…

Rotator用Equalノードの許容範囲

妹「昨日の角度のやつだけどさ、あれ3Dの角度でやるとどうなるんだろ? 例えば90度としてもさ、ピッチとロールとヨーがあるわけだから。その合計? それとも全部が90度以内だったらイコールとか?」「それは全部90度以内だったらイコールの方みたい」 「こう…

OpenAssetOrgのアセットで2Dゲームを作る(15) 指定範囲内の角度の時だけ有効なプログラム

「いままでは全方向に射撃出来てたけど、基本的に横にしか撃てないようにしたいので、そういう感じの仕組みにした。ただ角度となるとちょっと難しい」妹「そういうノードなかったっけ? clampだったかな、あれで角度が指定した範囲内になるようにすればいい…

OpenAssetOrgのアセットで2Dゲームを作る⑭ 爆発させる

妹「なんでこの人爆発するの?」「シューティングとはそういうものなんじゃないかと思って。血まみれにするのもアレだし」妹「それはアレだけど……」opengameart.org 「爆発の絵は、背景のブロックや矢と同じ、DungeonCrawlアセットを使ってる」妹「このアセ…

OpenAssetOrgのアセットで2Dゲームを作る⑬ 当たった弾を消す処理はどこに書いたらいいのか?

「昨日は矢が当たったら敵が消えるだけで、まだ色々足りてないんだけど、まず問題なのが当たった矢が消えずに残ってしまうこと。ブロック崩しとかだったらそういうのもあるけど、今回は消したい」妹「普通にヒットした時に消したらいいのでは?」「でも壁に…

OpenAssetOrgのアセットで2Dゲームを作る⑫ 矢(弾)のヒット処理

「今日は矢がちゃんと当たるようにした。当たる処理は2つのコンポーネントに書いてある」imoue.hatenablog.com「だいたいこの時の動画のやり方と同じになってると思う。カスタムイベントの簡単なバインドの仕方とかもこの時に書いたやつで」妹「そういう動…

OpenAssetOrgのアセットで2Dゲームを作る⑪ 敵キャラクターの移動

「敵の移動、っていっても、ただ横に動くだけのシンプルなやつなんだけど」 「こういうコンポーネントを作って、王様のPawnにくっつけた。今回の制作では色んな処理をコンポーネントとして作ってみたいという目標があるので、移動処理は全部コンポーネントに…

OpenAssetOrgのアセットで2Dゲームを作る⑩ キャラクターの向きはArrowComponentに合わせる

「そろそろ敵キャラを設置する。とりあえずはエルフのキャラクターと同じ人が作った王様の絵をあてる」妹「王様が敵なんだ……」「そのへんは後で変えるかもしれないけど。で、敵は右から左に進む左向きの絵が必要なんだけど、ブループリントでは自機と同じで…

OpenAssetOrgのアセットで2Dゲームを作る⑨ キルゾーンによる矢の消滅

「撃った矢が画面外に飛び出した後もどこかをさまよってしまうので、キルゾーンを設置して消滅してもらうことにした。キルゾーンという言葉は軍隊からきてるらしいけど、ゲームエンジンではそこに入ったアクターを消滅させる、ゲーム世界の回りに設置する境…

OpenAssetOrgのアセットで2Dゲームを作る⑧ ProjectileMovementComponentの移動制限

「矢の形が変になってる問題は、途中で一時停止してみたところ、やっぱりY方向にずれていたことがわかった」妹「でもなんでズレるんだろ? キッチリまっすぐ飛んだやつは跳ね返っても、まっすぐに飛ぶと思うんだけど」「理屈としてはそうなんだけど、多分高…

OpenAssetOrgのアセットで2Dゲームを作る⑦ タイルマップへのあたり判定設置

「せっかく壁があるのに矢が貫通してしまうので、コリジョンを設置する。タイルセットにはコリジョンの作成機能があるので、それを使うのが一番簡単」docs.unrealengine.com「だいたいここに書いてある通りにやるだけでいい」「そのタイルを選択した状態で、…