依頼139：病院の Unity を立体の見た目にして、色3案とカメラ4つのサンプルを撮る（2026-11-10）
====================================================================

--------------------------------------------------------------------
0. 始める前の確かめ（すべて合格）
--------------------------------------------------------------------
  作業場所の保留：0（最後の check-in は cs:115）
  Unity・回し係：動いていない（Unity Hub だけ）。KIOXIA：マウント済み
  params（p2m-site main tools/hospital_sim/hospital-unity-params.json）md5 f72d3810674b31dadd9dfa4ce0141178（依頼138 と同じ）
  hospital_h0.json a29cd1d981e5b3086fb623fc647926d9・hospital_h0b.json ddefbd8ca0db243f41601532e7b8dee8（どちらも依頼のとおり）


--------------------------------------------------------------------
1. 立体の見た目の作り（-h139Look on のときだけ。既定は off＝今の平らな図のまま。夜の回し方は変わらない）
--------------------------------------------------------------------
  直したのは Assets/ServiceSim/Hospital/ の中だけ：
    HospitalLook.cs（新しい。見た目と撮影）・HospitalRun.cs（引数と呼び出しを足しただけ）・Editor/HospitalSetup.cs・Hospital.unity・
    Materials/H139_*.mat（10 個）
  見た目だけにするための決まり：
    ・足した物には当たり（Collider）を付けない。NavMesh を焼いたあとに置く。乱数を使わない
    ・人・ロボットの元の見た目（Body）は描かないだけにして、そのまま残す（当たり・動き・数え方・記録は触らない）
    ・部屋の箱（StoreBuilder の Room…）も描かないだけで、当たりは残す

  使った配膳の値（読んだ所：Scenes/ServiceSim_Family.unity・Store/Materials・People/Guest.prefab・SeatedGuestBody.prefab・
  Robot/ServingRobot.prefab・Recording/SimTimeRecorder.cs・rec_lp_20261105 の録画）
    床：Mat_Floor（0.86,0.84,0.79）・壁と部屋の箱：Mat_Wall（0.40,0.43,0.48）・高さ 2.4 m（StoreLayout.wallHeight）。
        床と壁は病院でもはじめから配膳の Floor/Wall の部品を使っている
    光：Sun 強さ 1.1・色（1,0.98,0.94）・やわらかい影・影の濃さ 1・bias 0.05・normal bias 0.4、向きは録画のときの高さ 75°
        （SimTimeRecorder の既定）・方角 -34°。Fill 強さ 0.35・色（0.85,0.9,1）・(28°,160°)・影なし。
        まわりの光 Flat（0.46,0.47,0.50）
    背景：配膳の録画の背景の画素（102,96,91）。配膳は空の既定の「地面」の色がそのまま写っているので、同じ色を単色で出した
         （撮った画像の隅が 102,96,91 になっているのを確かめた）
    影を描く距離：配膳の店より広い（120 m）ので 400 m に延ばした（Ultra の 150 m では奥に影が出ない）。影の向き・濃さは同じ
    材質：配膳の Mat_Guest・Mat_Staff・Mat_Robot・Mat_RobotFront をそのまま写した（H139_Guest など。光沢 0.12 も同じ）
  人とロボット
    歩く患者・付き添い：配膳のお客さんと同じ黄色のカプセル（体 直径 0.4・高さ 1.59＋頭 0.22）
    杖の人：同じ黄色のカプセル＋細い杖（直径 0.045・長さ 0.9・右手の前・握り付き。色は濃い灰色 0.30,0.31,0.33）
    車いす：濃い灰色（0.30,0.31,0.33）の台（外形 0.65×1.10＝数える長方形と同じ）・座面・背・車輪（直径 0.6）・足台に、
           配膳の座った人と同じ形の黄色を座らせた。真上から濃い灰色の四角に黄色の点で見える
    スタッフ：配膳のスタッフと同じ青のカプセル
    ストレッチャー：外形 0.70×2.60（数える長方形と同じ）のうち、前の 2.1 m を白に近い灰色（0.86,0.87,0.88）の台（高さ 0.87・脚 4 本・枕）、
           後ろに押す青のスタッフ
    ロボット：配膳と同じ白の円柱＋橙の前の印。直径 0.549（数える丸と同じ）・高さ 1.081（params の KEENON W3 の h）。
           前の印は配膳と同じ割合（高さの 0.8・前へ直径の 0.45・幅 直径の 0.6）
  部屋：シミュレーションで建てているのは廊下のまわり（z13〜31）だけなので、見た目では h0 の外形 120×60 m のうち
        「建てた床」と「待合」でない所を、配膳のキッチンと同じ灰色の箱（高さ 2.4 m）で埋めた（廊下だけの回で 10 個）。
        外来・検査室・薬剤部などは1つながりの灰色の箱に見える（部屋どうしの境は描いていない）
  問題の輪：今までどおり床の上に出す（Unity では描かず、カメラの行列で床の点を画素に移して重ねる。色と印は依頼136 と同じ・10 秒出す）

  総合受付・会計・待合（h0 rect [25.1,15.1,70,27]）の置き方（飾り。当たりなし・動かない・人数にも数えにも入れない）
    床：待合の範囲いっぱいに差し色の床（下の色3案）。大廊下の側（z27）は壁を置かず開けた
    壁：奥（z15.1、職員の中廊下との境）と西（x25.1、西の縦廊下との境）に厚さ 0.15・高さ 2.4。玄関の通り（x44〜52）は奥の壁を空けた
    受付のカウンター x28〜40・会計のカウンター x56〜67。どちらも z16.6〜17.2（奥の壁から 1.5 m 前）・高さ 1.0。
      本体（前板）＝木目、天板（厚さ 0.05・まわりに 0.08 出す）＝天板の色
    長いす：4人掛け（座 0.55 m×4＋ひじ掛け 0.06×2＝長さ 2.32 m・奥行き 0.55・座面の高さ 0.45・背 0.42）。大廊下（+z）を向く。
      玄関の通りの西（x25.25〜44）と東（x52〜70）に、それぞれ 5 台×5 列（列の間 1.3 m、いちばん後ろの列の背 z18.7・
      いちばん前の列の前 z24.45）＝50 台。大廊下の端（z27）から 2.55 m、壁と玄関の通りから 0.9 m 以上離した
    座っている患者（飾り）：長いすの決まった席だけ（乱数なし）に 86 人。形は配膳の座った人と同じ黄色
    人・ロボットの道にかからないこと：待合の範囲は当たりのある箱のままで、NavMesh も無い（人もロボットも入れない）。
      撮った画像でも長いす・座った人が廊下や歩く人に重なっていないのを見た

  色3案（長いすの張り地・木目（脚・ひじ掛け・カウンターの前板）・カウンターの天板・待合の床の差し色）。最終の値：
    A ミント×木目：長いす #9FD6CB・木目 #D7B88C・天板 #F3F0E8・待合の床 #E4CFAA
    B 生成り×木目：長いす #E6DAC3・木目 #CFA77A・天板 #F6F3EC・待合の床 #D8BF98
    C 黄緑×木目　：長いす #B3CC6E・木目 #D7B88C・天板 #F3F0E8・待合の床 #E4CFAA
    長いす・木目・天板は依頼の値のまま（直していない）。
    待合の床の差し色は依頼に値が無かったので、写真の明るい木の床から選んだ（下の「決めてほしいこと」1）。
    はじめは待合の床を廊下と同じ色で撮ったところ、待合と大廊下の境が見分けられなかったので入れた。
    差し色はこの4か所（張り地・木目・天板・床）だけで、ほかは増やしていない
    （B は長いすの色と床の色が近いので、床を少し濃い木の色にした）


