UE5 2Dゲーム研究所 https://ue5study.com/2d Tue, 03 Dec 2024 23:18:00 +0000 ja hourly 1 https://wordpress.org/?v=6.9.4 https://ue5study.com/2d/wp-content/uploads/2023/01/cropped-favicon_ue52d_01-1-32x32.png UE5 2Dゲーム研究所 https://ue5study.com/2d 32 32 UE5 簡単にコヨーテタイムを実装する方法 https://ue5study.com/2d/ue5-coyote-time/ Sun, 01 Dec 2024 19:49:57 +0000 https://ue5study.com/2d/?p=278 この記事は、Unreal Engine (UE) Advent Calendar 2024 シリーズ4の2日目の記事です。

コヨーテタイムとは

アクションゲームを作る際に、難易度設定、手触り感が問題になることが多々あります。

不快感を減らす対策の一つとして、崖から落下した少しの間ジャンプ可能な状態にするという方法が、
コヨーテタイムと呼ばれ、広く好意的に受け入れられています。

詳細記事≫ 開発者が語る『Celeste』の秘密。

この手法を、ブループリントで実装する方法を記事にしようと思います。

ブループリント実装例

方法論は、いくつもあると思いますが、実装のし易さ、理解のし易さの点から、
以下のようなブループリントの組み方が良いのではないかと思います。(キャラクターブループリント内)

  • Event OnWalkingOffLedge 地面からキャラクターが落下した際に呼ばれるイベントノード。
  • Jump Max Count [2] 落下時に、Jump Count が 1つ消費されるので、一時的に、Jump Max Count を増やします。
  • Retriggerble Delay [0.2] ここで指定した秒数が、コヨーテタイムになります。
  • Jump Max Count [1] コヨーテタイム終了後、Jump Max Count をリセット。

補足

前述一連のノードで基本的には、機能の実装としては終了ですが、
コヨーテタイムを長めに設定した場合、2段ジャンプが可能な瞬間が発生する可能性がある為、
以下のノードも追加しておくと安全かなと思います。

  • Event OnLanded キャラクターが地面に着地した時に呼ばれるイベントノード。
  • Jump Max Count [1] Jump Max Count リセット。

以上のノードを組むことで、意図しない2段ジャンプが可能なタイミングを消すことができます。

最初から2段ジャンプなどが可能な仕様の場合、
Jump Max Count の値を全体的に「+1」すると良いと思います。

あとがき

今回は、検索をかけても意外と方法を見かけなかったので、

実装法(の一例)を記事にしてみました。

記事上効果がわかりやすい値にしているので、コヨーテタイムは好みの時間に設定して下さい。

以上です。

アドベントカレンダー3日目もお楽しみに。

ご意見などTwitterのリプライにいただけると助かります。

]]>
【UE5】2Dの基礎 | ドット絵テンプレート作成編 【2Dアクションゲームの作り方!】 https://ue5study.com/2d/ue5-2d-basics-pixelart-template-creation/ Sun, 31 Dec 2023 03:47:21 +0000 https://ue5study.com/2d/?p=265 基礎編が完結したので、一旦記事化。
【UE5】2Dの基礎 | ドット絵テンプレート作成編 【2Dアクションゲームの作り方!】
4年分の検証結果を詰め込んでおきました。

2【UE5】2Dゲームの作り方 | 起動:Launch

Blankプロジェクトの作成、設定から、起動。

3【UE5】2Dゲームの作り方 | 本来の Blank プロジェクト

ベースのプロジェクト設定について。

4【UE5】2Dゲームの作り方 | エディタ設定

2D用にエディタを設定します。

5【UE5】2Dゲームの作り方 | Textures Settings / テクスチャ・インポート・設定

テクスチャのインポート方法と、設定、注意事項。

6【UE5】2Dゲームの作り方 | Sprite Size / スプライト・サイズ設定

スプライトのドットのサイズ設定について。 Pixel Per Unreal Unit.

7【UE5】2Dゲームの作り方 | PaperCharacter 作成

キャラクターブループリントの作成。

8【UE5】2Dゲームの作り方 | ゲームモード / Gamemode

ゲームモードブループリントの作成。設定。

10【UE5】2Dゲームの作り方 | Enhanced Input 設定

Enhanced Input の設定をしていきます。

11【UE5】2Dゲームの作り方 | 振り向き処理・関数

Spriteの振り向き関数を用意します。

12【UE5】2Dゲームの作り方 | Sprite Sheet Animation

歩きと、ジャンプの画像を用意します。

13【UE5】2Dゲームの作り方 | Flipbookの切り替え処理

Flipbookの切り替え関数を用意します。

14【UE5】2Dゲームの作り方 | Capsule Size of Character

キャラクターのカプセルサイズを調整します。

15【UE5】2Dゲームの作り方 | Character Movement

キャラクターの動きの制御について。

16【UE5】2Dゲームの作り方 | まとめ | Unreal Engine 5

