Three.js 是一套基於 WebGL 開發出的 Javascript 函式庫,它提供了比 WebGL 更簡單的 Javascript API,讓開發者能夠...
在開始動手寫 Three.js 之前,先來簡單了解一些 Three.js 中基本元素的概念:Scene、Camera、Object、Geometry、Mate...
在程式語言的學習過程中,第一步當然就是先寫個「Hello world」了!本篇文章將手把手的透過簡單的範例,逐行分析程式碼,建立本系列的第一個 3D 場景及物...
物理引擎是一套能用來模擬真實世界物理效果的系統,例如:碰撞偵測、加速度、重力、摩擦力、空氣阻力等,以下將會介紹有哪些可以用來輔助 Three.js 的物理引擎...
昨天了解了整個專案的架構,首先就從基本的人物模型開始動手吧! Photo by Jeremy Thomas on Unsplash 這是本系列第 0...
今天主要是設定方面的內容,要加上的工具包含 OrbitControls 與 stats.js。一個是軌道控制器,透過拖移及縮放調整相機位置;另一個是畫面刷新頻...
今天開始專案實作第一天,先來聊聊接下來的這整個專案要做些什麼吧! Photo by rawpixel on Unsplash 這是本系列第 04 篇...
今天將介紹四種基礎光源:「環境光(AmbientLight)、點光源(PointLight)、聚光燈(SpotLight)、平行光(DirectionalLi...
DAY 16. Three.js 相機Camera 相機 Camera 在3D的環境中可以把它當成視角, 我們可以給它定位、關注點, 也可以搭配相機的位置角度來...
遊戲中的苦力怕行走機制是當玩家進入它的警戒範圍後,苦力怕會追著玩家跑,今天就讓我們利用 Tween.js 來實做這個部分,目標是做到能讓苦力怕追蹤鏡頭移動及轉...
今天將延續昨天的光源主題,在專案中實作光影效果,並透過移動點光源的動畫,讓光影效果的內容更有趣! Photo by Kristine Weilert o...
DAY 15. Three.js 渲染器 Renderer 在Three.js 初探文中, 我在最後寫了這麼一段程式來渲染整個場景 // 定義渲染器 let r...
在準備幫專案的人物貼上皮膚前,今天先來了解一下材質的種類以及屬性吧! Photo by Patrick Tomasso on Unsplash 這是...
粒子系統可以透過輕易地創建許多細小的物體,模擬各種粒子效果,如雪花、雨滴、星空、煙霧、火焰、煙火、爆炸等等,本篇文章讓我們來學習粒子系統的背景知識及簡單的練習...
此系列文將從 Three.js 基本觀念切入,前面幾篇會簡單介紹如何用 Three.js 的基本元素在網頁上畫出 3D 場景與物體,之後直接透過實作遊戲專案,...
在瞭解了材質的種類及屬性後,今天要透過專案實作,來幫前面所建立的苦力怕模型貼上材質與皮膚,讓人物的還原度更高一些! Photo by Manolo Ch...
DAY 19. Three.js 材質 Material 材質 Material 3D場景中所看到的任何物件都是幾何Geometry加上材質Material的...
昨天瀏覽過許多 3D 物理引擎後,筆者最後選擇使用 Cannon.js 做為接下來射擊效果的輔助套件,今天先透過練習 Cannon.js 的 Hello wo...
昨天完成了計分機制的實作,今天要來將整個遊戲的流程串起來,完成進入遊戲、開始遊戲、遊戲結束、再玩一次的流程,並且實作遊戲中關於時間倒數及結束後的分數統計。...
今天要利用前面練習過的粒子系統,學習如何在網頁上實作 3D 爆炸的特效,並會透過 dat.GUI 來觸發爆炸、改變爆炸粒子尺寸、相機參數來測試更合適的視覺效果...
[Day6] webGL 修羅道(3) - Animation 與 varying demo 昨天我們介紹完了如何傳遞資料給著色器,並且透過著色器畫了三個點,昨...
You know nothing, Jon Snow. 在實作粒子系統的動畫效果時,踩到了個大坑,本篇將會繼續完成前一天的雪花飄落動畫,並分享實作中遇到的問題...
DAY 20. Three.js 紋理 Texture 紋理 Texture 紋理Texture並不是建立一個3D場景必要的存在, 沒有紋理Texture一樣可...
本系列文也即將接近尾聲,此篇會帶各位讀者瀏覽整個系列文的大綱涵蓋了哪些內容,並且最後會分享這兩個月以來的學習資源,提供對 Three.js 有興趣的讀者做更進...
眼見鐵人賽已經要接近尾聲,接下來幾天將邊實現射擊效果邊直接整合專案,而為了達成射擊遊戲的條件,首先就需要設定一個可以根據鼠標瞄準的第一人稱視角控制器,以下我們...
今天是專案的最後一個 Part 啦!要來加入背景音效、爆炸音效、射擊音效,並做場景中的草地貼圖、磚塊貼圖與光源調整,另外最後會試著練習載入外部模型做個完整的收...
瞭解了基本的粒子系統如何建立後,今天要來練習實作粒子系統中常見的應用:雪花。以下將會透過建立粒子系統、載入貼圖、雪花飄落動畫來一步步做出華麗的粒子特效。...
DAY 17. Three.js 光源 Light 在3D的應用當中, 光源Light是相當普遍的運用, 如果該3D場景Scene沒有光源, 通常會是黑漆漆的一...
在昨天的移動點光源實作上,我們透過更改光源的位置來達到動畫的效果,今天讓我們深入動畫的操作並實際上透過讓苦力怕擺頭、走動、膨脹的動作來練習基本動畫。 P...
終於也來到本系列文最後一篇啦!可以睡覺啦! 緣起 其實去年就有想參加的念頭了,但始終覺得自己好像網頁開發的技術也只學了一些皮毛,沒什麼材料可以寫就不了了...