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