--------------------------------------------------------------------
2. カメラ4つ（配膳の -ssRecCam と同じ決め方：透視投影・縦の画角 40°・注視点から向きの逆へ距離だけ下がる。
   方位 0＝+z（奥）を向く。2720×2160 で撮って 1360×1080 に縮め、右に 560 のパネルを付けて 1920×1080）
--------------------------------------------------------------------
  距離は、範囲の四隅（高さ 0 と 2.4 m）がすべて画面の内側（余白 3%）に入るいちばん近い距離を、tools/camfit139.py で計算した
  1 真上・引き           top_wide      見下ろす 90°・方位 0・注視点 (60, 30)・距離 142.8 m（高さ 142.8 m）・範囲 x-0.5〜120.5・z-0.5〜60.5（フロア全体）
  2 真上・寄り           top_near      見下ろす 90°・方位 0・注視点 (40.5, 22.5)・距離 73.2 m・範囲 x10〜71・z13.5〜31.5
                                        （大廊下の人の多い区間と待合の全体。はじめ x18〜62 で撮ったら待合の東の端が切れ、
                                        ロボットも画面の左の端にいたので広げた）
  3 60°見下ろし・左30°・引き obl_l30_wide 見下ろす 60°・方位 30（配膳の wide_l30 と同じ）・注視点 (54.69, 22.45)・距離 154.5 m
                                        （カメラの高さ 133.8 m）・範囲 フロア全体
  4 60°見下ろし・右30°・寄り obl_r30_near 見下ろす 60°・方位 -30・注視点 (20.69, 29.05)・距離 27.5 m（カメラの高さ 23.8 m）・
                                        範囲 x9〜31・z26〜32
    寄りの場所を選んだ理由：20261109_day138 の day138_v06_hall_s0（廊下だけ・0.6m/秒・種0）の events.csv の 1〜5 の位置を数えた。
      ・走っている間（行き・帰り）71 件：6 m 幅で数えると x17〜23 に 51 件（中の平均 x19.9。大廊下の西の縦廊下への曲がり角の手前）
      ・待っている間も入れた全部 2,786 件：x9.5〜15.5 に 2,729 件（積む所 (12,30.5) で待っている間のひやり）
      この2つ（x12 と x20）がどちらも入るよう、大廊下 x9〜31 に寄った。曲がり角（西の縦廊下の入り口）も入る
  カメラごとの行列は runs/look139_v06_hall_s0/look139/cam_*.json（床の点→画素の式つき）

  右のパネル（配膳の round_after_panel と同じ作り：白地 249,247,244・小さな見出し・大きな時刻・「ロボット・スタッフがしていること」・数）
    見出し：病院 h0・廊下だけ・0.6m/秒・種0／色の案／カメラ
    時刻（7:30 からの秒を時計にした）
    ロボット 1台：待っている／行き／帰り／表と裏口を移る のうち今のものを濃くし、白い丸と「表→検体受付」などを付ける
    スタッフ：ロボットの助け（助けに出ているスタッフの数だけ青の四角）
    大廊下の人（x0〜70）
    撮り始め（9:57:25）からの問題 1〜5 の数（輪の色つき）・うち速いままのひやり・止まりきれなかった
  左上の見本：患者・付き添い（黄）・杖の人（黄＋杖）・車いす（濃い灰色の四角に黄）・スタッフ（青）・ストレッチャー（灰の台＋青）・ロボット（白）
  引きのカメラ（1・3）だけ、ロボットの位置に白い輪を足した（引きではロボットが 6 画素ほどで見つけにくかったため。パネルの下に書いた）


