THREEjs geometry升級buffergeometry的萬能方法

更新於 發佈於 閱讀時間約 1 分鐘
在THREE r125版本開始,THREE.Geometry就被棄用。
自己的職位是IT前端,由於套件安全性的原因,需要對THREE套件進行升級,但自己所在公司的程式內還有大量的Geometry。
因為前輩們開發了一些複雜強大的算法,如果用Threejs官方建議的正規方法,自己必須要看懂並且改寫算法。但自己水平有限,所以只能另尋其他方法。
這些踩坑路上找到的強大方法,感覺隨著時間消失太可惜了,所以這裡將大概的思想記錄下來分享給大家。

複製轉換函式

在r124版本,有Geometry與BufferGeometry轉換的函式,可以把這幾個函式需要的部分取出來,改造一下,變成自己的工具函式,需要時就呼叫使用。

自創Geometry物件

大部分程式不會一次用到Geometry的所有欄位,所以我們可以自己建立簡單Geometry物件,裡面只需包含簡單必要的欄位就行。
當然也可以自創整個Geometry類別,但我為了保持程式簡單,只有建立簡單有必要欄位的物件,需要用到的函式都提取成工具函式。

改寫程式

有了這個假的類別,又有了假的轉換函式,就不用擔心新版Threejs棄用Geometry了。
理論上也不需修改前輩們的複雜算法,只要把Geometry類別替換成自己假的Geometry物件,輸出時再用假的工具函式轉換成BufferGeometry即可。
但是這個方式非常耗效能,所以不到必不得已,還請斟酌使用。
avatar-img
4會員
9內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
什麼是 Trianglify Generator? 對於設計師來說,創造吸引人的背景圖案是日常工作的一部分。而在這其中,多邊形風格的圖片素材常常受到青睞。今天要介紹的是一個簡單又方便的解決方案——Trianglify Generator。這是一個線上工具,不需要下載和安裝軟體,只需打開瀏覽器即可使
Thumbnail
在設計系裡,Scale的能力特別重要。這種觀點的縮放技巧不僅在藝術創作中有用,也適用於職場工作。透過放大和縮小的方式觀察產品,可以發現設計上的細節和大外觀的重要性。文章以敘述3D建模的訓練如何幫助學生培養這種能力,並強調這對於工作後的表現有著重要影響。
一、Blender 是一款强大的开源3D创作套件,如今已广为人知并在多个领域中广泛应用。它不仅适用于各种3D建模、动画制作,还包括一些视觉特效、游戏开发和3D打印设计等。以下是Blender的一些主要特点及其“魔力”所在: 1. 全功能集成 3D建模:支持多边形建模、曲线建模、雕刻、精确建模等多
  第三人稱視角延伸環節,重述一次,三種人稱視角的自由度與開闊度比較:   第三人稱>第一人稱>第二人稱   第二人稱幾乎毫無開闊度可言,因此僅介紹第一與第三。
