Godot Mono(.NET)版のインストール
以前Godotのインストールを記載した記事にて、Mono版をインストールしました。もしまだの人や、Godotの通常版(GDScript版)しかない人はインストールしてください。
さて前回の記事では、ノベルゲームに適したアドオン選定をしました。ここからはノベルゲームプロジェクトを進めていきます。
会話プロジェクトの新規作成
まずはプロジェクトを新規作成します。プロジェクトマネージャの[作成]で、プロジェクト名に任意の名前(ここでは”FirstChat”)を入力します。
作成して編集ボタンを押して、出てきたメインウィンドウで[2Dシーン]を選択し、Node2Dをメインとします。
Godot-Inkはアセットライブラリで提供されていますので、下記の[AssetLib]をクリックします。
下記の検索欄のところで、”Ink”と入力してリターンを押すと、検索結果にヒットした一覧がでます。「Ink」と書いてあるツールがそうですね。
クリックすると下記の画面になるので、ダウンロードを選択します。
すると「インストール前にアセットを設定」するチャンス画面が出ました。
res://というのはプロジェクトファイルを作ったフォルダでしたね。
まあ今回はそのままでいいのでそのまま[インストール]を押します。
正常に終了したようです。
エクスプローラーで見ても、プロジェクトファイルと同じ場所に addon ができてますね。
README.mdの確認と実施
新しいものをインストールしたときは、まずREADMEを読むべきです。
\addons\GodotInk\README.md にあるので読んでみましょう。
# GodotInk
An [ink](https://github.com/inkle/ink) integration for [Godot Engine 4](https://github.com/godotengine/godot).
If you use and like this project, please consider buying me a coffee.
[![ko-fi](https://img.shields.io/badge/support_me_on_ko--fi-ff5e5b?style=for-the-badge&logo=kofi&logoColor=f5f5f5)](https://ko-fi.com/E1E53SKZF)
ulloz/godot-ink/wiki).
これはGithubの場所の情報ですね。あと、このプロジェクトが気にいったら私にコーヒーをおごってね、というコメントですね(貴重なGodot開発者なので是非応援してあげましょう)。
## Usage
You'll find a quick-start guide, and the general documentation on the project's
[wiki](https://github.com/paulloz/godot-ink/wiki).
クイックスタートガイドなるWikiが用意されているようです。いったんそのまま進めてみて、何かわからないことがあったら参照するようにしましょう。
### Installation
The following instructions assume that you have a working Godot and .NET installation. If not, please refer to the
official [engine documentation](https://docs.godotengine.org/).
1. [Download](https://github.com/paulloz/godot-ink/releases/latest) and extract the code at the root of your project.
You should see a new `addons/GodotInk/` folder in your project's directory.
1. Add the following line in your `.csproj` file (before the closing `</Project>` tag).
```xml
<Import Project="addons\GodotInk\GodotInk.props" />
```
If you don't have a `.csproj` file, click the **Create C# Solution** button in the editor's
**Project/Tools** menu.
1. Build your project once.
1. Enable **GodotInk** in your project settings.
## License
*GodotInk* is released under MIT license (see the [LICENSE](/LICENSE) file for more information).
インストール手順書みたいなやつですね。ここが重要です。なぜか全てのステップが「1.」になっていますが人間だものミスはあります。まず1つ目の手順では、ダウンロードして’addons/GodotInk’フォルダができることを確認するとあります。ここまでは今ちょうど終わったところですね。
次のステップで、「.csproj」というファイルで、<Project>~</Project>で挟まれている情報の最後に、下記の1行を追記しろとあります。また、もし「.csproj」というファイルがない場合は、[Project]の[Tools]メニューに、[Create C# Solution]ボタンがあるので、それをクリックして作ってね、といってますね。
<Import Project="addons\GodotInk\GodotInk.props" />
まず、「.csproj」というファイルがあるか探してみます。addonsフォルダと同列のフォルダにあるはずですが・・・・。
ありませんでした。csというのは「C Sharp」の略でC#のことなんですよね。いまMono版を使ってはいますが、C#を使いますよという設定はしてないので、ないような気がします。なので、README書いてあったボタンを探してみると・・・。
ありました。
READMEをみておいてよかったと天を仰ぎます。これ気づいてなくてはまると、普通に数時間案件ですからね。さっそくポチります。
え?失敗しました。
まじか・・・。しかしこれくらいでへこたれる私ではありません。
私の空手は後退のネジを外しているのです。(注:空手ではありません)
ネットで探すと、どうもこのファイルを作成するときに、.NET 6 のSDKを参照しにいっているらしいです。で、そのSDKが見当たらないとこういうことがおこるらしい。SDKがないのが原因か確かめる方法はあります。Windowsのアプリ検索で「dos」と打ち込んで、出てきた「コマンドプロンプト」を起動して下記のコマンドで確かめてみます。
C:\Users\XXXXXX> dotnet --info
(省略)
.NET SDKs installed:
No SDKs were found.
.NET runtimes installed:
Microsoft.NETCore.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Download .NET:
https://aka.ms/dotnet-download
Learn about .NET Runtimes and SDKs:
https://aka.ms/dotnet/runtimes-sdk-info
「.NET SDKs installed:」のところに、”No SDKs were found” となっていますね。つまりSDKが見つからなかったと。これが原因ぽいです。
.NET SDK 8 のインストール
現在のGodotバージョンが4.3なので、それに対応する.NET SDKのバージョンは何か探していると、下記にたどり着きました。
Compiling with .NET — Godot Engine (stable) documentation in English
関連する箇所だけ抜粋します。
「Requirements」のところに、「.NET SDK 8.0+」とありますので、8.0 を入れましょう。
下記のサイトからDLできます。
.NET のダウンロード (Linux、macOS、Windows) (microsoft.com)
DLした dotnet-sdk-8.0.401-win-x64.exe を実行します。
またこれがでてきますが「インストールする」で進みます。
インストーラが起動しますので、「インストール」を押します。「このアプリがデバイスに変更を加えるのを許可しますか?」的なポップアップも出てきますが、それも「はい」で進みます。
下記の正常終了画面がでれば成功です。
さて、再び「Create C# solution」のボタンを押してみましょう。
どうだ・・・・・・!
ダメです。まだ何かご不満の様子。いいですね。簡単に解決してしまってはつまらないですからね。これぐらい歯ごたえがあるとうれしくなりますね(←強がり)。
念のため、正しく .NET SDK 8がインストールされたのか確認します。
(というかインストール直後にやっておくべきでしたけど)
C:\Users\XXXXXX>dotnet --info
.NET SDK:
Version: 8.0.401
Commit: 811edcc344
Workload version: 8.0.400-manifests.b6724b7a
MSBuild version: 17.11.4+37eb419ad
.NET SDKs installed:
8.0.401 [C:\Program Files\dotnet\sdk]
正しくインストールされて認識されてますね。では何がダメだったのか。
Godotさん!何が気にいらなかったのですか!
え?SDKまだ見つかってない状態ですけど・・・?
・・・謎はすべてとけました。おそらくこの子はまだ.NET SDK 8が先ほどインストールされたことを知らないアホの子なのでしょう。おそらく、Godotは起動時に.NET SDK の情報をWindows OSから読み取って、それをエンジン内に保存してるんでしょうね。つまり、もう一度アプリ起動処理を動かしてやらないと、.NET SDK の情報を読み直さないのではないかと。
というわけで、Godotエンジンを一度終了して、再度起動し直します。
で、再びチャレンジ・・・
成功。できました。成功しましたの表示は何も無かったですが、エラーなく終了しました。
「.csproj」ファイルができたか見てみます。
「FirstChat.csproj」がありますね。これでゲームクリア!・・・じゃなかった。いろいろやってて軽い記憶喪失になってましたが、やりたかったのはこのファイルの編集でした。READMEに従って、このファイルを(なんでもいいので)好きなテキストエディタで開いて下記の1行(赤い太字)追加します。
<Project Sdk="Godot.NET.Sdk/4.3.0">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework Condition=" '$(GodotTargetPlatform)' == 'android' ">net7.0</TargetFramework>
<TargetFramework Condition=" '$(GodotTargetPlatform)' == 'ios' ">net8.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
<Import Project="addons\GodotInk\GodotInk.props" />
</Project>
README.mdの確認と実施(つづき)
「.csproj」ファイルへの修正が終わったら、あと残りは下記2つのステップです。
1. Build your project once.
1. Enable **GodotInk** in your project settings.
1回ビルドしろとありますのでボタンを探します。どれだどれだ・・・。
実行のすぐそばのこのハンマーみたいなやつですね。
押すと、「Building Your Project …」というインジケータが表示され、しばらくすると消えます。成功したのかどうかよくわかりませんが、エラーだと何か表示されると思うので、きっとできているのでしょう。(と信じたい)
続いて、最後のステップですね。
1. Enable **GodotInk** in your project settings.
Godotエンジンのメイン画面の、[プロジェクト]→[プロジェクト設定]画面を開いて、下記の「プラグイン」タブをクリックします。
あとはこのチェックボックスの「有効」をオンにして、閉じます。
これで、このプロジェクトで、プラグインの Godot-Ink が使えるようになったはずです。
右下の底のところに、「Ink preview」というボタンがあり、ここを押すことで、「.ink」という拡張子の会話シナリオ(会話だけではないですが)を読み込めるようになっているのですね。
.inkファイルの作成や読み込みは、次回の記事で書く予定です。
それでは今日はこのへんで。
コメント