iT邦幫忙

2026 iThome 鐵人賽

DAY 14
0

工廠裡最容易出事的,不是機器壞掉,而是兩個人叫同一個名字。你叫「小王」去倉庫拿東西,結果來了另一個小王,拿回來的完全不是你要的。

這條生產線裡,也有好幾組「同名不同人」。每一組我們都被它咬過至少一次。這篇把八組一次列清楚:它們各是什麼、搞混了會怎樣、現在怎麼分。

第一組:五個「備註欄」

「備註欄」(程式裡叫 extras)在這個專案裡出現在五個地方,完全是五件事:

  1. 3D 檔案檔頭的備註:寫著「單位是公尺、Y 軸朝上」。品管員看它判斷單位換算過沒。
  2. 3D 檔案裡每個零件的備註:寫著這個零件的原名與編號。展示櫃找不到中文名時,會拿它當備用。
  3. 資產說明書(asset.json)上的備註:場景包(Pack)自己的私有資料,用場景包的名字當分類。
  4. 展示說明書(scene.json)上的備註:同樣格式的私有欄位。
  5. 資產資料夾裡的 extras 資料夾:放熱點文案、常見問答這類附帶檔案。

我自己寫這個系列時,就把第 1、3、5 搞混過,被抓出來才改正。

第二組:兩個「預算表」

品管員(qa-kit)有一張預算表(最多幾個三角形、幾個材質)。場景包也有一張形狀完全一樣的預算表。由自動產生程式各生出一份,所以長得一樣、卻是兩個不同的東西:拿 A 家的表去問「你是不是 B 家的表」,答案是否。結果程式拿它去查字典時直接當機。現在在兩邊交界處就先轉成同一種。

第三組:兩個「零件」

規格表有一個「零件」的定義(零件物件)。後來展示說明書要列「這個圖層有哪些零件」,裡面只是一串編號,自動產生程式卻也把它命名為「零件」。兩個同名但完全不同的東西撞在一起。解法:給那串編號另取一個名字,叫「零件編號」。

第四組:兩份「熱點.json」、兩份「場景.json」

  • 資產資料夾裡有一份熱點文案,是真正的 JSON,裡面有零件編號、標題、介紹。
  • 展場離線包裡也有一份叫熱點.json 的檔案,但它其實是一小段程式(為了在沒有網路時能被載入),而且目前只有標題(還沒有文案)。
  • 場景.json 也一樣:資產裡是真的 JSON,離線包裡那份是程式。

名字一樣,內容不能互換。

第五組:一個零件的許多個名字

同一個底板,在不同地方叫:編號 p_0003、3D 檔案裡的節點名(也是 p_0003)、CAD 原名 Base_Plate、3D 檔案備註裡的名字 Base_Plate、中文名(目前還沒有)、以及一條路徑。展示櫃顯示名字的順序是:中文名 → 原名 → 檔案備註裡的名字 → 節點名 → 編號。

第六組:兩個「零件數」

齒輪減速機有 18 筆零件記錄,但只有 13 個是真的零件,另外 5 個是「分類標籤」。你問「有幾個零件」,要先問清楚是哪一種。

第七組:兩種「版本」寫法

同一個展場版,在資產上寫成 exhibit.kiosk,在場景包自己的設定檔裡寫成 kiosk。前面多一段「這是哪個場景包」。

第八組:兩個「狀態」

一份資產有一個整體狀態(排隊中、進行中、可用、警告、失敗),品管報告又有自己的狀態(通過、警告、不合格、未檢查)。兩者不是同一個詞彙:品管不合格時,資產整體狀態被記成「警告」,而不是「失敗」。

怎麼對付這類問題

  • 同名的東西,換不同的名字(第三組就是這樣解的)。
  • 在兩邊交界處就轉成同一種,不要讓兩個長得像的東西一路走到下游(第二組)。
  • 文件裡說清楚指的是哪一個,不要只寫「備註欄」。

還沒做、還沒驗證的事

  • 資產說明書與展示說明書的「私有備註」目前在 demo 資產裡都是空的,沒有真實案例。
  • 第八組的對應(品管不合格記成資產「警告」)是設計如此,我沒有查出當初為什麼不記成「失敗」。

上一篇
Day 23|十個「沒有報錯」的坑
系列文
AI 策展人:用 Google ADK 打造會思考、會介紹的 3D 展示平台 共 24 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言