+
*
+
ココ先生
ゲーム開発の案内役
この記事では クラフトレシピと素材導線 を、読んで終わりにせず、CraftingRecipeDemo の小さな実装イメージまでつなげて案内します。
+
*
+
はじめちゃん
ゲームエンジン学習中
クラフトレシピと素材導線設計の基本 を読む前に、まずUnity のどこを見ればよいかを確認したいです。
今日は「クラフトレシピと素材導線」を、まず何が変わるのか、次に画面で何を見せるのか、最後にどの値を確認するのか、という順番で読んでいきます。
大きなテーマに見えますが、今日は「CraftingRecipeDemo」という小さな練習用の場面だけを作るのですね。何から始めればよいか分かりました。
材料を見るを表示、Craft Buttonで進める、足りない素材を示すを確認の流れを追えば、記事の内容を自分のプロジェクトへ移しやすくなります。

完成イメージ
クラフトレシピと素材導線の状態を分ける
材料を見る、足りない素材を示す、作成可能にする を別々の状態として扱い、今どの段階かを画面で確認できるようにします。
何を集めれば作れるかをUIで伝える
Console だけではプレイヤーには見えません。TextMeshPro や Slider に woodCount / stoneCount / craftableFlag を出して、判断材料を画面へ移します。
最小実装から広げる
まず CraftingRecipeDemo を動かし、その後に本物の入力、通信、戦闘、保存処理などへ置き換えると、原因を見失いにくくなります。
導入
素材が足りるレシピだけを作れる状態にします。料理で材料がそろったら、作るボタンが押せる仕組みです。
作るもの
Canvas に itemCount Text と craftButton を置きます。CraftRecipe に現在の木材数と必要数を登録します。
素材数でボタンを切り替える
[SerializeField] private Button craftButton; // 作成ボタン
[SerializeField] private TMP_Text materialText; // 素材の表示
void Refresh(){ materialText.text=$"木材 {wood}/{needWood}"; craftButton.interactable=wood>=needWood; }
作成時に素材を減らす
public void Craft(){ if(wood<needWood)return; wood-=needWood; Debug.Log("ポーションを作成"); Refresh(); }
完成版
using UnityEngine;using UnityEngine.UI;using TMPro;public class CraftRecipe:MonoBehaviour{[SerializeField]Button craftButton;[SerializeField]TMP_Text materialText;[SerializeField]int needWood=3;int wood=5;void Start(){Refresh();}public void AddWood(){wood++;Refresh();}public void Craft(){if(wood<needWood)return;wood-=needWood;Debug.Log("ポーションを作成");Refresh();}void Refresh(){materialText.text=$"木材 {wood}/{needWood}";craftButton.interactable=wood>=needWood;}}
最後に整理すると、クラフトレシピと素材導線でいちばん見失いやすい所はどこですか?
内部処理だけを追って、画面で伝える言葉を後回しにする所です。CraftingRecipeDemoでは、まずプレイヤーに見える変化を先に決めます。
流れは「材料を見るを表示」から始めて、「Craft Buttonで進める」で操作を入れる、と覚えればよいですか?
その通りです。その後に「足りない素材を示すを確認」で途中状態を見て、「作成可能にするで結果を見る」で結果を確認します。順番を固定すると、失敗した場所も見つけやすくなります。
つまり、いきなり完成システムにせず、状態名、表示、値の変化を小さくそろえるのですね。
はい。最後は「クラフトレシピと素材導線をわかりやすく考える」の考え方で、難しい処理をプレイヤーに伝わる短い合図へ置き換えられるか確認しましょう。
この記事のまとめ
素材を集めても次に何を作ればよいか迷わないように、レシピ表示、必要数、未発見要素の見せ方を整理します。
大きな違いを生むのは、派手な性能よりも 毎日触れる環境を無理なく整えること です。見やすい画面と使いやすい道具がそろうと、学習や次の一歩を決めやすくなります。