ゲーム開発
ディープコピーとシャロウコピー Verseのコピー演算子で気を付けたいこと 3月末からVerseを触ってきましたが、8月になって初めてあることに気づきました。 それは、 Verseのmapやarrayはディープコピーされる! ということです。 辞書型やリスト型のコピー演…
オブジェクト指向プログラミングで疎結合のコンポジションを行う クラス構成をシンプルにする オブジェクト指向プログラミング(以下OOP)では、プログラムの機能をクラスに分けることで、一つ一つのプログラムを小さくしていきます。 一つ一つのクラスが…
[:contents] VerseでOOP Verseとオブジェクト指向 UEFNが登場して数か月が経過して、自分として検証を進めてきましたが、Verseはオブジェクト指向でバリバリとコーディングが行えるプログラミング言語という印象を持っています。 自分としてのコーディングの…
*※2023/06/18 追記 以下の方法で作成した場合、PADでボタンが選択できない問題が発生しています。調査中ですが、バグの可能性が高いです しばらく使用を待っていただいた方がよさそうです ※2023/09/11 26.00 でPADでボタン選択ができない問題は修正されまし…
ボタンをもったUIでの処理 VerseのUI機能 今回開発するもの 簡単なテキストをVerseから表示するプログラム ボタン2個とテキスト1個を表示するプログラム ボタンを押すとメッセージを表示するプログラム完成版 まとめ VerseのUI機能 VerseのUI機能は現状で…
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におけるイベント処理 UEFNのVerseにおけるイベント処理 1. ダメージイベントに対するOnDamagedEvent関数の登録 2. OnDamagedEvent関数の基本形 3. damage_resultを使った処理の変更 damage_result型に関して ダ…
Verseから自作モデルのスポーンが可能になった! フォートナイト24.30で自作モデルのスポーンが可能になった! 一つリンゴをゲーム開始時にSpawnするVerseプログラム 無限にリンゴを発生し続けるVerseプログラム まとめ フォートナイト24.30で自作モデルのス…
UEFNで作成したコンテンツを様々なプレイ環境に対応させるために フォートナイトは様々なプレイ環境に対応しているため、UEFNで作成する際も、たくさんの人にプレイしてもらうためには、様々な環境での動作確認をする必要があります。 様々なプレイ環境に対…
Lumenで照らされたHaze フォートナイトのUEFNでもLumenを活用したい! 今回のテスト内容 UEFNでの事前検証 HDRIライティングテスト シーンのセットアップ 実行結果 5/2更新 まとめ フォートナイトのUEFNでもLumenを活用したい! 現在の映画やテレビなどのCG…
FortniteCreativeで思い通りにライティングするために知っておきたい3つのこと はじめに ~LumenExposureManagerについて~ 1. 自動露出のワナ 2. マニュアル露出時のワナ 3. ToneMapperのワナ まとめ FortniteCreativeで思い通りにライティングするために…
UnrealEngine用のマーケットプレイス無料コンテンツをフォートナイトのUEFNで使用する 作業の流れ 1.UnrealEngineのインストール 2.プロジェクトの作成 3.無料アセットを購入 4.プロジェクトへの追加 5.アセットの移行 6.UEFNでの使用 7.エラー対応 …
フォートナイトにNiagaraで独自の攻撃魔法を作る 実装方法 Niagaraでエフェクトを作る シーンへの配置 シーケンサーの追加 Verseでの作業 まとめ フォートナイトにNiagaraで独自の攻撃魔法を作る フォートナイトで俯瞰視点のクリエイティブマップを作ってい…
カメラ方向と操作方向が一致したTop-Down Viewカメラを作る 前回紹介したTop-Down View カメラはカメラ方向と操作方向が一致していない場合に、非常に操作が行いづらいという欠点がありました。 ringogames.hatenablog.com そこで、前回のものを改修して、プ…
DiabloライクのTop-DownViewカメラを作る Twitterでサンプルを公開したところ、反響が多かったため、Top-DownViewカメラの作り方を紹介します。 今回の完成映像はこちらになります。 DiabloLikeCamera UEFNで俯瞰視点のゲームを作るためにトップダウンカメラ…
Verseでエイム練習用プロップを作る 前回 のサンプルを発展させ、Verseを使用して、ダメージを受けた際にランダムに移動するプロップを作っていきます。 今回の最終系はこのような形になります。 Suzanneモデルが射撃を受けるたびにランダムな方向に移動して…
ついに登場!UnrealEditor for Fortnite (UEFN) 3月23日、発表から約2年半の歳月を経て、UnrealEditor for Fortnite (以下UEFN)がついにリリースされました。 Fortnite専用のUnrealEditorとして一体どこまでのことができるのか、23日のリリースから自分も毎…
Blender Geometry Nodeにおいて、他のオブジェクトのUV座標を取得する方法がわからなかったため、調査しました。 やりたいことは以下になります。 オブジェクトAとオブジェクトBが存在し、オブジェクトAのそれぞれの頂点からもっとも近くにあるオブジェクトB…
ついにやってくる!?Creative2.0 Forniteにはユーザーが独自のゲームを作れるCreativeモードが存在します。ただ、本格的なプログラミングができるわけではなく、できることは限られていました。 EpicGamesはFortnite専用のUnrealEngieを準備中であることを2…
ゲーム開発時のアートワークを作りたくて ゲーム開発におけるアートワークを効率的に作れないか、今更ですがStableDiffusionをトライしました。 ローカル環境へのセットアップ 使用したのは、StableDiffusionをWebUIで実行できるようにしたStable Diffusion …
RuntimeNavMeshBuilder: Source mesh *** does not allow read access.のエラーに関して NavMesh使用時に以下のエラーがで悩まされました。 原因は、Fbxで読み込ませているメッシュのRead/Write権限でした。 Fbxファイル読み込みWindowでRead/Writeにチェッ…
視差遮蔽マッピングをShaderGraphで使用する UnityのShaderGraphにおいて、視差遮蔽マッピング(Parallax Occlusion Mapping)をどのように使えばいいのか調査しました。 視差遮蔽マッピングとは? CGのレンダリングにおいて、法線マップ(NormalMap)は、非常に…
前回からの続きです。 ringogames.hatenablog.com 角の部分の処理 今のままでは、角部分に接合面が表れており、あまりにあまりなので、ここを修正していきます。 (接合部分がむき出し) 接合部分には、四角いピラーを立てていくことにしました。 ただ、全ての…
質感、小物を追加していく 前回からの続きです。 ringogames.hatenablog.com 自動生成ダンジョンに質感や小物を追加して、それっぽく見えるようにしていきました。 今回のところまでのイメージ 使用した素材など - 壁 以下のテクスチャを使用させていただき…
自動生成ダンジョンで自動的に動くAIキャラクターの生成 自動生成ダンジョンにランタイム時におけるNavMesh生成プログラムを適用してみます。 自動生成ダンジョンプログラムは以前のものになります。 public void Awake() { GameObject rootObject = new Gam…
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プロジェクトで新規シーンを作成し、DirectionalLightを無効にしても、真っ暗にはなり…