甲方只給一張衛星截圖,他用Three.js加Blender蓋了一座3D能源站:這種專案背後,你的眼睛和肩頸也撐了好幾輪
從開發者用Three.js與Blender從一張衛星截圖建出3D能源站的文章出發,聊聊這種高強度建模與逐像素對比工作下,你的眼睛、肩頸與作息可以怎麼被照顧。
2026年10月13日,掘金上有一篇技術長文被拿出來討論:一位開發者收到甲方的需求,做一個「綜合能源補給站」的3D視覺化大屏。站內有加油加氣站、LNG加氣站、重卡超充、乘用車換電站和辦公樓。而他能拿到的資料,只有一份設施清單,和一張用紅線圈出地塊範圍的衛星截圖。沒有地址、沒有CAD、沒有尺寸。
於是他一個人當了五個角色:規劃師估比例尺、排建築位置;用AI概念圖跟甲方確認視覺方向;在Blender裡用Python腳本建模、烘焙夜景燈光;用three.js載入模型接上車流仿真;最後再用無頭Chrome截圖疊圖,確認成品和設計稿逐像素對齊。
這篇文章的本體是技術分享,寫得相當紮實。但我們這裡想聊的,是這種工作型態本身。如果你也常接「資料少、期望高、時程趕」的專案,這篇背後藏著幾個很真實的身體課題。
反覆對稿,其實是眼睛的耐力賽
文中一個細節值得注意:他一開始照自己畫的規劃草圖建模,結果和甲方確認過的概念圖對不上,沿路的設施順序反了,地塊形狀不同,重卡車位的排法也不同。所以他整個流程倒過來,從概念圖反推出規劃,再用正交相機的投影性質去標定設計稿的視角。
這種「對稿、修一點、再對稿」的循環,在3D和前端開發裡非常常見。每一次調整都是一次眼睛的近距離對焦,而且看的常常是螢幕上幾個像素的偏差。這和天天盯著資料結構除錯的你面對的處境很像,我們在聊聊天天盯著資料看的你那篇提過幾個做法,這裡針對3D對稿再多補幾個:
對稿循環跑起來的時候,強制自己每20分鐘抬頭看6公尺外的東西20秒,這是最土但最有效的節奏。Blender的深色介面配上three.js大屏那種高對比的輝光效果,螢幕亮度不要開到頂,室內留一盞背景燈,別讓螢幕成為房間裡唯一的光源。逐像素疊圖對比這種事,能交給腳本就交給腳本,他自己也是這麼做的,用無頭Chrome加Python疊圖,這不只是工程習慣,也剛好把最傷眼的部分交給了機器。
腳本化一切,某種程度上也是在保護人
這個專案有一條貫穿全程的原則:所有產物都由腳本生成,不手改模型、不手改資料。規劃資料只寫在一個地方,規劃圖、Blender布局、頁面資料、航拍底圖全部從它派生。改一個罩棚的位置,只需要改一行座標,重跑一遍流水線。
從工程角度這是可維護性。從身體角度,這其實擋掉了兩種消耗。一是重複手工作業帶來的滑鼠手與肩頸負擔,手動在Blender裡搬一百次模型,跟改一行座標重跑腳本,手腕的命運完全不同。二是那種「改了A壞了B」的來回折騰,情緒成本很高。當你深夜還在為了網路設定或工具斷線反覆重試時,那種煩躁感是會累積的,我們在折騰了一整晚網路設定那篇聊過類似的心境。
當然,寫這套腳本本身也是工作量。合理估自己的時間,比事後爆肝趕工更值得先想清楚。
這種「五合一」專案,界線要先畫好
規劃、視覺、建模、前端、質檢,五個角色一肩挑。這在接案圈不罕見,而且聽起來很厲害。但你要留意的是,角色切換本身就是耗能的,每換一次心智模式,重新進入狀態都有成本。
如果你正在跑類似的專案,有幾件事可以先幫自己定位:交付範圍在開工前白紙黑字寫下來,像他那份「設施清單加一張截圖」就是難得明確的邊界,雖然陽春,至少有依據。對稿輪次約定上限,逐像素對齊可以是一個裏程碑,但別讓它變成無限輪次的無底洞。每天收工時留一句話給明天的自己,記下卡在哪裡,這比隔天重新回憶省下不少精神。
幾個值得留意的訊號
長時間高強度的建模與對稿工作之後,如果你出現眼睛乾澀刺痛到點人工淚液也壓不住、看遠處物體變糊且休息後沒有緩解、手腕或肩膀的痠痛持續超過一兩週、或睡前腦袋還在轉座標和法線,這些是身體在跟你反映負荷了。眼睛的問題可以掛眼科,手腕肩頸掛復健科,睡不好的部分先從固定收工時間開始調整。這些訊號不代表出大事,但值得給它一個明確的下一步,而不是硬撐到專案結束再說。
最後回到這篇文章本身。一張衛星截圖變出一座會跑車流的3D能源站,過程確實精彩。而撐起這些的,是一個坐在螢幕前好幾十個小時的人。技術可以腳本化,身體沒有流水線可跑,它的維護只能靠你自己一段一段排進日程裡。