[5]GodotにGodot-Inkをインストールして有効化

Godot
スポンサーリンク

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ファイルの作成や読み込みは、次回の記事で書く予定です。
それでは今日はこのへんで。

コメント

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