レシピ・材料
材料とレシピはJSONで管理しています。初期ファイルは次の場所にあります。
Assets/Knoll_Core/CocktailSystem/IngredientData.jsonAssets/Knoll_Core/CocktailSystem/RecipeData.json
表示名は日本語と英語を持てます。ワールド内の表示は SystemManager の 表示言語/Language に従います。レシピの判定は表示名ではなく id で行います。
材料データ
IngredientData.json は配列です。各材料は次の形式です。
{
"id": "gin",
"name": {
"jp": "ジン",
"en": "Gin"
},
"color": [225, 245, 254],
"hasBubbles": false
}
| 項目 | 内容 |
|---|---|
id | 材料ID。英小文字と _ で書きます。レシピの材料指定・判定キーと完全一致させます |
name.jp | 日本語の表示名 |
name.en | 英語の表示名 |
color | 液体色(RGB、0〜255) |
hasBubbles | 炭酸の有無 |
初期収録の材料は次の15種です。
| id | 日本語 | 英語 | 炭酸 |
|---|---|---|---|
gin | ジン | Gin | なし |
vodka | ウォッカ | Vodka | なし |
white_rum | ホワイトラム | White Rum | なし |
tequila | テキーラ | Tequila | なし |
brandy | ブランデー | Brandy | なし |
triple_sec | ホワイトキュラソー | Triple Sec | なし |
blue_curacao | ブルーキュラソー | Blue Curacao | なし |
peach | ピーチ | Peach | なし |
lime_juice | ライムジュース | Lime Juice | なし |
lemon_juice | レモンジュース | Lemon Juice | なし |
orange_juice | オレンジジュース | Orange Juice | なし |
grapefruit_juice | グレープフルーツジュース | Grapefruit Juice | なし |
cranberry_juice | クランベリージュース | Cranberry Juice | なし |
soda_water | ソーダ水 | Soda Water | あり |
tonic_water | トニックウォーター | Tonic Water | あり |
ボトルのインスペクターで液体色や炭酸を変えると、このJSONにも書き戻されます。id と name はボトル側からは変わりません。
材料を追加するときは、JSONに項目を足したあと、既存のボトルを複製し、液体名でその材料を選んでください。液体は最大4種類まで同時に扱えます。
レシピデータ
RecipeData.json は配列です。各レシピは次の形式です。
{
"key": "orange_juice-vodka",
"name": {
"jp": "スクリュードライバー",
"en": "Screwdriver"
},
"ingredients": [
{"id": "vodka", "ratio": 1},
{"id": "orange_juice", "ratio": 3}
],
"color": [255, 180, 90],
"progress": 1.0,
"method": "build"
}
| 項目 | 内容 |
|---|---|
key | 判定用キー。使った材料の id をUnicode順に並べ、- でつなぎます |
name.jp | 日本語のカクテル名 |
name.en | 英語のカクテル名 |
ingredients | 材料の id と比率。id は材料JSONと完全一致させます |
color | 完成時の液体色(RGB、0〜255) |
progress | 目標の攪拌率。1.0 で完全に混ざった状態です |
method | 作成方法。build(ビルド)または shaker(シェーカー) |
- 材料は最大4種類を推奨します。
keyは材料のidをソートして連結した文字列です。表示名ではありません。例:ウォッカとオレンジジュースならorange_juice-vodka。ingredientsの並び順とkeyの順は同じでなくて構いません。key側だけソートされます。idの大文字小文字、_、綴りは区別されます。- 配列の末尾にある失敗用レシピ(
key:failed)は削除しないでください。どのレシピにも当てはまらない組み合わせは、この失敗結果になります。 - タブレットのドロップダウンには、末尾の失敗用レシピ以外が表示されます。
収録レシピ一覧
初期の RecipeData.json には、45種のカクテルと1種の失敗結果が入っています。
| カクテル名 | 作成方法 | 材料(比率) |
|---|---|---|
| スクリュードライバー | ビルド | ウォッカ 1 / オレンジジュース 3 |
| ブルドッグ | ビルド | ウォッカ 1 / グレープフルーツジュース 3 |
| ウォッカトニック | ビルド | ウォッカ 1 / トニックウォーター 3 |
| ウォッカソーダ | ビルド | ウォッカ 1 / ソーダ水 3 |
| ケープコッダー | ビルド | ウォッカ 1 / クランベリージュース 3 |
| ウォッカギムレット | シェーカー | ウォッカ 3 / ライムジュース 1 |
| シーブリーズ | ビルド | ウォッカ 1.5 / グレープフルーツジュース 2 / クランベリージュース 2 |
| マドラス | ビルド | ウォッカ 1.5 / オレンジジュース 2 / クランベリージュース 2 |
| ブルーラグーン | シェーカー | ウォッカ 2 / ブルーキュラソー 1 / レモンジュース 1 |
| カミカゼ | シェーカー | ウォッカ 2 / ホワイトキュラソー 1 / ライムジュース 1 |
| バラライカ | シェーカー | ウォッカ 2 / ホワイトキュラソー 1 / レモンジュース 1 |
| コスモポリタン | シェーカー | ウォッカ 2 / ホワイトキュラソー 1 / クランベリージュース 2 / ライムジュース 1 |
| セックス・オン・ザ・ビーチ | シェーカー | ウォッカ 1.5 / ピーチ 1 / オレンジジュース 2 / クランベリージュース 2 |
| ジントニック | ビルド | ジン 1 / トニックウォーター 3 |
| オレンジブロッサム | ビルド | ジン 1 / オレンジジュース 3 |
| ギムレット | シェーカー | ジン 3 / ライムジュース 1 |
| ジンサワー | シェーカー | ジン 3 / レモンジュース 1 |
| ジンフィズ | シェーカー | ジン 1.5 / レモンジュース 1 / ソーダ水 3 |
| ジンリッキー | ビルド | ジン 1.5 / ライムジュース 1 / ソーダ水 3 |
| ホワイトレディ | シェーカー | ジン 2 / ホワイトキュラソー 1 / レモンジュース 1 |
| ピーチフィズ | シェーカー | ジン 1 / ピーチ 1 / レモンジュース 1 / ソーダ水 3 |
| ラムオレンジ | ビルド | ホワイトラム 1 / オレンジジュース 3 |
| ラムトニック | ビルド | ホワイトラム 1 / トニックウォーター 3 |
| ダイキリ | シェーカー | ホワイトラム 3 / ライムジュース 1 |
| ブルーハワイ | シェーカー | ホワイトラム 2 / ブルーキュラソー 1 / オレンジジュース 2 / レモンジュース 1 |
| XYZ | シェーカー | ホワイトラム 2 / ホワイトキュラソー 1 / レモンジュース 1 |
| ピーチダイキリ | シェーカー | ホワイトラム 2 / ピーチ 1 / ライムジュース 1 |
| テキーラトニック | ビルド | テキーラ 1 / トニックウォーター 3 |
| テキーラサンライズ | ビルド | テキーラ 1 / オレンジジュース 3 |
| テキーラサワー | シェーカー | テキーラ 3 / レモンジュース 1 |
| パロマ | ビルド | テキーラ 1.5 / グレープフルーツジュース 3 / ソーダ水 1.5 |
| マルガリータ | シェーカー | テキーラ 2 / ホワイトキュラソー 1 / ライムジュース 1 |
| ブルーマルガリータ | シェーカー | テキーラ 2 / ブルーキュラソー 1 / ライムジュース 1 |
| ピーチマルガリータ | シェーカー | テキーラ 2 / ピーチ 1 / ライムジュース 1 |
| ブランデーソーダ | ビルド | ブランデー 1 / ソーダ水 3 |
| ブランデーサワー | シェーカー | ブランデー 3 / レモンジュース 1 |
| サイドカー | シェーカー | ブランデー 2 / ホワイトキュラソー 1 / レモンジュース 1 |
| ブルーサイドカー | シェーカー | ブランデー 2 / ブルーキュラソー 1 / レモンジュース 1 |
| ファジーネーブル | ビルド | ピーチ 1 / オレンジジュース 3 |
| ピーチソーダ | ビルド | ピーチ 1 / ソーダ水 3 |
| ピーチトニック | ビルド | ピーチ 1 / トニックウォーター 3 |
| レゲエパンチ | シェーカー | ピーチ 1.5 / オレンジジュース 2 / クランベリージュース 2 |
| ブルーオレンジ | ビルド | ブルーキュラソー 1 / オレンジジュース 3 |
| ブルートニック | ビルド | ブルーキュラソー 1 / トニックウォーター 3 |
| チャイナブルー | ビルド | ブルーキュラソー 1 / グレープフルーツジュース 3 / トニックウォーター 2 |
| 失敗したカクテル | (未マッチ時) | なし |
レシピの追加手順
IngredientData.jsonに、使う材料のidがあることを確認します。なければ追加します。RecipeData.jsonの失敗用レシピの手前に、新しいレシピを追加します。ingredientsには材料のidと比率を書きます。keyは、使う材料のidをソートして-でつなぎます。nameにjpとenを書きます。methodをbuildまたはshakerにします。- SystemManagerのレシピJSON指定が、編集したファイルになっていることを確認します。
- Playして、タブレットに新しいカクテル名が出ることと、実際に作って判定されることを確認します。
確認ポイント
JSONを編集したあと、意図と違う動きをしたときは次を確認してください。
材料名やカクテル名が出ないとき
- JSONの形式(配列、カンマ、括弧)が崩れていないか
- 材料JSONとレシピJSONの
idが完全に一致しているか name.jpとname.enの両方が入っているか
「失敗したカクテル」と判定されるとき
keyが、実際に入れた材料のidをソートして-でつないだ文字列と一致しているか(表示名ではありません)- レシピに書いていない材料が混ざっていないか(混ざると別のキーになり、失敗扱いになります)
- 末尾の失敗用レシピを消していないか
ボトルを傾けても液体が出ないとき
- 「Use」してキャップが開いているか
- ボトルの液体パーティクル参照が外れていないか
- シーンに
CocktailSystemPrefab(SystemManager)があるか