【無料】 素材集め&作成【VCC対応】







説明
素材の収集、グローバル同期されるインベントリ管理、そしてレシピに基づいたクラフト機能を持つ、汎用的なシステム。
前提 UdonSharp Unity(2022.3.22f1で確認)
①ダウンロードしたファイルを解凍 zipファイル を右クリック → 「すべて展開」 中にある unitypackage を取り出す。 ②Unityにインポート 自分のワールドプロジェクトを Unity で開く。 unitypackage をダブルクリック → 「Import」を選択。 ③ワールドに設置 ~.prefab を Hierarchy にドラッグ&ドロップ。 これでギミックがワールドに配置されます。 ④位置調整 「GatherNode」(採集ポイント)や「CraftingStation」(作業台)を任意の場所に配置。 「GatherUI」をプレイヤーが見やすい位置に配置。 ⑤アップロード 通常通りワールドをアップロードすればOK。
概要 GatherMaster.cs: システムの中枢です。全プレイヤーで共有される素材の所持数を管理します。 GatherUI.cs: 現在の素材所持数を表示するUIです。GatherMaster から情報を取得してテキストを更新します。
採集 GatherNode.cs: 木や岩などの採集ポイントです。特定の道具で叩かれた回数をカウントし、素材をドロップしたり、破壊演出やリスポーン処理を行います。 SimpleGatherSpot.cs: インタラクトするとで素材が手に入る、シンプルな採集ポイントです。小石や枝拾いなどに使います。 GatherToolHit.cs: 斧やピッケルなどの「道具」に付けます。これが GatherNode に当たると採集行動として判定されます。 RandomGatherSpawn.cs: 採集ポイントをランダムな位置に出現させるスポーナーです。毎回違う場所に素材が出るような仕組みを作れます。 GatherableItem.cs: 物理的に拾えるアイテムに付けます。回収ボックスに入れたりした際に、どの素材としてカウントするかを定義します。 GatherContainer.cs: GatherableItem を入れるための箱(納品ボックス)です。アイテムが入ると素材として回収し、アイテムを消去またはリスポーンさせます。 クラフト(Crafting) CraftingStation.cs: 作業台兼レシピです。レシピ(必要な素材と数)を定義し、条件を満たしていればアイテム(Prefab生成または既存オブジェクトのActive化)を作成します。 CraftingStationListUI.cs: 複数の CraftingStation(レシピ)を切り替えて表示・選択するためのUI管理スクリプトです。
補足 ・GatherMaster はシーンに1つだけ配置してください。これが素材の所持数を一括管理します。 ・GatherUI は複数配置可能です。場所ごとに表示したい素材を変えることもできます。 ・CraftingStation は「Reuse Existing」をONにすると、シーンに置いたオブジェクトをActive化する挙動になります。 ・同期は「Manual」設定になっています。採集やクラフトの結果は全員に同期されます。 ・デバッグログを見たい場合は各コンポーネントの「Enable Debug Log」をONにしてください。