妹でもわかるUnrealEngine4

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

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

Paper2D

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

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

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

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

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

Paper2D用のマテリアルを作る(5) SpriteTextureSamplerをコピーした後は名前を戻す

「今回マテリアルで色々遊んでいて発生したトラブルなんだけど、コピーして作ったSpriteTextureSamplerノードに、色々ピンをつないでも正常に表示されない。名前のところが SpriteTexture_1 と、この_1が付いてることによって、正常に表示されなくなる」妹「…

Paper2D用のマテリアルを作る(4) StaticSwitchParameterで複数の処理を分岐させる

マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD from エピック・ゲームズ・ジャパン Epic Games Japan www.slideshare.net「先日UE4のマテリアルの勉強会があったらしいんだけど、これによるとStaticSwitch…

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

「昨日なんでグレースケール化処理をやってたかというと、グレースケールにした後でSpriteColorと混ぜた方が、発色が綺麗になるから。といってもこのへんは好みの問題もあるんだけど」妹「右の方は緑っぽいね」「冠とか肌とかの黄色成分が残ってるから、水色…

Paper2D用のマテリアルを作る(2) グレースケール化

「まずはグレースケールにするマテリアルというのを作ってみる。グレースケール化というのは、RGBから輝度に変換する処理だから、そういうマテリアルになってる」妹「輝度というのは……」「明るさの一種なんだけど、なんというかこう、お絵かきソフトに付いて…

Paper2D用のマテリアルを作る(1) まずはコピーして基本構造の調査

「ゲーム作りの途中なんだけど、2~3日ほど脱線して、マテリアル作りをやろうと思う。」妹「色違いのやつ?」「それもあるんだけど、ダメージエフェクトとかチャージとかみたいな処理でも、自作マテリアルは要りそうな気がするから、ここで一通り調べとこ…

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

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

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「だいたいここに書いてある通りにやるだけでいい」「そのタイルを選択した状態で、…

OpenAssetOrgのアセットで2Dゲームを作る⑥ マウスカーソルに向けて矢を放つ

「シューティングというと、ショットの角度は固定で自機が動くパターンが多いけど、今回は自機は動かずに射撃の角度を変える方法で、マウス操作でも遊びやすいような感じにしようと思う」「最初にマウスカーソルの表示をしてから、クリックした時に自機がカ…

OpenAssetOrgのアセットで2Dゲームを作る⑤ 矢の作成と発射

「今年中にゲームの形にするつもりが、矢の発射までしかできなかった。仕方がないのでこれは元々矢を撃つゲームだったということに…・・・」妹「そんな馬鹿な」「矢の構造は3Dゲームの場合とあんまり変わらない。変な方向に回転しないように気をつける必要は…

OpenAssetOrgのアセットで2Dゲームを作る④ タイルセットで背景を作る

「そろそろ設定も飽きてきたので、見た目の部分を作っていく。どんなゲームを作るかは特に決めてなかったんだけど……」妹「決まってなかったの!?」「ミニゲームだから、なんでもいいといえば良かったわけで。画面にグーチョキパーのアイコン置いてジャンケ…

OpenAssetOrgのアセットで2Dゲームを作る③ ウィンドウサイズとフレームレート

「カメラの設定だけしてウィンドウの大きさを変えてなかったのでこれも設定。これがないとウィンドウの横に黒帯がでてしまう」妹「そんなの設定したことないけど……」「それはカメラのとこでアスペクト比(縦横の比率)を1.777から変えてなければキッチリ収ま…

OpenAssetOrgのアセットで2Dゲームを作る② 2D向きのカメラ設定

「UE4で2Dゲームを作ろうとする時に、ちょっとめんどくさいのがカメラの設定。標準の2Dテンプレートだとキャラクタにカメラがくっついてるけど、今回は1画面で完結するようにゲームを作りたい。そうすると独立したカメラの方が便利」「3Dの場合はZ軸は重力…

OpenAssetOrgのアセットで2Dゲームを作る① プロジェクトの作成

「使い方がわかったところでちょっとしたミニゲームを作ってみようと思う。今回はアセットをなるべく自作しない方針で」「まずがプロジェクトの初期設定。これはblankから作ってる」妹「2D Side Scrollerじゃなくて?」「じゃなくて。別にそれでもいいんだけ…

Paper2Dで画像を綺麗に表示する

「昨日ぼやけた感じになってた画像を綺麗にするわけだけど……」妹「あ、そういえばそんな話を機能別サンプルの中で見かけたことありますぞ」妹「これじゃない?」「あっほんとだ……これだ……」 「絵がぼける問題はテクスチャアセットの設定。個別のスプライトじ…

Paper2DのFlipBookを作成する

「ちょっと録画が上手く行かなかったけど、とりあえずFlipBookを使ってこういうアニメをさせる。たぶんこのブログではFlipBookまだ取り扱ってなかったはず」妹「アニメはSpriteStudioで動かしてたから」「パーツ単位のアニメの場合はそうなんだけど、コマ毎…

