マガジンのカバー画像

3Dローグライクゲームの作り方

110
Unityを使用した3Dのローグライクの作り方についてまとめています。
運営しているクリエイター

2020年5月の記事一覧

【Unity】3Dローグライクゲームの作り方〜Step9&10-21〜

【Unity】3Dローグライクゲームの作り方〜Step9&10-21〜

前回の記事はこちら。
前回は装備アイテムがぶつかったときの処理を書き、杖と魔法の玉のデータを作成しました。

杖の実装前回の続きから行っていきます。まずは杖を使うと魔法の玉が発射されるようにしたいと思います。
ActorUseItemsスクリプトを開いて下さい。

// メソッドを追加/*** 発射する*/private bool Shot(Item it){ if (usingItem ==

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step9&10-20〜

【Unity】3Dローグライクゲームの作り方〜Step9&10-20〜

前回の記事はこちら。
前回はアイテムがキャラクターにぶつかったときのエフェクトを実装しました。

装備アイテムがぶつかったとき今の実装状態だと、キャラクターに装備アイテムがぶつかると、もれなく「砕け散り」ます。
ですが普通、装備アイテムは砕け散らないだろうと思います。
という訳で装備アイテムがぶつかったときはキャラクターにダメージを与えて、そのキャラクターのインベントリに空きがあれば拾わせ、なけれ

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step9&10-19〜

【Unity】3Dローグライクゲームの作り方〜Step9&10-19〜

前回の記事はこちら。
前回は満腹度とそれの回復、投げた時のアイテム効果を実装しました。

アイテムが当たった時のエフェクトまず、アイテムが当たった時のエフェクトをアセットストアから探してきます。筆者は以下を使用することにしました。

「Cartoon FX Free」で検索すると出てきます。
インポートしたら、空のオブジェクトを作成、名前を「HitItemEffect」にします。その子オブジェクト

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step9&10-18〜

【Unity】3Dローグライクゲームの作り方〜Step9&10-18〜

前回の記事はこちら。
前回は消費アイテムによる体力回復を実装しました。

満腹度の実装今回は満腹度の実装から始めたいと思います。これはParamsクラスにパラメーターを追加することで対応しようと思います。という訳でParamsクラスに以下のパラメーターを追加して下さい。

public float food; // 満腹度public float foodmax; // 満腹度最大値

パラ

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step9&10-17〜

【Unity】3Dローグライクゲームの作り方〜Step9&10-17〜

前回の記事はこちら。
前回は装備関連の実装を色々しました。

ポーション効果の実装筆者の作成したポーションは基本的には体力を回復します。という訳でこのアイテム使用時には体力が回復するようにしましょう。
ポーション使用時と体力回復時のメッセージを追加したら、早速コードを書いていきます。
まずActorUseItemsスクリプトを開いて、新しいメソッドを作成し、UseとPickUpUseメソッドを変更

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step9&10-16〜

【Unity】3Dローグライクゲームの作り方〜Step9&10-16〜

前回の記事はこちら。
前回はアイテムの詳細表示をし、装備アイテムを装備できるようにしました。

アイテムスロットにEマークを付与それでは前回の続きからやっていきましょうか。
ゲーム中でも装備中かどうかをわかりやすくするために、装備しているアイテムには「E」マークを表示したいと思います。
その為に、プレハブのItemSlotにテキストを追加し、このように設定して下さい。

色はお任せします。
位置調

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step9&10-15〜

【Unity】3Dローグライクゲームの作り方〜Step9&10-15〜

前回の記事はこちら。
前回はマップデータのアイテムオブジェクトをアイテムIDで記述できるようにして、アイテム周りのセーブ・ロード処理を更新しました。

詳細表示用のウィンドウを作るそれでは今回は予告した通りアイテムの詳細表示から始めたいと思います。
まず最初に詳細表示用のウィンドウを作成したいと思います。
ヒエラルキータブのInventoryWindow内に空のオブジェクトを作成します。そして、以

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step9&10-14〜

【Unity】3Dローグライクゲームの作り方〜Step9&10-14〜

前回の記事はこちら。
前回はアイテムデータを読み込みました。

マップデータの変更・読み込み今回はマップデータの改良から始めたいと思います。配置するアイテムオブジェクトの名前を以下のようにアイテムIDに変更します。

それができたら、LoadFieldMapスクリプトを開いて、readMapFileメソッドを以下のように変更します。

private Array2D readMapFile(str

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step9&10-13〜

【Unity】3Dローグライクゲームの作り方〜Step9&10-13〜

前回の記事はこちら。
前回はアイテムのデータファイルを作成しました。

ItemとItemParamsControllerスクリプトの修正まず最初に、Itemスクリプトから変更していきます。以下のパラメーターを追加、変更して下さい。

// 以下のパラメーターの型を変更public EItem id;// 以下を追加public EItemType type;public int atk;publ

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step9&10-12〜

【Unity】3Dローグライクゲームの作り方〜Step9&10-12〜

前回の記事はこちら。
前回はアイテムを投げられるようにしました。

EItemの定義今回からアイテムのデータファイルを作成していきたいと思います。ですがその前に、IDを見ただけで何のアイテムであるかをわかりやすくするために、アイテムIDの列挙定数を定義したいと思います。
EItemスクリプトを作成して下さい。以下のように記述します。

/*** アイテム定数*/public enum EItem{

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step9&10-11〜

【Unity】3Dローグライクゲームの作り方〜Step9&10-11〜

前回の記事はこちら。
前回は様々なサブメニューを表示できるようにしました。

壁に当たったら落ちるさて、今回はアイテムを投げられるようにコードを書いていこうと思います。
アイテムを投げると壁に当たるまで飛んでいくのが普通です。まずはこの処理から作っていきましょう。
ItemMovementスクリプトを開いて下さい。以下のメソッドとパラメーターを追記します。

// 以下のパラメーターを追記priv

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step9&10-10〜

【Unity】3Dローグライクゲームの作り方〜Step9&10-10〜

前回の記事はこちら。
前回はアイテムを置けるようにして、地面にあるアイテムをインベントリウィンドウに表示できるようにしました。

地面にあるアイテム用のサブメニュー地面にあるアイテム用のサブメニューを表示していきましょう。
サブメニューといえばSubMenuクラスですね。スクリプトを開いて、以下のように変更しましょう。

// 以下をスクリプトの最初に追記using System;// 以下のパラ

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step9&10-9〜

【Unity】3Dローグライクゲームの作り方〜Step9&10-9〜

前回の記事はこちら。
前回はアイテムを使ったらインベントリから削除して、ターンを経過させるところまでを行いました。

アイテムを置く今回はアイテムを置けるようにするところから始めたいと思います。
まず最初にItemクラスに以下のパラメーターを追加します。

public string prefab;

次にItemParamsControllerスクリプトを開いて下さい。以下のメソッドを追記します

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step9&10-8〜

【Unity】3Dローグライクゲームの作り方〜Step9&10-8〜

前回の記事はこちら。
前回はサブメニューを開いたり、サブメニューの項目を選べるようにしたりしました。

アイテムをインベントリから削除するアイテムをインベントリから削除できるようにしたいと思います。という訳で、Inventoryクラスに以下のメソッドを追記しましょう。

/*** インベントリから指定したアイテムを削除する*/public bool Remove(Item it){ if (i

もっとみる