2Dテンプレート完成です。(UE4の公式テンプレートを参考)

【UE5】2Dゲームの作り方 | 2DBG & Camera Settings

静止画背景を使う方法と、カメラの切り替え方法。

【UE5】2Dゲームの作り方 | 3DBG & HD-2D

3Dの背景とドット絵の共存と、HD-2D風表現について。

【UE5】2Dゲームの作り方 | Tilemap / Tileset

ドット絵背景。Tilemapの扱い方。

【UE5】2Dゲームの作り方 | Tips 訂正と補足

チュートリアルの訂正事項と、便利機能について。

【UE5】プロジェクトのバージョンアップ方法と注意事項

プロジェクトのバージョンアップ方法と注意事項。

丁寧な動画を作るのは大変なんだなということを学んだ1年でした。

また来年良いお年を。

]]>
2Dアクション PaperZD サンプルデータ https://ue5study.com/2d/2d-action-paperzd-sample-data/ Sun, 17 Dec 2023 10:15:26 +0000 https://ue5study.com/2d/?p=247 PaperZD チュートリアル用

チュートリアル用、2Dテンプレートプロジェクト。
2Dテンプレート作成チュートリアルの成果物。のプロジェクト名を変えたもの。)


チュートリアル通りに進めた場合の完成データ。

プロジェクトを正常に開くためには、プラグイン: PaperZD がインストールされている必要があります。


サードパーソンカメラで3D空間を歩くプロジェクトをPaperZDで組みなおしたもの。

プロジェクトを正常に開くためには、プラグイン: PaperZD がインストールされている必要があります。

PaperZD リンク集

PaperZD
ホーム > 2Dゲーム > PaperZD

PaperZD チュートリアル本編

データの不備などがあったら、↑動画か、↓Twitterにお知らせください。

良いお年を。

]]>
2Dアクション タイルマップ サンプルデータ https://ue5study.com/2d/2daction-tilemap-sampledata/ Thu, 28 Sep 2023 08:51:27 +0000 https://ue5study.com/2d/?p=217 Tilemap チュートリアル用

チュートリアル用、2Dベーステンプレートプロジェクト。
2Dテンプレート作成チュートリアルの成果物。のプロジェクト名を変えたもの。)


チュートリアルの説明時に使用するテクスチャ。

アンリアルエンジン 2Dゲーム制作関連のリンク集

Unreal Engine 2Dゲーム | Paper2D
UE4,UE5のドット絵等の2Dゲーム制作関連の情報を集める。公式+勉強会情報UE5 2DドキュメントPaper 2DPaper 2D フリップブックFlipbook コンポーネントPaper 2D の操作方法アニメーション ステート マシ...

タイルマップ説明チュートリアル本編

データの不備などがあったら、↑動画か、↓Twitterにお知らせください。

]]>
2Dアクション 3DBG HD-2D サンプルデータ https://ue5study.com/2d/2daction-3dbg-sampledata/ Thu, 20 Apr 2023 04:51:27 +0000 https://ue5study.com/2d/?p=172 3DBG & HD-2D チュートリアル用

チュートリアル用、2Dベーステンプレートプロジェクト。

2Dテンプレート作成チュートリアルの成果物。


白螺子屋さんのサイトの、
そざい
< マップチップ > ダンジョン ■氷のダンジョン
の画像も必要です。


3D空間を自由に歩けるようにしたキャラクターブループリント。

HD-2D関連の情報リンク集

Unreal Engine HD-2D
UE4/UE5のHD-2D関連情報を集める。≪2Dゲーム

チュートリアル本編

データの不備なのあったら、↑動画か、↓Twitterにお知らせください。

]]>
2Dアクション 2DBG サンプルデータ https://ue5study.com/2d/2daction-2dbg-sampledata/ Sat, 01 Apr 2023 09:00:58 +0000 https://ue5study.com/2d/?p=150 2DBG & FixCamera チュートリアル用

↓中身のjpg画像

チュートリアルとしては、写真として扱っていますが、

The Matrix Awakens – Unreal 5 Demo の背景素材

Just a moment...

のスクリーンショット画像になります。

チュートリアル用、テンプレートプロジェクト。

このチュートリアルだけ行う人用のテンプレートプロジェクト。

2Dテンプレート作成チュートリアルの成果物。

マーケットプレイスサンプル

Just a moment...
Just a moment...

チュートリアル

]]>
2Dアクション ベーステンプレート サンプル https://ue5study.com/2d/2daction-basetemplate-sample/ Sat, 25 Mar 2023 07:58:35 +0000 https://ue5study.com/2d/?p=127 2Dアクションゲームチュートリアルの、ベーステンプレートプロジェクトサンプル。

チュートリアル16用

]]>
2Dアクション テクスチャ アニメーション サンプル https://ue5study.com/2d/2d-action-texture-animation-sample/ Wed, 08 Mar 2023 08:57:04 +0000 https://ue5study.com/2d/?p=123 2Dアクションゲームチュートリアルの、アニメーションフリップブック学習用のサンプル画像。

