# 施工人員三維模型（Microsoft Rocketbox）

本目錄的三個 GLB 模型改作自 Microsoft Rocketbox Avatar Library，供本站三維教學模擬中的施工人員使用。

## 來源

- 專案：Microsoft Rocketbox Avatar Library，<https://github.com/microsoft/Microsoft-Rocketbox>
- 版本：commit `0943055db6ec570bcef9f2c8b41c9e5467c808f9`（2022-10-02），於 2026-09-28 下載。
- 下載方式：`https://raw.githubusercontent.com/microsoft/Microsoft-Rocketbox/<commit>/<path>`。儲存庫未使用 Git LFS，每個檔案都已確認是實際二進位內容，不是 LFS 指標檔。
- 引用文獻：Gonzalez-Franco, M., et al. (2020). The Rocketbox library and the utility of freely available rigged avatars. Frontiers in Virtual Reality, 1, 561558. <https://doi.org/10.3389/frvir.2020.561558>

## 授權

- MIT License，Copyright (c) 2020 Microsoft。
- 完整授權文字（含著作權聲明，未經修改）見同目錄 [LICENSE-Microsoft-Rocketbox.txt](LICENSE-Microsoft-Rocketbox.txt)。散布本目錄模型時，須一併附上該授權文字。

## 檔案

| 檔案 | 來源人物 | 動作 | 站立高度（含安全帽） | 頭頂高度（不含安全帽） | 大小（bytes） | SHA-256 |
| --- | --- | --- | --- | --- | --- | --- |
| `rocketbox-construction-male-08.glb` | `Construction_Male_08` | `walk`、`idle` | 1.833 m | 1.802 m | 1173256 | `85546d126e3e22b09a93855f7211f3d849846e979bb9040d669fe596bfa807e6` |
| `rocketbox-construction-male-07.glb` | `Construction_Male_07` | `walk`、`idle` | 1.839 m | 1.811 m | 1120116 | `66d46b1480fb12b2a1f96003db429beb8bccb72cdf706cef153c6aebdaca89c8` |
| `rocketbox-construction-female-01.glb` | `Construction_Female_01` | `walk`、`idle` | 1.772 m | 1.743 m | 1192936 | `5852aa52fca19c082e45d9593efa646d2b4749a45afececdad88cc36d1310483` |

高度為綁定姿勢（T pose）的量測值，單位為公尺，腳底位於 glTF 的 y = 0。

## 修改內容

1. **細節層級（LOD）**：只保留最高細節的 `hipoly` 網格。所用 FBX 本身只含 `hipoly` 網格；未使用含臉部 blendshape 的 `_facial.fbx` 版本。兩個男性模型各刪除 5 個不屬於任何面的孤立頂點，另刪除 3ds Max 匯出的兩層頂點色。
2. **材質轉換**：3ds Max 材質改為 glTF metallic roughness PBR。基本色取自 diffuse 貼圖；法線貼圖沿用原圖（以旋度檢查確認為 OpenGL +Y 慣例，不需翻轉綠色通道）；粗糙度由 specular 貼圖換算，metallic 為 0，無自發光，全部不透明。換算式為 roughness = clamp(a - b × specular)，身體圖集 a = 0.93、b = 0.95（棉質工作服約 0.87，反光背心約 0.68，反光條約 0.33）；頭部圖集 a = 0.72、b = 1.20（頭髮約 0.72，皮膚約 0.6，眼睛約 0.3）；安全帽 a = 0.62、b = 0.90（約 0.38）。安全帽材質設為雙面，因帽簷與內襯是單層薄殼。
3. **貼圖縮小與 WebP 轉換**：2048 px 的 TGA 貼圖以 Lanczos 縮為 1024 × 1024（安全帽 1024 × 512），法線向量重新正規化後，以 WebP（品質 85，`EXT_texture_webp`）嵌入 GLB。每個模型有 9 張貼圖：身體、頭部、安全帽各一組基本色、法線與粗糙度。
4. **動作烘焙**：`walk` 取自 `m_walk_neutral.max.fbx`（男性）或 `f_walk_neutral.max.fbx`（女性），`idle` 取自 `m_idle_neutral_01.max.fbx` 或 `f_idle_neutral_01.max.fbx`。動作檔以第一格姿勢作為靜止姿勢，因此以相同名稱的 Biped 骨骼逐格複製世界座標旋轉，骨骼長度維持本人物的長度；臉部骨骼維持靜止姿勢，不含動畫軌。`walk` 移除骨盆的前進位移與漂移，保留左右與上下擺動，成為原地循環；兩段動作的第一格與最後一格相同，可無縫循環。腳底高度依每格最低頂點的中位數校正到地面。
5. **單位與座標**：公分改為公尺，物件變換烘焙進網格與骨架資料，腳底在地面。glTF 座標為 +Y 向上、+Z 為人物面向。
6. **GLB 匯出**：以 Blender 5.2.1 內建 glTF 匯出器輸出，含蒙皮（80 塊骨骼，每頂點最多 4 個權重）與 `walk`、`idle` 兩段動作，不含相機與燈光。

