設定
このアセットにはライセンスマネージャーが付属しています。すぐにワールドに追加して試すことができますが、ワールドを公開するには、ライセンスマネージャーで製品ライセンスを認証する必要があります。
Spin Bottle Game は、同じ発想から作られた 2 つの独立したバージョン として提供されます。1 つのプレハブの 2 つのモードではなく、それぞれが専用のゲームコントローラースクリプト、専用のプレハブ、そしてほぼ専用のスクリプト一式を持っています。
- Normal —
SB_SpinBottleGame。プレイヤーの参加・ロック管理が追加されます。プレイヤーはゲームに参加してからでないと回せず、ゲームをロックして新規参加を止めることもできます。 - Lite —
SBL_SpinBottleGame。参加のステップはなく、誰でもいつでもボトルをクリックしてすぐに回せます。
| 機能 | Normal | Lite |
|---|---|---|
| 文章テーブル、スピンアニメーション、Pastebin での取得 | ✅ | ✅ |
| ボトルとのインタラクション | ✅(共有スクリプト) | ✅(共有スクリプト) |
| プレイヤーリスト(参加・退出・ロック) | ✅ | ❌ |
| 「オーナー」の役割(ロック/リセット/再抽選を制御) | ✅ | ❌ |
| ゲームメニュー・プレイヤーパネルのテーマ設定 | ✅ | ❌ |
| リセットボタン | ✅ | ❌ |
Normal にしかない項目は、プレイヤー管理 ページと UI 設定 ページで解説しています。ここから先の内容は、どちらのバージョンにも当てはまります。
一般設定
Sentence Delay(デフォルト:2): ボトルのスピンアニメーションが再生されてから、着地した文章が公開されるまでの秒数です。この値はスピンアニメーションのクリップの長さに合わせることを意図しています。ボトルのアニメーションを変更した場合を除き、変更しないでください。変更すると、アニメーションが実際に終わる前(または終わってからかなり経ってから)に文章が公開されてしまいます。
文章の取得
Pastebin から独自の文章リストを読み込むことができるため、VRChat ワールドを再アップロードすることなく、インターネット経由でゲームのテキストを更新できます。
- リストを作成する: Pastebin にアクセスし、使用したい文章を 1 行ずつ含む新しいペーストを作成します。
- Raw リンクを取得する: 保存したら、Pastebin ページの Raw ボタンをクリックします。
- URL をコピーする: ブラウザのアドレスバーから URL をコピーします(
https://pastebin.com/raw/...のような形式になります)。 Sentences List Url: この raw URL をここに貼り付けます。Reload Delay(デフォルト:300): Pastebin を再取得するまでの待機秒数です。ワールドを再アップロードせずにリストを更新できます。たとえば600に設定すると 10 分ごとに再取得します。
テーブルの各座席には、ダウンロードしたリストからランダムに選ばれた文章が表示されます。スピンによってある座席の文章が公開されると、その座席は次に誰かが回したときに新しいランダムな文章で埋め直されます。その際、テーブルの他の場所にすでに表示されている文章とはできるだけ重複しないようにしますが、リストが小さすぎて重複を避けられない場合は、任意のランダムな文章にフォールバックします。
テーブルサイズ(SB_Config)
PLAYER_CAPACITY は、テーブルの座席(文章)の数を決める定数で、共有の SB_Config スクリプトに定義されており、両方のバージョンが同じように参照します。
PLAYER_CAPACITY(デフォルト:8): テーブルの座席(文章)の数です。Inspector には 公開されていません —SB_Configスクリプトを開き、ファイル内で直接値を変更してください。
Normal バージョンでは、参加したプレイヤーが 1 人につき 1 席を占めるため、この同じ定数がゲームに参加できるプレイヤーの上限も兼ねています。詳しくはプレイヤー管理ページの プレイヤー数の上限 を参照してください。Lite バージョンには参加のステップがないため、この数値は純粋にテーブルの座席数を表すだけです。
SB_Config は物理的には NormalVersion/Scripts/ 以下にありますが、名前空間を持たないため、Lite バージョンからも参照できます。Lite バージョンしか使わない場合でも、この定数はそのフォルダ内にあります。
上級者向け: 各座席は、ゲームコントローラーの Animation ヘッダー下にある Clips 配列の 1 エントリを、割り当てられた Anim(Animator)で再生します。クリップのインデックス i は文章スロット i に対応します。これらは同梱のプレハブですでに配線済みです。座席数が異なるカスタムテーブルを作る場合にのみ変更してください。