ExtractSpritesで、スプライトシートからの切り出し方を細かく設定する

「昨日はスプライトを全部切り出したんだけど、やっぱり使う分だけの方が面倒がなくていいかも……と思い直したので、今回はピンポイントで必要な分だけ抜き出す」「全体をテクスチャとして読み込んで、ExtractSpritesというコマンドを選ぶところまでは同じ。…

OpenGameAssetのドット絵をUE4に読み込む

「今日は昨日紹介したサイトから絵をダウンロードしてきて、それをUE4にインポートするところまでやろうと思う」opengameart.org「今回選んだのは、このドット絵アセット。キャラクターと背景がセットになってて、そのキャラクターの方を入れてみる」「どの…

processingを使ったグリッド用スプライト画像制作

「今日はこういうモノを作っていた。ゲーム中に配置できる方眼紙的なやつ」妹「これにはどういう使いみちが?」「マップを作る時に、こう、見てわかるのがあった方がいいかなあ……って思ったんだよ」妹「でもそれだったらUE4でも線は出てくるのでは」妹「こう…

UE4.13からPaper2DスプライトをUMGで表示できる……らしい

www.unrealengine.com「4.13の更新情報、日本語のやつが出てたんだけど、これによるとウィジェットの中にPaper2Dのスプライトを使えるようになったらしい。これ妹がほしがってたやつだよね?」妹「あ、さっきそれ見たよ。これほんとかな……C++専用とかじゃな…

コンストラクションで自動的に地面を広げる実験+縦方向

妹「縦方向の増築も出来るようになった。なんとなく仕組みがスマートじゃない気はするけど、思ってたような動き方になった」 妹「とりあえず最初に縦横の範囲を調べて、スプライト何枚分か計算して、その回数分だけループさせてスプライトを追加している。最…

コンストラクションで自動的に地面を広げる実験

妹「地面が自動的に広がるシステムの開発に成功した。やってることは公式のチュートリアル動画の、壁を自動的に増やすみたいなやつと同じなんだけど、Paper2Dでも同じことが出来た」「ちゃんと繰り返しても大丈夫な絵になったんだね」妹「一応上下左右に積み…

2Dで作ったアセットを綺麗に表示にする

妹「なんかよくわかんないけど画期的な方法を発見しましたぞ!」 (左・元の状態、右・F2キーを押した後の状態)妹「前々から、お絵かきソフトで書いてる時と、UE4で表示した時の色が違うから、なんか変だと思ってたんだけど、ゲーム中にF2を押すと、元の色…

ブループリント製の学習用レトロゲームプロジェクト

「ランチャーのラーニングタブからダウンロード出来るプロジェクト以外にも学習に使えるプロジェクトは色々あるんだけど、UE4攻略Wikiで紹介されてた、レトロゲーム、つまり昔風のゲームのプロジェクトは参考になりそうだった」forums.unrealengine.com「今…

アタッチしたコンポーネントを常に手前に表示する

そのままにしていると反対向いた時にアイテムが裏側にいってしまう問題 「昨日のSetAbsoluteOrderがどういう原理で動いてるのか調べたんだけどね、Location用のフラグとかRotation用のフラグとかは分かれてるんだけど、軸ごとには分けられる仕組みにはなって…

ソケットにくっつけたアイテムの動きをアニメーションと連動させつつ、回転はさせない

妹「手にりんごを持たせてみたところ、りんごがクルクル回ってしまうので、そうならないようにするのをやってみた」「これはソケットにつけてるの?」妹「SpriteStudioで、手のところに作ったヌルパーツにくっつけてる。ヌルパーツじゃなくて手のとこに直接…

Paper2Dスプライトの大きさ調整

妹「今日はりんごの大きさを調節していた。なんか思ってたのよりちょっとデカかったから」「絵を小さく描くとか? Scaleで設定とか?」妹「大きさはちょくちょく変更したいから、変更するたびに絵の方を直すっていうのはちょっと。あとScaleでやるのもちょっ…

SpriteStudioのキャラクターをPaper2Dのマップに追加すると見えない問題

妹「SpriteStudioのキャラクターを追加してたんだけど、全然見えないから変だと思って調べてたんだけど、これなんか角度がおかしい気がする」妹「3Dのマップに追加すると見えているのに、2Dのマップだと斜めになってて、回転されたりカメラを動かしたりしな…

Paper2Dのスプライトの重ね合わせ順

妹「横スクロール出来るようになったんだけど、なんか重なり方がおかしい気がする」 「えっ、もうこんなとこまで作ったの!?」 妹「なんか出来た」 「そうなんだ……重なり具合はこれどっちが上になるのが正しいの?」 妹「クローバー。配置はY軸をずらして手…