## 來源檔案校驗值

路徑相對於儲存庫的 `Assets/Avatars/Professions/`（人物）或 `Assets/Animations/`（動作）；前兩列位於儲存庫根目錄。

| 檔案 | 大小（bytes） | SHA-256 |
| --- | --- | --- |
| `LICENSE.md` | 1066 | `17474e386e0b9e1a700cc3d06b2b0882a2c376d9c6b49c7f8274409b8f8d2352` |
| `README.md` | 5345 | `bcf8013e3d5817a5dee5d1770b9943278189cd76b2d9b2abc243db99b703ecd6` |
| `Construction_Male_08/Export/Construction_Male_08.fbx` | 584816 | `531dcbf7d42a619bd2d462cac16eb1ebb4098ab68bbd179275cea44089930edf` |
| `Construction_Male_08/Textures/m108_body_color.tga` | 12582956 | `1d7cc8b2e04c1664de8243642ffdbb21b97ddc8d004819b13a2bba0123f53145` |
| `Construction_Male_08/Textures/m108_body_normal.tga` | 12582956 | `deb82be55db00adfa2984653a6f835589cf6c7981a3b06749fcb6d05bf328136` |
| `Construction_Male_08/Textures/m108_body_specular.tga` | 12582956 | `973fb55f06f3afeda486e159e6df7820363ce9a17ac5f7f0d12b364ae116c681` |
| `Construction_Male_08/Textures/m108_head_color.tga` | 12582956 | `828e8922f487dcb20ef366cf4a90c749d41033b87bcd232154993a0c88a5db1e` |
| `Construction_Male_08/Textures/m108_head_normal.tga` | 12582956 | `8748e327f972d34809029560fbafc7a15edfe2fd2e5fe2424202afc853dcee19` |
| `Construction_Male_08/Textures/m108_head_specular.tga` | 12582956 | `4637177ad658c85b67527f3a8fce2a847f08d928cb5c4dcec081af9ca59f843d` |
| `Construction_Male_08/Textures/m108_helmet_color.tga` | 6291500 | `5b9f70e2cefb06ad4fdc76a5e3e84b35f9c72f07f397100c2ecc7eeccc3ea5b2` |
| `Construction_Male_08/Textures/m108_helmet_normal.tga` | 6291500 | `0e9b4e8f07834e13b3b0ff8c19ce963af9efe9438e51a298238784cb18d0b83f` |
| `Construction_Male_08/Textures/m108_helmet_specular.tga` | 6291500 | `6f095412410905caffe84a053c956249effe2ed3dd986033fa70b64e6a8a24dc` |
| `Construction_Male_07/Export/Construction_Male_07.fbx` | 566144 | `2d0745bf8551fbf6bf439c3cc36da36e600cab158b4f500041355b51d3a8e876` |
| `Construction_Male_07/Textures/m107_body_color.tga` | 12582956 | `8472cafe735a8b3f495dcd1021a92f0468ea720d7cfce86cdd85911ed1fed565` |
| `Construction_Male_07/Textures/m107_body_normal.tga` | 12582956 | `456a2e503575091125762374feaf55b68c7c463ae2723dc1e0697650ae6f375c` |
| `Construction_Male_07/Textures/m107_body_specular.tga` | 12582956 | `018e16876aec7afacdf1fc8d9e90aa729a0a31a0e03d3d2cce3280428d4b64bf` |
| `Construction_Male_07/Textures/m107_head_color.tga` | 12582956 | `d143f1cfef994f440840564cc4955e5f17a1c7a40d15f9cb0f5a20f358da9075` |
| `Construction_Male_07/Textures/m107_head_normal.tga` | 12582956 | `d42929fb289e0463156fa0eca792cce9d02724f6de863c03a360695e6394f845` |
| `Construction_Male_07/Textures/m107_head_specular.tga` | 12582956 | `c898d782606abd15523e1139245b2604c8565d372d0c1453ff52eef57989b6ed` |
| `Construction_Male_07/Textures/m107_helmet_color.tga` | 6291500 | `5177905cdddefd5fe0729b0b7d3b8bf187b5d7c1d278bbf83c130070148436c0` |
| `Construction_Male_07/Textures/m107_helmet_normal.tga` | 6291500 | `0e9b4e8f07834e13b3b0ff8c19ce963af9efe9438e51a298238784cb18d0b83f` |
| `Construction_Male_07/Textures/m107_helmet_specular.tga` | 6291500 | `6f095412410905caffe84a053c956249effe2ed3dd986033fa70b64e6a8a24dc` |
| `Construction_Female_01/Export/Construction_Female_01.fbx` | 603248 | `17d236c4e880bc10742a48dba643dc4cc13cd408bc10a18608de7a6cdb8b1e3b` |
| `Construction_Female_01/Textures/f101_body_color.tga` | 12582956 | `1d7cc8b2e04c1664de8243642ffdbb21b97ddc8d004819b13a2bba0123f53145` |
| `Construction_Female_01/Textures/f101_body_normal.tga` | 12582956 | `deb82be55db00adfa2984653a6f835589cf6c7981a3b06749fcb6d05bf328136` |
| `Construction_Female_01/Textures/f101_body_specular.tga` | 12582956 | `973fb55f06f3afeda486e159e6df7820363ce9a17ac5f7f0d12b364ae116c681` |
| `Construction_Female_01/Textures/f101_head_color.tga` | 12582956 | `2c97fa8deac807f40ddb43b628f5ac6ec6866dc9429d17ade1a54a4323ab2e4a` |
| `Construction_Female_01/Textures/f101_head_normal.tga` | 12582956 | `47ac5df41b1f3133bffd343559169c003c4a0627ad91c817f19ae33938120e4c` |
| `Construction_Female_01/Textures/f101_head_specular.tga` | 12582956 | `e51a855b3056292b94fc8c9a120a1ed19f93e04cdba78acd5a1c9c196ab1234a` |
| `Construction_Female_01/Textures/f101_helmet_color.tga` | 6291500 | `5b9f70e2cefb06ad4fdc76a5e3e84b35f9c72f07f397100c2ecc7eeccc3ea5b2` |
| `Construction_Female_01/Textures/f101_helmet_normal.tga` | 6291500 | `0e9b4e8f07834e13b3b0ff8c19ce963af9efe9438e51a298238784cb18d0b83f` |
| `Construction_Female_01/Textures/f101_helmet_specular.tga` | 6291500 | `6f095412410905caffe84a053c956249effe2ed3dd986033fa70b64e6a8a24dc` |
| `all_animations_max_motextr_xy/m_walk_neutral.max.fbx` | 958512 | `93089851a370e3a117a6bd04c002815f7133fce41c6271e9eb448ca1228b154f` |
| `all_animations_max_motextr_xy/f_walk_neutral.max.fbx` | 1002832 | `e210c9e34949a4eacad0a85021d4d1a59aab177ca1737e6038309896147ebae2` |
| `all_animations_max_motextr_static/m_idle_neutral_01.max.fbx` | 2418544 | `818cc185af21390575f7fbfdeb3012ba2ce5969fbcb220ea725a2617b339a6e2` |
| `all_animations_max_motextr_static/f_idle_neutral_01.max.fbx` | 2959360 | `fd68b33ea9e290dc734ca8c3a71ef5842bb2dfe719853ff84f6336d06d39fdcb` |

`Construction_Female_01` 的身體與安全帽貼圖，在來源儲存庫中與 `Construction_Male_08` 的對應檔案內容相同（SHA-256 相同）。
