Godot
このページは英語から翻訳されています。内容に相違がある場合は、英語のページが正しい内容です。 英語のページを読む
Godot には 2 つの言語があり、Lingara にはそれぞれ用のキットがあります。GDScript のゲームは Lingara アドオンを使います。Godot の C# のゲームは、Unity のゲームと同じパッケージである Lingara.Embed を使います。1 つのプロジェクトではどちらか一方を使い、両方を使うことはありません。以下のタブでそれぞれを示します。
インストール
GDScript. Godot Asset Library から Lingara アドオンをインストールし、Project Settings の Plugins で有効にします。有効にすると Lingara という名前のオートロードが追加され、すべてのシーンから /root/Lingara で参照できます。
C#. Lingara.Embed をパッケージ参照としてプロジェクトに追加します。以下のサンプルノード LingaraEmbedNode はパッケージには含まれていません。そのソースをプロジェクトに追加し、シーンに配置してください。
サーバーからトークンを取得する
どちらのキットもシークレットを保持しません。コアがトークンを必要とすると、あなた自身のサーバーに要求し、サーバーは サーバーキット でトークンを発行して、トークンとその有効期限を返します。
アドオンでは、Project Settings でサーバーのトークンルートを設定すると、Lingara が専用のスレッドでそれを呼び出します。ルートにプレイヤーのセッションが必要な場合は、プロジェクト設定はエクスポートに含まれて配布されるため、代わりに実行時に設定してください。あるいは token_needed に接続し、各要求に自分で応答します。C# では、クライアントがトークンを要求するたびに、サンプルノードがトークンルートに POST します。いずれの場合も、失敗は token_unavailable または TokenUnavailable で報告してください。そうすれば、待機中の呼び出しがただちに失敗します。
毎フレームイベントを処理する
コアはネットワーク I/O を専用のスレッドで実行します。アドオンのオートロードはフレームごとに 1 回それを空にし、イベントごとに 1 つのシグナルを発行するため、ゲームに必要なシグナルを接続するだけでよく、自分で何かを取り出す必要はありません。C# ノードは _process の中で、1 フレームあたり最大 256 イベントを取り出し、それぞれを Godot シグナルとして再発行します。
同じシグナルで、ストリーミングされる NPC の返答(NPC との会話 を参照)と練習の更新(練習の結果 を参照)も届きます。
<PackageReference Include="Lingara.Embed" Version="0.1.0-alpha.6" />