--------------------------------------------------------------------
3. 撮った回と時刻
--------------------------------------------------------------------
  回：廊下だけ・0.6m/秒・種0（依頼138 の day138_v06_hall_s0 と同じ条件）を -h139Look on で回した（look139_v06_hall_s0）
  静止画の時刻：7:30 から 8862 秒＝9時57分42秒（外来の山場 8:00〜11:00 の中）。
    この日の山場の中の便は1便目だけ（8843 秒に出る）で、ロボットが大廊下の人の多い区間を走るのは 8845〜8875 秒（行き）と
    9100〜9155 秒（帰り）。8862 秒はロボットが (19.5, 28.4) を行きで走っていて、x17〜23 の問題の多い所の中・
    大廊下の人 60 人・直前の 10 秒に問題が起きている時刻なので選んだ
  動画：色A・カメラ4つ・各 8845〜8945 秒（9:57:25〜9:59:05）を 0.2 秒ごとに撮り、25 コマ/秒で流す＝店の時刻の5倍・20.04 秒・1920×1080・パネル付き
  撮る回は 8945 秒で止めた（-h139EndAfterShots。summary は status stopped）


--------------------------------------------------------------------
4. 確かめ
--------------------------------------------------------------------
  (1) 依頼138 の check138a と同じ回（時間で切替・0.6m/秒・種0）を、cs:116 の実行ファイルで -h139Look on（画面を描く設定）で回した
      （check139a_v06_switch_s0。最後まで・status completed）。記録7つの md5：
        legs.csv        c16df55d225bff9b9e2c35391751ef84  依頼138 と一致
        events.csv      7e32a56d9806c6354704a3c91af29148  一致
        rescues.csv     46f222937bb9562043663e1a3d7f8b2f  一致
        robot_track.csv 458987516003595228862fd1ebb1f31b  一致
        trips.csv       3ae372d5b5eedce24fedf3da531f49e0  一致
        moves.csv       b20f7c01f8596d37a26906ac7ef31028  一致
        crowd.csv       ad41d0201578ec8e1129ae4d76220ca2  一致
      summary.json で違うのは run・unity_cs・wall_s だけ
  (2) 瞬間移動：check139a ロボット 0・人 0。撮った回 look139 もロボット 0・人 0
  (3) 撮った回（撮りながら・色を入れ替えながら）も、依頼138 の day138_v06_hall_s0 と止めた 8945 秒まで同じ：
      robot_track 17,890 行・crowd 150 行がそのまま同じ、events は 8940 秒までに閉じた 1,213 件が同じ
  (4) 12 枚を開いて見たこと・直したこと
      ・人・車いす・ロボット：寄り（2・4）ではすべて見分けられる。車いすは真上から濃い灰色の四角＋黄色、杖は寄りで見える細い棒。
        引き（1・3）では人は小さな点で、杖は見えない。ロボットは白い点で見つけにくいので白い輪を足した（直した）
      ・ストレッチャー：撮った時刻（8845〜8945 秒）には1台も出ていない（記録で 0 台を確かめた）ので、12 枚には写っていない。
        確かめのために同じ回の 0〜3600 秒を 20 秒ごとに別に撮り（verify/）、300 秒の真上・寄りで、職員の中廊下を白に近い灰色の台＋
        青の押す人の形で見分けられるのを見た
      ・パネルの文字：はじめ見出しの2行目（色とカメラ）が右で切れていたので3行に分けた。いちばん下の注の行も右で切れたので短くした。
        直したあとは切れていない
      ・薄くなった輪が点線のように見えたので、輪を1つずつ別の層に描いて重ねるようにした
      ・待合：はじめ床が廊下と同じ色で大廊下との境が分からなかったので、差し色の床を入れた。全体図で外来などの部屋が無く空白に
        見えたので、外形 120×60 m を灰色の箱で埋めた。長いすは道・人に重なっていない
      ・カメラ4（南東から 60°）では、大廊下の南の半分が手前の部屋（お薬の窓口 x0〜23・高さ 2.4 m）に隠れる（約 1.4 m）。
        隠れた所で起きた問題の輪は箱の上に重なって見える（決めてほしいこと 2）
      ・真上・寄りの範囲を広げた（上の 2 を参照）


