調べ終わりました。Check in も Undo も実行していません。 以下が仕分けです。 --- 置き場所と今の状態 /Users/shimazueiichi/Robotics_UX/Robotics_UX_New cs:135@Robotics_UX_New@studio_unity148@unity (head) ← 作業コピーは固定版そのもの Unity 2022.3.62f3 起動中(pid 2234) 37件の内訳=ファイル36件 + フォルダ1件(Assets/ServiceSim/Store。中の .cs を消したので Check-out 状態になっている)。 ほかに「置いてあるだけ(Private)」が13件あります。 --- A. 入れる(動きは変わらない) A-1 新しい形 ― 14件 ┌────────────────────────────────────┬─────────────────────────────────────┐ │ ファイル │ 理由 │ ├────────────────────────────────────┼─────────────────────────────────────┤ │ People/SeatedGuestBody.prefab │ PeopleSpawner.seatedBodyPrefab │ │ +meta │ が参照 │ ├────────────────────────────────────┼─────────────────────────────────────┤ │ Materials/Mat_BenchSeat.mat +meta │ BenchSeat.prefab が参照 │ ├────────────────────────────────────┼─────────────────────────────────────┤ │ Materials/Mat_BenchBack.mat +meta │ BenchBack.prefab が参照 │ ├────────────────────────────────────┼─────────────────────────────────────┤ │ Materials/Mat_RobotKeepout.mat │ KeepoutMark.prefab が参照 │ │ +meta │ │ ├────────────────────────────────────┼─────────────────────────────────────┤ │ Prefabs/BenchBack.prefab +meta │ StoreBuilder.benchBackPrefab │ ├────────────────────────────────────┼─────────────────────────────────────┤ │ Prefabs/BenchBody.prefab +meta │ StoreBuilder.benchBodyPrefab │ ├────────────────────────────────────┼─────────────────────────────────────┤ │ Prefabs/KeepoutMark.prefab +meta │ StoreBuilder.keepoutMarkPrefab │ └────────────────────────────────────┴─────────────────────────────────────┘ 入れないと、ほかの環境で参照が切れます。 A-2 消したもの ― 3件 - Store/PlaceNameLabels.cs / .cs.meta … guid 1eeca010… を参照している所はゼロ(old~ 側の .meta だけ)。安全に消せます。 - Assets/ServiceSim/Store(フォルダ)… 上の削除に連れて Check-out 状態。削除と一緒に入れてください。これが37件目です。 A-3 名札(Tag) ― 7件 ProjectSettings/TagManager.asset に SimRobot / SimStaff / SimGuest / SimSeatedGuest / SimBench / SimTable / SimChair を追加。 SimTags.cs 自身が「付けても NavMesh・センサー・人がよける処理・店の形の確かめは 変わらない」と書いていて、無い場合は警告だけ出して素通りする作りです。prefab 側の名札も同じ理由で入れます ― ServingRobot→SimRobot、Staff→SimStaff、Guest/WaitingGuest→SimGuest、BenchSeat→S imBench、Chair→SimChair。 A-4 台本が増えた分の書き足し ― 値はぜんぶ C# の既定どおり ファイル: Robot/RobotSpec.asset 増えた行: followSiteRoutes 1 / waypointReachDistance 0.25 / routePointSnapM 0.1 既定との一致: RobotSpec.cs:153,156,161 と一致 ──────────────────────────────────────── ファイル: Service/ServiceSpec.asset 増えた行: arrivalsPerHour 0 / rescueSec 15 / maxExtraMin 600 既定との一致: ServiceSpec.cs:24,27,30 と一致 ──────────────────────────────────────── ファイル: Store/StoreLayout_Grid.asset 増えた行: showFloorPaint 1 / floorPaintCellSize 0.05 / floorPaintHeight 0.03 既定との一致: StoreLayout.cs:48,51,54 と一致 ──────────────────────────────────────── ファイル: Store/StoreLayout_p5_crammed.asset 増えた行: benchBackThickness 0.08 / keepoutMarkThickness 0.02(消えた benchSeatPadThickness は台本から無くなった項目) 既定との一致: JsonStoreLayout.cs:47,54 と一致 ──────────────────────────────────────── ファイル: People/{Staff,Guest,WaitingGuest,SeatedGuest}.prefab 増えた行: kind、standingSpeed 0.1、Head(見た目だけ・当たり判定なし)が1つずつ増えた 既定との一致: kind は Staff=0 / Guest=1 / Waiting=2 / Seated=3 で全部正しい ──────────────────────────────────────── ファイル: Robot/ServingRobot.prefab 増えた行: ops: {fileID: 0}(場面で差し込む欄) 既定との一致: — arrivalsPerHour は 0 なので ServiceSpec.cs:128 の if (arrivalsPerHour > 0) が通らず、arrivalsPerHourByCrowd(25/35/45)がそのまま効きます。サイトの「1時間 あたりの組数」は入っていません。 A-5 見た目だけ ― 1件 Materials/Mat_PeopleFloor.mat … 色が黄 (1, 0.9, 0.35, 0.45) → 青 (0.13, 0.45, 0.72, 0.55)。 --- ⚠ 通路幅 0.95 について(ご指示の前提がずれています) StoreLayout_p5_crammed.asset の通路幅 0.95 は cs:135 にすでに入っています。 cs:135 の中身 aisleWidthOptions: [0.95] / aisleWidthIndex: 0 いまの作業コピー 同じ(差分に出ていません) サイトの JSON Layouts/p5_crammed.json → aisles[].width = 0.95(A01/A02/A03 すべて) 一致したままなので、「入れる」作業は要りません。 このファイルの保留中の差分は A-4 の2項目だけです。 --- B. 元に戻す(2件) B-1 ProjectSettings/NavMeshAreas.asset New Agent が 30個増えています。全部 radius 0.5 / height 2 の既定値で、この店が使う 0.25 / 1.2 とは無関係です。 出どころは Store/NavMeshBaker.cs:150 の NavMesh.CreateSettings()。_peopleTypeId は場面に保存されない欄なので、Editor を開き直すたびに1つずつ ProjectSettings に溜まります。 戻しても次に焼いたとき作り直され、People/PeopleNav.cs:61 が走るときに付け替えるので動きは変わりません。 (serializedVersion 2→3 と accuratePlacement→buildHeightMesh は Unity 2022.3 の書き方なので、戻してもまた出てきます) ▎ このままだと回すたびに増え続けます。NavMeshBaker ▎ 側を直す話は段階Bの外なので、別件として置いておきます。 B-2 Store/StoreLayout_Family.asset ― 3つだけ戻す ┌───────────────────────────────┬─────────────────┬─────────────────┐ │ 項目 │ cs:135 │ いま │ ├───────────────────────────────┼─────────────────┼─────────────────┤ │ aisleWidthIndex │ 2(通路 1.2 m) │ 1(1.0 m) │ ├───────────────────────────────┼─────────────────┼─────────────────┤ │ deliveryOffsetFromAisleCenter │ 0.15(卓寄り) │ 0(通路の中央) │ ├───────────────────────────────┼─────────────────┼─────────────────┤ │ benchDepth │ 0.45 │ 0.55 │ └───────────────────────────────┴─────────────────┴─────────────────┘ 出どころは Experiment/ExperimentRunner.cs:235 の layout.aisleWidthIndex = job.aisleWidthIndex; と :244 の deliveryOffset 上書き。:1038 で元に戻す作りです が、途中で止めると残ります。ご指摘の「回したときに入った値」そのものです。 ほかの差分(wallTableSize・registerQueueCount・robotStandby*・drinkBar* 追加、northWallTableCount/southWallTableCount/wallTableDepthZ 削除)は台本の作り直しに伴う書き換えなので入れていいものです。 → ファイル丸ごと戻すと新しい項目も消えるので、Inspector で上の3つだけ直して保存をおすすめします。 --- C.「Check-out を外すだけ」 ― 該当なし。代わりに「中身が同じ Changed」が3件 prefab に中身が変わっていない Check-out は1件もありませんでした(Check-out 15件は全部、中身も違っています)。代わりに、Check-out されていないのに一覧に出ている=中身は cs:135 と1バイトも同じものが3件あります。 ┌─────────────────────────────────┬─────────────────────────────────────────┐ │ ファイル │ 確認 │ ├─────────────────────────────────┼─────────────────────────────────────────┤ │ Experiment/ExperimentPlan.asset │ cs:135 と完全一致。showKitchenMonitor: │ │ │ 1 ✓ │ ├─────────────────────────────────┼─────────────────────────────────────────┤ │ People/PeopleSpec.asset │ cs:135 と完全一致。staffFirstYield: 0 ✓ │ ├─────────────────────────────────┼─────────────────────────────────────────┤ │ Materials/Mat_RobotFloor.mat │ cs:135 と完全一致 │ └─────────────────────────────────┴─────────────────────────────────────────┘ ご指定の3つの旗はすべて正です ― staffFirstYield: 0(off)、oneRobotPerAisle: 1(on/RobotSpec.asset:42)、showKitchenMonitor: 1(on)。 この3件は Undo changes で一覧から消すだけで、中身は何も変わりません。 --- D. Unity の管理の外に出す .git/index 1件だけの話ではありません。.git の中身17件が Unity VCS の管理に入っています。 .git, .git/COMMIT_EDITMSG, config, description, FETCH_HEAD, HEAD, hooks, index, info, objects, ORIG_HEAD, packed-refs, refs, logs, .DS_Store, ORIG_HEAD.private.0, index.private.0 ← 最後の2つは残骸 原因は ignore.conf に .git の行が無いことです(Library / Temp / Logs などは入っています)。 置いてあるだけ(Private・入れない)13件 - .git/objects/14,1b,48,92,e2 … 6件 → .git ごと ignore に - Assets/ServiceSim/Store/old~/ … 5件。Unity は ~ で終わるフォルダを無視するので置いたままで平気ですが、Unity VCS には出続けるので ignore に足すときれいです - Materials/Mat_MonitorBoard.mat / .meta(3時間前)… どこからも参照されていません(guid b9646524… の参照ゼロ、KitchenMonitor.cs も材質を持たない)。孤児なので入れず、置くか消すかだけ --- E. 判断が必要 ― Scenes/ServiceSim_Family.unity ここが一番大きいです。 cs:135 : 22.9 KB / GameObject 12個(Store・ServiceSim・Robots・Experiment・Cameras・People・Lighting の入れ物だけ) いま : 1,846.3 KB / GameObject 912個 E-1 入れたい分 ― 場面の配線 cs:135 に無かった部品が5つ増えて、ちゃんと繋がっています ― ServiceOps / GroupManager / JamWatcher / KitchenMonitor / ExperimentRunner。 あわせて PeopleSpawner に seatedBodyPrefab が付き crowd 欄が GroupManager 側へ移動、StoreBuilder に bench系/keepout の prefab と robotFloorMaterial・peopleFloorMaterial、NavMeshBaker に peopleRadius 0.2・registerBackArea 3。 E-2 入れたくない分 ― 3つ (a) 建てた店が焼き付いている … 912個(卓42・ベンチ228・座った客140・椅子8 ほか)。StoreBuilder.Build() は冒頭 :257 で Clear() して全部作り直すので、入れても意味がなく、1.8 MB が台帳に残って以後の差分が読めなくなります。 (b) layout の指す先が入れ替わっている StoreBuilder.layout : StoreLayout_Family → StoreLayout_p1_efficient_corner NavMeshBaker.layout : StoreLayout_Family → StoreLayout_p1_efficient_corner ServiceSim_Family の場面なのに p1 を指しています。 (c) 回した跡が残っている … ExperimentRunner に runLabel: site_v5 _queue: cs:135 の中身 aisleWidthOptions: [0.95] / aisleWidthIndex: 0 いまの作業コピー 同じ(差分に出ていません) サイトの JSON Layouts/p5_crammed.json → aisles[].width = 0.95(A01/A02/A03 すべて) 一致したままなので、「入れる」作業は要りません。 このファイルの保留中の差分は A-4 の2項目だけです。 --- B. 元に戻す(2件) B-1 ProjectSettings/NavMeshAreas.asset New Agent が 30個増えています。全部 radius 0.5 / height 2 の既定値で、この店が使う 0.25 / 1.2 とは無関係です。 出どころは Store/NavMeshBaker.cs:150 の NavMesh.CreateSettings()。_peopleTypeId は場面に保存されない欄なので、Editor を開き直すたびに1つずつ ProjectSettings に溜まります。 戻しても次に焼いたとき作り直され、People/PeopleNav.cs:61 が走るときに付け替えるので動きは変わりません。 (serializedVersion 2→3 と accuratePlacement→buildHeightMesh は Unity 2022.3 の書き方なので、戻してもまた出てきます) ▎ このままだと回すたびに増え続けます。NavMeshBaker ▎ 側を直す話は段階Bの外なので、別件として置いておきます。 B-2 Store/StoreLayout_Family.asset ― 3つだけ戻す ┌───────────────────────────────┬─────────────────┬─────────────────┐ │ 項目 │ cs:135 │ いま │ ├───────────────────────────────┼─────────────────┼─────────────────┤ │ aisleWidthIndex │ 2(通路 1.2 m) │ 1(1.0 m) │ ├───────────────────────────────┼─────────────────┼─────────────────┤ │ deliveryOffsetFromAisleCenter │ 0.15(卓寄り) │ 0(通路の中央) │ ├───────────────────────────────┼─────────────────┼─────────────────┤ │ benchDepth │ 0.45 │ 0.55 │ └───────────────────────────────┴─────────────────┴─────────────────┘ 出どころは Experiment/ExperimentRunner.cs:235 の layout.aisleWidthIndex = job.aisleWidthIndex; と :244 の deliveryOffset 上書き。:1038 で元に戻す作りです が、途中で止めると残ります。ご指摘の「回したときに入った値」そのものです。 ほかの差分(wallTableSize・registerQueueCount・robotStandby*・drinkBar* 追加、northWallTableCount/southWallTableCount/wallTableDepthZ 削除)は台本の作り直しに伴う書き換えなので入れていいものです。 → ファイル丸ごと戻すと新しい項目も消えるので、Inspector で上の3つだけ直して保存をおすすめします。 --- C.「Check-out を外すだけ」 ― 該当なし。代わりに「中身が同じ Changed」が3件 prefab に中身が変わっていない Check-out は1件もありませんでした(Check-out 15件は全部、中身も違っています)。代わりに、Check-out されていないのに一覧に出ている=中身は cs:135 と1バイトも同じものが3件あります。 ┌─────────────────────────────────┬─────────────────────────────────────────┐ │ ファイル │ 確認 │ ├─────────────────────────────────┼─────────────────────────────────────────┤ │ Experiment/ExperimentPlan.asset │ cs:135 と完全一致。showKitchenMonitor: │ │ │ 1 ✓ │ ├─────────────────────────────────┼─────────────────────────────────────────┤ │ People/PeopleSpec.asset │ cs:135 と完全一致。staffFirstYield: 0 ✓ │ ├─────────────────────────────────┼─────────────────────────────────────────┤ │ Materials/Mat_RobotFloor.mat │ cs:135 と完全一致 │ └─────────────────────────────────┴─────────────────────────────────────────┘ ご指定の3つの旗はすべて正です ― staffFirstYield: 0(off)、oneRobotPerAisle: 1(on/RobotSpec.asset:42)、showKitchenMonitor: 1(on)。 この3件は Undo changes で一覧から消すだけで、中身は何も変わりません。 --- D. Unity の管理の外に出す .git/index 1件だけの話ではありません。.git の中身17件が Unity VCS の管理に入っています。 .git, .git/COMMIT_EDITMSG, config, description, FETCH_HEAD, HEAD, hooks, index, info, objects, ORIG_HEAD, packed-refs, refs, logs, .DS_Store, ORIG_HEAD.private.0, index.private.0 ← 最後の2つは残骸 原因は ignore.conf に .git の行が無いことです(Library / Temp / Logs などは入っています)。 置いてあるだけ(Private・入れない)13件 - .git/objects/14,1b,48,92,e2 … 6件 → .git ごと ignore に - Assets/ServiceSim/Store/old~/ … 5件。Unity は ~ で終わるフォルダを無視するので置いたままで平気ですが、Unity VCS には出続けるので ignore に足すときれいです - Materials/Mat_MonitorBoard.mat / .meta(3時間前)… どこからも参照されていません(guid b9646524… の参照ゼロ、KitchenMonitor.cs も材質を持たない)。孤児なので入れず、置くか消すかだけ --- E. 判断が必要 ― Scenes/ServiceSim_Family.unity ここが一番大きいです。 cs:135 : 22.9 KB / GameObject 12個(Store・ServiceSim・Robots・Experiment・Cameras・People・Lighting の入れ物だけ) いま : 1,846.3 KB / GameObject 912個 E-1 入れたい分 ― 場面の配線 cs:135 に無かった部品が5つ増えて、ちゃんと繋がっています ― ServiceOps / GroupManager / JamWatcher / KitchenMonitor / ExperimentRunner。 あわせて PeopleSpawner に seatedBodyPrefab が付き crowd 欄が GroupManager 側へ移動、StoreBuilder に bench系/keepout の prefab と robotFloorMaterial・peopleFloorMaterial、NavMeshBaker に peopleRadius 0.2・registerBackArea 3。 E-2 入れたくない分 ― 3つ (a) 建てた店が焼き付いている … 912個(卓42・ベンチ228・座った客140・椅子8 ほか)。StoreBuilder.Build() は冒頭 :257 で Clear() して全部作り直すので、入れても意味がなく、1.8 MB が台帳に残って以後の差分が読めなくなります。 (b) layout の指す先が入れ替わっている StoreBuilder.layout : StoreLayout_Family → StoreLayout_p1_efficient_corner NavMeshBaker.layout : StoreLayout_Family → StoreLayout_p1_efficient_corner ServiceSim_Family の場面なのに p1 を指しています。 (c) 回した跡が残っている … ExperimentRunner に runLabel: site_v5 _queue: - aisleWidthIndex: 0 / crowd: 1 / robots: 2 / seed: 0 siteRun: 1 / conditionIndex: 2 / storeKey: fam_p1 folder: /Volumes/KIOXIA/r2r2r-data/service_sim/unity/ 20261023_p1_efficient_corner_fam_p1_s4_r2_a42_s0_0655 外付けドライブの絶対パス付き。これも「回したときに入った値」です。 E-3 おすすめの手順(私は実行せず待ちます) 1. ServiceSim/Use Store Layout/Family で layout を Family に戻す 2. ExperimentRunner の runLabel と _queue を空にする 3. ServiceSim/Clear Built Store で建てた店を消す 4. 保存してから入れる → 差分が E-1 の配線だけになります ついで: ExperimentRunner.monitor が {fileID: 0}(未接続)なのに showKitchenMonitor: 1 です。KitchenMonitor 部品は場面にあります(show: 1, refreshSec: 0.5)。繋ぐかどうかは確認してください。 --- 3. シーンに保存していない変更 ― あります Assets/ServiceSim/Scenes/ServiceSim_Family.unity 18:50 保存 Temp/__Backupscenes/0.backup 20:09(Unity が持っている未保存の中身) 読み比べた差(保存されていない側=いま Editor の中): - レジに並ぶ点が1つ増えている … 保存側は 107 / 208 の2つ、Editor 側は 107 / 208 / 309 の3つ。これで後ろの通し番号が全部1つずれます(スタッフが待つ点 117→118 … 622→623、ドリンクバーに並ぶ点 115→116、ドリンクバーの前 10→11、ロボットの待機場所 123→124 …) - 新しく出ているもの … FloorPaint_Narrow ×2、FrontMark ×2、RobotKeepout01、凡例の「細い通路(狭い道で入る)」「ロボットがふだん走る床 」(いずれも保存側には無い) - ロボット2台が置かれている … ServingRobot01 / ServingRobot02(保存側には無い) - 人が2人増えている … Body 142→144、Head 140→142 - 文字の部品が1つ増えている … Hiragino Sans 3→4 - 名札の構成は同じ(SimBench 228 / SimSeatedGuest 140 / SimTable 42 / SimChair 8 / SimRobot 2 / SimStaff 2) つまり ディスクには p1 を建てた跡が、Editor の中には細い通路つき(=p5 系)を建 ててロボットを置いた状態が入っています。どちらも「建てたもの」なので、E-3 の手順で Clear してから保存するのが筋が通ると思います。保存するかはお任せします。 --- 4. 動きへの影響 入れる側で動きを変える差分は1件もありません。 A-4 の新項目はすべて C# の初期値と一致(=cs:135 でも同じ値で動いていた)、A-3 の名札は SimTags.cs の説明どおり無効果、A-5 は色だけ。 動きに関わる差分は B-2 の3項目(通路幅・停止点・ベンチ奥行き) と E-2(b) の layout 差し替え の2箱に閉じていて、どちらも「戻す/直す」側に振り分けてあります。 --- 実行案(ご確認後に動きます) cd /Users/shimazueiichi/Robotics_UX/Robotics_UX_New # D) .git を管理の外へ # ignore.conf に .git / Assets/ServiceSim/Store/old~ を追記したうえで cm remove --nodisk .git # B-1) NavMeshAreas を戻す cm undochange ProjectSettings/NavMeshAreas.asset # C) 中身が同じ3件を一覧から外す cm undochange Assets/ServiceSim/Experiment/ExperimentPlan.asset \ Assets/ServiceSim/People/PeopleSpec.asset \ Assets/ServiceSim/Store/Materials/Mat_RobotFloor.mat # B-2 と E は Unity 側で直してから。A はそのあと check in どこから進めますか。