Godot4 ウィザードリィ風3Dダンジョンのテンプレートアセットの導入と実行

無料で軽快なオープンソースのゲームエンジン GodotEngine4Godot Asset Library には、画像や音楽、スクリプトなどの様々な有料・無料のアセットが公開されています。

GodotEngine4.2.2 トップページの一部 20240605

今回は、ウィザードリィ風の 3D ダンジョンを移動することができる無料のテンプレートアセット「DungeonCrawler3D」の導入、設定、実行までの手順を紹介します。

※ GodotEngine のバージョンは 4.2.1 です。 .NET 版ではありません
※記事で紹介するスクリプト / プログラム / コードは自己責任で使用してください。

DungeonCrawler3D を実行するためのプロジェクトの作成

DungeonCrawler3D」テンプレートアセットを GodotEngine4 エディタで実行するために、 GodotEngine プロジェクトマネージャーでプロジェクトを作成して、開きます。

Godot4 プロジェクトマネージャーでテンプレートをインポートするプロジェクトを作成します.

アセットは、プロジェクトを開いた GodotEngine エディタの中央上部にある AssetLib ビュー内で、インストールできると思っていたのですが、なぜか DungeonCrawler3D アセットは表示されません。
※作成したプロジェクトの GodotEngine4 のバージョン 4.2 に対応しているアセットなのになぜか検索結果に出ません。

Godot4 エディタの AssetLib ビューで検索してもアセットが見つかりませんでした..

DungeonCrawler3D アセットのダウンロード

前述の理由からエディタ上で直接インポートはできなかったので、プロジェクトにいれる DungeonCrawler3D テンプレートアセットを公式サイト Godot Asset Library からダウンロードします。

Godot Asset Library にアクセスして、左上の検索ボックスで Dungeon などと入力すると表示される DungeonCrawler3D を選択します。

Godot Asset Library サイトで検索して DungeonCrawler3D アセットを選択します.

DungeonCrawler3D のページに移動したら Download ボタンを押してアセットをダウンロードします。

Godot Asset Library サイトで DungeonCrawler3D アセットをダウンロードします.

ダウンロードした zip ファイルを解凍して、作成した Godot プロジェクトのフォルダ追加・上書き保存します。
※「インポートプロセス — Godot Engine (4.x)の日本語のドキュメント」には、エディタのファイルシステムドックにファイル・フォルダをドラッグ&ドロップするやり方が書かれていますが、それを試すと .godot ファイルの更新を尋ねられたりしたので、上書き保存で追加しました。

プロジェクトのフォルダは、エディタのファイルシステムドックでトップにある res:// フォルダを右クリックして表示されるメニューから「ファイルマネージャ―で開く」を選択するとエクスプローラでそのフォルダが表示されます。

Godot4 プロジェクトのフォルダをエクスプローラで開きます

DungeonCrawler3D のための準備

プロジェクトのフォルダに追加・上書きした後に、エディタを開くと自動的にインポートが行われますが、以下のようにエラーメッセージが表示されます。

すべて Global という識別子を認識できないエラーです。

Godot Engine v4.2.1.stable.official (c) 2007-present Juan Linietsky, Ariel Manzur & Godot Contributors.
  modules/gltf/register_types.cpp:63 - プロジェクト設定でBlendファイルのインポートが有効になっていますが、エディターの設定でBlenderのパスが設定されていません。Blendファイルはインポートされません。
--- Debug adapter server started ---
--- GDScript language server started on port 6005 ---
  res://Game/cell/cell.gd:11 - Parse Error: Identifier "Global" not declared in the current scope.
  modules/gdscript/gdscript.cpp:2788 - Failed to load script "res://Game/cell/cell.gd" with error "Parse error". (User)
  res://Game/World.gd:18 - Parse Error: Identifier "Global" not declared in the current scope.
  res://Game/World.gd:18 - Parse Error: Identifier "Global" not declared in the current scope.
  modules/gdscript/gdscript.cpp:2788 - Failed to load script "res://Game/World.gd" with error "Parse error". (User)

追加したファイルの中の Global.gd という gd スクリプトファイルの中に定義されている定数にアクセスできないことがエラーとして出力されています。

Godot プロジェクトで発生したエラーの原因と同じ名前のファイル Global.gd があります. ...

これは、DungeonCralwer3Dダウンロードしたページに書かれていた準備を行っていないからです。

Godot プロジェクトにDungeonCrawler3Dをいれると、エラーが発生しました...
Godot プロジェクトにDungeonCrawler3Dをいれると、エラーが発生しました2...

DungeonCrawler3D の GitHub ページ「Rebelion-Board-game/DungonCrawler: port https://github.com/uheartbeast/3d-dungeon for Godot4」には、先ほどダウンロードしたページと同じように、使用方法などが書かれています。

