翻譯:VR 設計實務
有時翻譯就是讓自己細看一下,順便推動些什麼。這篇翻譯自 A-frame Best Practices (v0.4.0),遵循原文採 CC:BY-SA 釋出。我不會逐字翻譯,且有些句子可能也照我的想法有輕重程度不同的語氣改寫,有所見意者歡迎歡迎留言或用任何方法告知我改進。

有時翻譯就是讓自己細看一下,順便推動些什麼。這篇翻譯自 A-frame Best Practices (v0.4.0),遵循原文採 CC:BY-SA 釋出。我不會逐字翻譯,且有些句子可能也照我的想法有輕重程度不同的語氣改寫,有所見意者歡迎歡迎留言或用任何方法告知我改進。
VR 設計
VR 環境裡的設計與平面的體驗大有不同,作為新的媒體自然有些新的典範可以遵從,特別在保持使用者舒適及穩定的部分更是。上述要點已有他人透徹寫下,所以我們也跟著這些綜合的指南走:
有些事情值得一提:
- 基本黃金準則:永遠別在使用者不預期的情形下,自行控制使用者的鏡頭視角。
- 長度單位(例如用在位置等處)應以公尺來考量,因為 WebVR API 傳回姿態(pose)資料時採用的單位即為公尺,也以此傳給大部分的鏡頭控制方法。以公尺為單位思量,即可達到預期中的比例。
效能
VR 裡的效能至關重要,畫面更新率(framerate)夠高使用者才能保持舒適。以下有幾個在 A-Frame 環境中增強效能的訣竅:
- 使用推薦的硬體環境
- 使用 stats 組件監控各種數值(包括 FPS、節點數、多邊形面數、幾何物件數量、材質數量、重繪呼叫、實體數量等等)。FPS 要試圖提高、其他要試圖降低。
- 善用 3D 物件管理系統,以便得益自瀏覽器的快取及預讀機制。若算圖速度會比讀入所有物件還慢,就試著在算圖前先載入所有物件。
- 在許多幾何物件共用同一個材質時,善用幾何物件合併以減少重繪呼叫次數。
- 若使用物件模型,則可試著將燈光效果直接做進材質上,避免仰賴即時光影運算。
- 一般說來,場景中用到越少實體與光源越好。
- 確保材質的解析度為二的次方數(例如 256x256、512x1024 等),避免算圖時還得及時調整材質尺寸。
A-Frame
另外還有些關於 A-Frame 框架的典範:
- 遵守 Don’t repeat yourself(DRY,不要重複)原則。善用揉合(Mixins)及範本,減少複製-貼上次數,也減少場景中的 HTML 程式碼。
- 善用實體-組件-系統(ECS)架構。以組件方式開發,程式碼本身表達更明確,更可重複利用程式。
喜歡這篇文章嗎?讓更多人有機會閱讀


留言
留言透過 giscus 存在 GitHub,用 GitHub 帳號登入就能留言。