1. 程式人生 > >模型動態載入繪製。

模型動態載入繪製。

要想有一個動態的線條繪製過程,那麼我們必須有一系列的點資料,通過點資料,我們不斷拿出進行渲染,才能將我們的點連成線,只需要對線不斷的更新,那麼我們的線也就成為了動態的線了。

懂了以上道理,我們便知道具體實現方向。接下來就是將我們的邏輯變成程式碼實現了。

首先上我們的需求外掛。

        <script src="./build/three.js"></script>
<script src="js/loaders/MTLLoader.js"></script>
<script src="js/loaders/OBJLoader.js"></script>

<script src="js/controls/OrbitControls.js"></script>

看了以上的庫,我們便知道跟模型有著很大的關聯,因為點的資料都是從模型裡面拿去的。那麼問題來了,模型那麼大,資料那麼多,直接使用會很卡的。對於卡頓,我來教教你獨門祕籍。

實現效果三步走。

第一步:場景配置。

第二步:資料載入以及模型資料解析配置輸出。

第三步:讀取資料,動態繪製線。

 

場景配置就不用說了哈。renderer scene camera 大哥大佬配置好就行。

接來下就是模型資料載入以及資料配置

 

 

arryAll是最重要的資料,代表所有的點集合!

紅框內就是動態線條的物件,後面我們會往裡面不斷新增點,從而產生動效。

上面用的bufferGeometry這樣的話,裡面的資料點是傳入的二進位制點資料,這個介面的原始設計目的,與 WebGL 專案有關。所謂 WebGL,就是指瀏覽器與顯示卡之間的通訊介面,為了滿足 JavaScript 與顯示卡之間大量的、實時的資料交換,它們之間的資料通訊必須是二進位制的,而不能是傳統的文字格式。文字格式傳遞一個 32 位整數,兩端的 JavaScript 指令碼與顯示卡都要進行格式轉化,將非常耗時。這時要是存在一種機制,可以像 C 語言那樣,直接操作位元組,將 4 個位元組的 32 位整數,以二進位制形式原封不動地送入顯示卡,指令碼的效能就會大幅提升。

 

接下來就是重要的環境了。

動態線繪製。顧名思義,往一個基礎線數組裡面不斷新增3個數據代表一個點,這樣才能達到更新的繪製效果

 

55行就是關鍵所在,不斷從arryAll裡面拿去座標,然後再放入線的幾何體座標資訊數組裡面。然後不斷重複以上函式。從而達到繪製效果了。

 

是不是很簡單哇、哈哈哈。

效果如圖。

 

整個動態過程,就是酷炫到沒朋友。打出一波combo

如果還是沒有聽懂,或者急於解決專案功能問題,可以直接來這看看視訊案例講解。

更多關於模型載入。高精度渲染。動態模型的案例等著你喲,

https://shop148593628.taobao.com/index.htm?spm=2013.1.w5002-18481335954.2.4a46313aagTY60