DungeonCrawler: A Godot 4 Asset for Basic Dungeon Crawler Mechanics

DungeonCrawler is a valuable asset for Godot 4, designed to empower developers with fundamental dungeon crawler mechanics, including movement and dungeon generation. /n
This repository is a port of the original project hosted at uheartbeast/3d-dungeon tailored for Godot 4.

DungeonCrawler は、Godot 4 の貴重な資産であり、移動やダンジョン生成などの基本的なダンジョン クローラー メカニズムを開発者に提供するように設計されています。 /n
このリポジトリは、uheartbeast/3d-dungeon でホストされている元のプロジェクトを Godot 4 用に移植したものです。

How to Run

  1. Incorporate “Global.gd” into the autoloader located at Game/Global.gd.
  2. Launch “World.tscn”.
1. Game/Global.gd にあるオートローダーに「Global.gd」を組み込みます。
2.「World.tscn」を起動します。

Dungeon Generation Guide

To generate a dungeon, utilize the tile map found at Game/Map/map.tscn.
Simply add any box to initiate the creation of a 3D dungeon cell (Game/cell/cell.tscn).

ダンジョンを生成するには、Game/Map/map.tscn にあるタイル マップを利用します。
任意のボックスを追加するだけで、3D ダンジョン セル (Game/cell/cell.tscn) の作成が開始されます。
Rebelion-Board-game/DungonCrawler: port https://github.com/uheartbeast/3d-dungeon for Godot4 と Google 翻訳

説明に書かれているように、プロジェクトの設定を行います。

Global.gd の自動読み込み

Rebelion-Board-game/DungonCrawler: port https://github.com/uheartbeast/3d-dungeon for Godot4」の説明に書かれているように、 Global.gd ファイルを自動読み込みに追加します。

Global.gd ファイルのパスをコピーします。
※ファイルシステムドックの Global.gd を右クリックして表示されるメニュー「パスをコピー」を選択します。

Godot プロジェクトの自動読み込みに追加するために Global.gd のパスをコピーします..

「プロジェクト設定」ウィンドウ「自動読み込み」タブを表示して、左上の「パス」テキストボックスに先ほどコピーした Global.gd ファイルのパスを貼り付けます。
※「プロジェクト設定」ウィンドウは、メニュー「プロジェクト」→「プロジェクト設定」で表示できます。

パスの隣にある「ノード名」テキストボックスにはファイル名と同じ Global と入力して右端の「追加」ボタンを押します。

Godot プロジェクトの自動読み込みにGlobal.gdのパスとそのノード名を追加しました..

以上で、 Global.gd ファイルを自動読み込みに追加できました。

エラー解消の確認

Rebelion-Board-game/DungonCrawler: port https://github.com/uheartbeast/3d-dungeon for Godot4」の説明のとおりに Global.gd ファイルを自動読み込みに追加したら、エラーが解消したか確認しましょう。

さきほどは、赤く表示されていた cell.gd, world.gd スクリプトの Global という識別子が、赤くない文字色に変わりました。
エディタを再起動すると、エラーメッセージも表示されません

Godot エディタにインポート後に発生した Global に関するエラーが解消しました...

テスト

Rebelion-Board-game/DungonCrawler: port https://github.com/uheartbeast/3d-dungeon for Godot4」の説明のとおり、メインのシーンを World に切り替えます。

ファイルシステムドックで World.tscn ファイルをダブルクリックして、編集中のシーンを World に切り替えます。
※メインシーンは他にも「プロジェクト設定」ウィンドウで設定できます。

Godot プロジェクトにいれたDungeonCrawler3DのメインシーンWorldを開きます.

エディタの右上の「再生」ボタンまたは F5 キーを押すと、メインのシーンを実行します。

Godot プロジェクトにいれたDungeonCrawler3DのメインシーンWorldを開いた状態でプロジェクトを実行します.

メインのシーンを設定していない場合は、現在編集中のシーンをメインにするかをたずねるダイアログが表示されるので「現在のものを選択」ボタンを押します。

Godot プロジェクトにメインシーンを設定しないで実行した場合は現在のものを選択します(メインシーンに設定されます).

DungeonCrawler3D のプロジェクトが実行されて、照明が反射する通路の壁が表示されました。

Godot プロジェクトにいれたDungeonCrawler3Dのメインシーンの実行結果.
Godot プロジェクトにいれたDungeonCrawler3Dのメインシーンの実行結果2.

矢印キーで回転、前進、後退ができました。

まとめ

今回は、無料で軽快なオープンソースのゲームエンジン GodotEngine4Godot Asset Library で公開されている、ウィザードリィ風の 3D ダンジョンを移動することができる無料のテンプレートアセット「DungeonCrawler3D」の導入、設定、実行までの手順を紹介しました。

次回は、ダンジョンの形をタイルマップを使って編集(通路の追加)します。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました