ゲーム開発

【UEFN】Verseのシャローコピーとディープコピー(Verseの学習⑭)

ディープコピーとシャロウコピー Verseのコピー演算子で気を付けたいこと 3月末からVerseを触ってきましたが、8月になって初めてあることに気づきました。 それは、 Verseのmapやarrayはディープコピーされる! ということです。 辞書型やリスト型のコピー演…

【UEFN】UEFNのVerseで疎結合のコンポジションを行う(Verseの学習⑬)

オブジェクト指向プログラミングで疎結合のコンポジションを行う クラス構成をシンプルにする オブジェクト指向プログラミング(以下OOP)では、プログラムの機能をクラスに分けることで、一つ一つのプログラムを小さくしていきます。 一つ一つのクラスが…

【UEFN】UEFNのVerseでオブジェクト指向開発を行う(Verseの学習⑪)

[:contents] VerseでOOP Verseとオブジェクト指向 UEFNが登場して数か月が経過して、自分として検証を進めてきましたが、Verseはオブジェクト指向でバリバリとコーディングが行えるプログラミング言語という印象を持っています。 自分としてのコーディングの…

【UEFN】UMGビューモデルを使用してリッチな見た目のPopUpDialogを作成する(Verseの学習⑩)

*※2023/06/18 追記 以下の方法で作成した場合、PADでボタンが選択できない問題が発生しています。調査中ですが、バグの可能性が高いです しばらく使用を待っていただいた方がよさそうです ※2023/09/11 26.00 でPADでボタン選択ができない問題は修正されまし…

【UEFN】ボタンに反応するUIをVerseで作成する(Verseの学習⑨)

ボタンをもったUIでの処理 VerseのUI機能 今回開発するもの 簡単なテキストをVerseから表示するプログラム ボタン2個とテキスト1個を表示するプログラム ボタンを押すとメッセージを表示するプログラム完成版 まとめ VerseのUI機能 VerseのUI機能は現状で…

リンゴのゲーム開発 UEFN記事まとめ

ringogames.hatenablog.com ringogames.hatenablog.com ringogames.hatenablog.com ringogames.hatenablog.com ringogames.hatenablog.com ringogames.hatenablog.com ringogames.hatenablog.com ringogames.hatenablog.com ringogames.hatenablog.com ringo…

【UEFN】フォートナイトのダメージイベントをVerseで制御する (Verseの学習⑦)

ダメージイベントで大爆発を追加 UEFNのVerseにおけるイベント処理 UEFNのVerseにおけるイベント処理 1. ダメージイベントに対するOnDamagedEvent関数の登録 2. OnDamagedEvent関数の基本形 3. damage_resultを使った処理の変更 damage_result型に関して ダ…

【UEFN】フォートナイトクリエイティブで自作モデルをVerseから動的生成する (Verseの学習⑥)

Verseから自作モデルのスポーンが可能になった! フォートナイト24.30で自作モデルのスポーンが可能になった! 一つリンゴをゲーム開始時にSpawnするVerseプログラム 無限にリンゴを発生し続けるVerseプログラム まとめ フォートナイト24.30で自作モデルのス…

【UEFN】フォートナイトでクリエイティブをする時に、たくさんのプレイ環境に対応するために気を付けること

UEFNで作成したコンテンツを様々なプレイ環境に対応させるために フォートナイトは様々なプレイ環境に対応しているため、UEFNで作成する際も、たくさんの人にプレイしてもらうためには、様々な環境での動作確認をする必要があります。 様々なプレイ環境に対…

【UEFN】フォートナイトのLumenでライティングをリアルにしたい!(5/2更新)

Lumenで照らされたHaze フォートナイトのUEFNでもLumenを活用したい! 今回のテスト内容 UEFNでの事前検証 HDRIライティングテスト シーンのセットアップ 実行結果 5/2更新 まとめ フォートナイトのUEFNでもLumenを活用したい! 現在の映画やテレビなどのCG…

【UEFN】FortniteCreativeで思い通りにライティングするために知っておきたい3つのこと

FortniteCreativeで思い通りにライティングするために知っておきたい3つのこと はじめに ~LumenExposureManagerについて~ 1. 自動露出のワナ 2. マニュアル露出時のワナ 3. ToneMapperのワナ まとめ FortniteCreativeで思い通りにライティングするために…

【UEFN】マーケットプレイスの無料アセットをフォートナイトで使用する

UnrealEngine用のマーケットプレイス無料コンテンツをフォートナイトのUEFNで使用する 作業の流れ 1.UnrealEngineのインストール 2.プロジェクトの作成 3.無料アセットを購入 4.プロジェクトへの追加 5.アセットの移行 6.UEFNでの使用 7.エラー対応 …

【UEFN】フォートナイトで攻撃魔法を作る (Verseの学習⑤)

フォートナイトにNiagaraで独自の攻撃魔法を作る 実装方法 Niagaraでエフェクトを作る シーンへの配置 シーケンサーの追加 Verseでの作業 まとめ フォートナイトにNiagaraで独自の攻撃魔法を作る フォートナイトで俯瞰視点のクリエイティブマップを作ってい…

【UEFN】 DiabloライクのTop-DownViewカメラを作る Part.2(Verseの学習④)

カメラ方向と操作方向が一致したTop-Down Viewカメラを作る 前回紹介したTop-Down View カメラはカメラ方向と操作方向が一致していない場合に、非常に操作が行いづらいという欠点がありました。 ringogames.hatenablog.com そこで、前回のものを改修して、プ…

【UEFN】 DiabloライクのTop-DownViewカメラを作る Part.1(Verseの学習③)