--------------------------------------------------------------------
5. 出力の場所
--------------------------------------------------------------------
  KIOXIA /Volumes/KIOXIA/r2r2r-data/service_sim/unity/hospital/20261110_look139/
    stills/still_{A|B|C}_{top_wide|top_near|obl_l30_wide|obl_r30_near}.png（12 枚・パネル込み 1920×1080）
    sheets/compare_cam1_top_wide.png・compare_cam2_top_near.png・compare_cam3_obl_l30_wide.png・compare_cam4_obl_r30_near.png（色3案を横に並べた図）・
           overview_12.png（12 枚の一覧）
    videos/hospital139_A_{top_wide|top_near|obl_l30_wide|obl_r30_near}_5x.mp4（各 20.04 秒・25 コマ/秒・1920×1080）
    runs/look139_v06_hall_s0/（撮った回の記録・look139/ に Unity で撮った元の画像・cam_*.json・look_frames.csv）
    runs/check139a_v06_switch_s0/（確かめの回）
    verify/（ストレッチャーの見え方の確かめ）・logs/
    tools/run139.sh（回す）・camfit139.py（カメラの距離）・pan139.py（輪とパネル・並べた図・動画）・vid139.sh
  iCloud …/サービスロボット導入シミュレーション/hospital/look139/ に並べた図 5 枚を写した（md5 一致を確かめた）


--------------------------------------------------------------------
6. check-in・実行ファイル
--------------------------------------------------------------------
  check-in：cs:116（保留 0）。Setup が H127 の材質を保存し直して保留にしたが、中身が同じなので元に戻した（check-in していない）
  実行ファイル：Builds/hospital139/HospitalSim.app（build_info：unity_cs ServiceSim/cs:116・pending_changes 空）。
    Builds/hospital127・132・134・136・138 はそのまま
  配膳の場面・配膳の実行ファイル・配膳の台帳・配膳と共通の部品には触っていない（材質は写して Hospital/Materials に置いた）
  使い方：今までの引数に -h139Look on を足す。撮るときは -h139Cam name,方位,見下ろす角度,注視点x,注視点z,距離,画角,w,h（何本でも）・
    -h139StillAt 秒（色3案×カメラを PNG に）・-h139VidFrom 秒 -h139VidTo 秒 -h139VidStep 秒 -h139VidScheme A（JPG のコマ）・
    -h139EndAfterShots on（撮り終えたら止める）


--------------------------------------------------------------------
決めてほしいこと（直し方の候補は作っていない）
--------------------------------------------------------------------
  1. 待合の床の差し色：依頼の色3案に値が無かったので、写真の明るい木の床から A・C #E4CFAA、B #D8BF98 を選んだ。
     この値でよいか、または差し色を入れないか
  2. カメラ4（60°見下ろし・右30°・寄り）は配膳と同じく南側から見るので、問題がいちばん多い大廊下 x12〜23 の南の半分が、
     手前の部屋の箱（高さ 2.4 m・配膳の壁と同じ）に隠れる。隠れた所の輪は箱の上に重なって見える。このままでよいか
  3. 部屋の見せ方：シミュレーションで建てていない部屋（北の外来・南の薬剤部など）も含めて、外形 120×60 m の床でない所を
     1つながりの灰色の箱で描いた（部屋どうしの境は描いていない）。これでよいか
  4. ストレッチャーは撮った時刻に出ていないので、12 枚・動画には写っていない（見分けは別の時刻で確かめた）。このままでよいか

判定：止めた（決めてほしいことあり）