在3ds Max中,「Edit Mesh」是一種編輯模式,用於編輯三維模型的網格結構。進入Edit Mesh模式後,你可以對模型的頂點、邊和面進行各種編輯操作,比如移動、旋轉、縮放、切割等,從而修改模型的形狀和結構。 在Edit Mesh模式下,你可以選擇頂點、邊或面,並對它們進行編輯。你可以
Thumbnail
在物件導向程式設計的進階階段,學生將學習繼承、介面、抽象類別等核心概念。繼承允許類別共享屬性和方法,介面確保實現類別提供特定的方法實現,而抽象類別定義了基本結構供子類別擴展。這些知識點有助於提升程式碼的重用性、擴展性和維護性。
Thumbnail
是的,身為前端工程師的基本功!還是需要時不時拿出來打磨一番! 很多大公司的切版與前端是分開的,但不能因為碰不到就不去理解,假如要系統性的調整樣式,那麼你就一定要懂基礎,就好像你要調整微前端的架構,總不能連包板工具的設定都不會吧! 回到正題,這系列文章每個禮拜三都會更新一題CSS Battle的題
Thumbnail
建築3D圖固然能夠取代許多傳統圖說。值得多加利用!
讓我在這篇文章總結一下前面對物件導向設計的討論,我們討論了物件導向的四個特性:繼承、抽象、多型、封裝,分析了它們的問題,並跟函數式編程的思維做比較。我們引入了與之相對應的特性:泛型、特性系統、模組化,有些特性雖然跟那四個特性很像,但在一些細微的地方有不同的詮釋,使得整體思考方式很不一樣。 「繼
Thumbnail
Transformer被廣泛運用在各種生成式AI,激起了本篇作者的好奇心,是否能用Transformer學到所有先驗知識,足以讓它由一張2D圖片還原3D物件。本篇也從Github上面找到由ZexinHe開源的LRM實作程式,讓有興趣的人可以深入研究。
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
什麼是 Trianglify Generator? 對於設計師來說,創造吸引人的背景圖案是日常工作的一部分。而在這其中,多邊形風格的圖片素材常常受到青睞。今天要介紹的是一個簡單又方便的解決方案——Trianglify Generator。這是一個線上工具,不需要下載和安裝軟體,只需打開瀏覽器即可使
Thumbnail
在設計系裡,Scale的能力特別重要。這種觀點的縮放技巧不僅在藝術創作中有用,也適用於職場工作。透過放大和縮小的方式觀察產品,可以發現設計上的細節和大外觀的重要性。文章以敘述3D建模的訓練如何幫助學生培養這種能力,並強調這對於工作後的表現有著重要影響。
一、Blender 是一款强大的开源3D创作套件,如今已广为人知并在多个领域中广泛应用。它不仅适用于各种3D建模、动画制作,还包括一些视觉特效、游戏开发和3D打印设计等。以下是Blender的一些主要特点及其“魔力”所在: 1. 全功能集成 3D建模:支持多边形建模、曲线建模、雕刻、精确建模等多
  第三人稱視角延伸環節,重述一次,三種人稱視角的自由度與開闊度比較:   第三人稱>第一人稱>第二人稱   第二人稱幾乎毫無開闊度可言,因此僅介紹第一與第三。
在3ds Max中,「Edit Mesh」是一種編輯模式,用於編輯三維模型的網格結構。進入Edit Mesh模式後,你可以對模型的頂點、邊和面進行各種編輯操作,比如移動、旋轉、縮放、切割等,從而修改模型的形狀和結構。 在Edit Mesh模式下,你可以選擇頂點、邊或面,並對它們進行編輯。你可以
Thumbnail
在物件導向程式設計的進階階段,學生將學習繼承、介面、抽象類別等核心概念。繼承允許類別共享屬性和方法,介面確保實現類別提供特定的方法實現,而抽象類別定義了基本結構供子類別擴展。這些知識點有助於提升程式碼的重用性、擴展性和維護性。
Thumbnail
是的,身為前端工程師的基本功!還是需要時不時拿出來打磨一番! 很多大公司的切版與前端是分開的,但不能因為碰不到就不去理解,假如要系統性的調整樣式,那麼你就一定要懂基礎,就好像你要調整微前端的架構,總不能連包板工具的設定都不會吧! 回到正題,這系列文章每個禮拜三都會更新一題CSS Battle的題
Thumbnail
建築3D圖固然能夠取代許多傳統圖說。值得多加利用!
讓我在這篇文章總結一下前面對物件導向設計的討論,我們討論了物件導向的四個特性:繼承、抽象、多型、封裝,分析了它們的問題,並跟函數式編程的思維做比較。我們引入了與之相對應的特性:泛型、特性系統、模組化,有些特性雖然跟那四個特性很像,但在一些細微的地方有不同的詮釋,使得整體思考方式很不一樣。 「繼
Thumbnail
Transformer被廣泛運用在各種生成式AI,激起了本篇作者的好奇心,是否能用Transformer學到所有先驗知識,足以讓它由一張2D圖片還原3D物件。本篇也從Github上面找到由ZexinHe開源的LRM實作程式,讓有興趣的人可以深入研究。