DiabloライクのTop-DownViewカメラを作る Twitterでサンプルを公開したところ、反響が多かったため、Top-DownViewカメラの作り方を紹介します。 今回の完成映像はこちらになります。 DiabloLikeCamera UEFNで俯瞰視点のゲームを作るためにトップダウンカメラ…

【UEFN】 エイム練習用のプロップを作る!(Verseの学習②)

Verseでエイム練習用プロップを作る 前回 のサンプルを発展させ、Verseを使用して、ダメージを受けた際にランダムに移動するプロップを作っていきます。 今回の最終系はこのような形になります。 Suzanneモデルが射撃を受けるたびにランダムな方向に移動して…

【UEFN】 VerseでDeviceを連携させる(Verseの学習①)

ついに登場!UnrealEditor for Fortnite (UEFN) 3月23日、発表から約2年半の歳月を経て、UnrealEditor for Fortnite (以下UEFN)がついにリリースされました。 Fortnite専用のUnrealEditorとして一体どこまでのことができるのか、23日のリリースから自分も毎…

Blender GeometryNodeでUV座標を投影する方法

Blender Geometry Nodeにおいて、他のオブジェクトのUV座標を取得する方法がわからなかったため、調査しました。 やりたいことは以下になります。 オブジェクトAとオブジェクトBが存在し、オブジェクトAのそれぞれの頂点からもっとも近くにあるオブジェクトB…

Fortnite Creative 2.0 がやってくる!

ついにやってくる!?Creative2.0 Forniteにはユーザーが独自のゲームを作れるCreativeモードが存在します。ただ、本格的なプログラミングができるわけではなく、できることは限られていました。 EpicGamesはFortnite専用のUnrealEngieを準備中であることを2…

今更ですがStableDiffusionの勉強

ゲーム開発時のアートワークを作りたくて ゲーム開発におけるアートワークを効率的に作れないか、今更ですがStableDiffusionをトライしました。 ローカル環境へのセットアップ 使用したのは、StableDiffusionをWebUIで実行できるようにしたStable Diffusion …

RuntimeNavMeshBuilder: Source mesh *** does not allow read access.のエラーに関して

RuntimeNavMeshBuilder: Source mesh *** does not allow read access.のエラーに関して NavMesh使用時に以下のエラーがで悩まされました。 原因は、Fbxで読み込ませているメッシュのRead/Write権限でした。 Fbxファイル読み込みWindowでRead/Writeにチェッ…

視差遮蔽マッピング(Parallax Occlusion Mapping)をShaderGraphで使用する

視差遮蔽マッピングをShaderGraphで使用する UnityのShaderGraphにおいて、視差遮蔽マッピング(Parallax Occlusion Mapping)をどのように使えばいいのか調査しました。 視差遮蔽マッピングとは? CGのレンダリングにおいて、法線マップ(NormalMap)は、非常に…

自動生成のダンジョンを作る⑤

前回からの続きです。 ringogames.hatenablog.com 角の部分の処理 今のままでは、角部分に接合面が表れており、あまりにあまりなので、ここを修正していきます。 (接合部分がむき出し) 接合部分には、四角いピラーを立てていくことにしました。 ただ、全ての…

自動生成のダンジョンを作る④

質感、小物を追加していく 前回からの続きです。 ringogames.hatenablog.com 自動生成ダンジョンに質感や小物を追加して、それっぽく見えるようにしていきました。 今回のところまでのイメージ 使用した素材など - 壁 以下のテクスチャを使用させていただき…

自動生成されたマップで動くAIキャラクターの作成②

自動生成ダンジョンで自動的に動くAIキャラクターの生成 自動生成ダンジョンにランタイム時におけるNavMesh生成プログラムを適用してみます。 自動生成ダンジョンプログラムは以前のものになります。 public void Awake() { GameObject rootObject = new Gam…

自動生成されたマップで動くAIキャラクターの作成①

Runtime時のNavMeshのアップデート AIで動くキャラクターは、マップ形状に応じて動く必要があります。UnityではNavMeshを使用してキャラクターの動く経路を計算するのが一般的ですが、マップがランタイム時の自動生成の場合、NavMeshもランタイム時に更新し…

自動生成のダンジョンを作る③

前回の続きです ringogames.hatenablog.com ②で解説したアルゴリズムをもとに実際にUnity上で迷路を作成するプロジェクトを作成しました。 以下にプロジェクトをアップしています。 https://gitlab.com/ringogames2022/kruskalalgorithmdungeon 制作環境 Uni…

自動生成のダンジョンを作る②

Kruskal's Algorithm 前回の続きです。 ringogames.hatenablog.com Kruskal's Algorithmのアルゴリズムを例を使って解説していきます。 もっとも簡単な例として、3x3マスで構成される図のような迷路を考えていきます。 A~Iをタイル、それぞれを隔てる境界部…

自動生成のダンジョンを作る①

迷路アルゴリズム 自動生成のダンジョンが作れれば、繰り返し遊べるローグライクなゲームを開発することが可能になります。 そこでまず、迷路を自動生成するためのアルゴリズムを調べました。 有名なところでは以下のものがあるようです。 Buckblog: Maze Ge…

Unity URPでライティングを開始する初期状態を真っ暗にする方法

ライトを消しただけだと真っ暗にならない Unity URPでライティングをゼロから実施するために、まず、真っ黒の画面から調整していきたい場合があります。 ただ、Unity URPプロジェクトで新規シーンを作成し、DirectionalLightを無効にしても、真っ暗にはなり…