チュートリアル12用

中身は、

 キャラクターのサンプル画像(S_Player_Sample_Anim.png)

の一つだけなので、上の画像を右クリックから、保存でも可。

]]>
2Dアクション テクスチャ インポート サンプル https://ue5study.com/2d/2d-action-texture-import-sample/ Wed, 15 Feb 2023 04:12:10 +0000 https://ue5study.com/2d/?p=99 2Dアクションゲームチュートリアルの、テクスチャインポート学習用のサンプル画像。

チュートリアル 5 用

中身は、

 キャラクターのサンプル画像(T_Player_Sample.png)

 16pixel の白画像(T_White16px.png)

の二つだけが入っています。

]]>
UE5.1 最適なポストプロセス設定 / 2D ドット絵 https://ue5study.com/2d/ue5-2d-postprocess-settings/ Thu, 26 Jan 2023 00:32:41 +0000 https://ue5study.com/2d/?p=46 UE5のデフォルト設定では、テクスチャの色味が変わって見える主な要因の、ポストプロセス設定例を置いておきます。

前提

解説バージョンは、UE5.1.0です。バージョンによって、パラメーターの名称や効果が異なる場合があるので、別バージョンで解説通りにならない場合は、UE5.1でも確認してみてください。

動画での解説もあります。

プロジェクト設定

最低限2点の確認をします。

  • アンチエイリアス手法(Anti-Aliasing Method)が「None」 になっているのを確認してください。
  • モーションブラー(Motion Blur)の「チェックを外す」

プロジェクト設定を開いて、「検索」をするのが見つけやすいと思います。

Flipbookとの相性が悪いので、切っておいた方がいい場合が多いです。

テクスチャ設定

テクスチャをダブルクリックで開いた状態で、4点確認。

  • ミップ全般設定(Mip Gen Settings) 「ミップマップなし(NoMipmaps)」
  • Texture Group 「2D Pixels (unfiltered)」
  • 圧縮設定(Compression Settings) 「UserInterface2D (RGBA)」
  • Filter 「Nearest」

この4点の変更をして、テクスチャーのビューポート上で色味がおかしい場合は、読み込んだテクスチャの色諧調が8bitではない可能性があります。

3DCGのレンダリング画像や、高性能なカメラで撮った画像をそのまま読み込むと、16bitや32bitなどの、扱いにくい色諧調になっている場合があります。良い結果にならない場合は、テクスチャの色諧調を確認してください。画像加工ソフトなどで8bit諧調に変更してから読み込みなおしてください。

PhotoShopの場合は、「イメージ」>「モード」から確認/変更ができます。

読み込めるテクスチャは、公式ドキュメント参照≫ Unreal Engine のテクスチャ

  • .bmp
  • .float
  • .jpeg
  • .jpg
  • .pcx
  • .png
  • .psd
  • .tga
  • .dds (Cubemap or 2D)
  • .exr (HDR)
  • .tif (TIFF)
  • .tiff (TIFF)

ドット絵の場合は、.png が扱いやすいと思います。

ポストプロセス設定

前提の確認ができていれば、あとは、「ポストプロセスの設定」を調整すれば、正しい色味表現になります。

レベル空間上に、ポストプロセスボリューム(PostProcessVolume)があるのを確認します。無ければ追加してください。

まず、最初にここは確認します。(だいぶ下にあります。)

  • Infinite Extent (Unbound) にチェックを入れてください。(ポストプロセスを確実に反映する設定。)

本題は以下になります。

確認箇所は以下。黄色線は重要。青線は好みにより数値を変えてもいい。

  • Bloom しきい値(Threshold) 「1」 光らせたい場合は、マイナス側の数値に。
  • 露出補正(Exposure Compensation) 「0.0」
  • Min EV100 「0.0」
  • Max EV100 「0.0」
  • ビネット効果強度(Vignette Intensity) 「0.0」
  • 色域拡張(Expand Gamut) 「0.0」
  • トーンカーブ量(Tone Curve Amount) 「0.0」

以上の7か所の確認をします。

これで、大抵の場合は、問題がなくなると思います。

プロジェクト設定を追い込む。

色味自体には大きな影響はないですが、Lumenを切っておいた方が良いと思います。負荷的に。

  • グローバルイルミネーション
  • 反射

2Dの場合Virtual Shadow Maps (Beta) は、切っておいてもいいような気がする。負荷的に。

アンビエントオクルージョンも、必要ない場合が多い。

完全なレトロゲームを目指す場合は、ブルームも切っていいかも。

ぼんやり光らせたくない人は、Bloom 切る。

自動露出補正(Auto Exposure)は、ポストプロセス側でいじるので、プロジェクト設定側で変えなくてもいいですが、切っておいてもいいのと、自動露出バイアス(Auto Exposure Bias)も0にしとくのもいい。

これくらいでしょうか。

あとで、気づいたのあったら、追加します。

参考資料

]]>