Three.js開發指南[Learning Three.js: The JavaScript 3D Library for W]pdf

圖書網
圖書網
圖書網
10560
文章
1403
評論
2020年6月26日12:13:35 評論 35
摘要

《Three.js開發指南》首部全面講解Three.js開發的實用指南,循序漸進講解Three.js的各種功能
通過大量交互式示例,深入探索使用開源的Three.js庫創建絢麗三維圖形的實用方法和技巧

Three.js開發指南[Learning Three.js: The JavaScript 3D Library for W] 作者:(美)JOS DIRKSEN

Three.js開發指南[Learning Three.js: The JavaScript 3D Library for W] 出版社:機械工業出版社

Three.js開發指南[Learning Three.js: The JavaScript 3D Library for W] 內容簡介

隨著HTML 5標準的頒布,以及流行瀏覽器的日益強大,直接在瀏覽器中展示三維圖形和動畫已經變得越來越容易,也越來越受關注。但是三維圖形和動畫本身比較復雜,不僅需要有豐富的數學、圖形學等方面的知識,還需要了解材質、貼圖等各種創建三維場景所必備的要素。另外,直接使用WebGL在瀏覽器中創建三維圖形和動畫也非常繁瑣,它所提供的各種接口盡管非常豐富且強大,但對于用戶來說未免過于復雜了。

Three.js的出現則完美地幫助人們解決了這個矛盾。Three.js將WebGL的強大功能融匯其中,同時又非常易于使用,即便用戶對其中的原理不甚了解,也能借助Three.js創建出絢麗多姿的三維場景和動畫。

《Three.js開發指南》先從基本概念和Three.js的基本模塊講起,然后伴隨著大量的示例和代碼,逐步擴展到更多的主題,循序漸進地講解Three.js的各種功能,幫助讀者充分利用WebGL和現代瀏覽器的潛能,直接在瀏覽器中創建動態的華麗場景
《Three.js開發指南》通過大量的示例和代碼,以互動的方式向讀者展示Three.js的各種功能。

《Three.js開發指南》共12章:第1章講述使用Three.js庫的基本步驟;第2章講解Three.js庫使用過程中所要了解的各種基礎組件,包括光源、網格、幾何體、材質和相機等;第3章通過具體示例講解場景中使用的各種光源;第4章討論Three.js庫中可以應用于網格的各種材質,并通過互動示例讓讀者試用這些材質;第5章講解Three.js中幾何體的創建和設置;第6章展示如何設置、使用Three.js庫中的高級幾何體,例如凸面體和掃描體;第7章講解如何使用Three.js庫中的粒子系統;第8章展示如何從外部導入網格和幾何體;第9章探索各種動畫效果,使場景活動起來;第10章深入講解材質的細節,包括如何控制材質,以及如何將HTML 5視頻的輸出和HTML 5畫布中的元素作為紋理;第11章探索如何使用Three.js庫來對已經渲染過的場景進行后期處理;第12章講解如何在Three.js的場景中添加物理效果。

Three.js開發指南[Learning Three.js: The JavaScript 3D Library for W] 目錄

前 言

致 謝

第1章用Three.js創建你的第一個三維場景

1.1 使用Three.js的前提條件

1.2 獲取源代碼

1.2.1 用Git克隆代碼倉庫

1.2.2 下載并解壓壓縮包

1.2.3 測試示例

1.3 創建HTML頁面框架

1.4 渲染并展示三維對象

1.5 添加材質、燈光和陰影

1.6 用動畫擴展你的首個場景

1.6.1 引入requestAnimation-Frame()方法

1.6.2 轉動方塊

1.6.3 彈跳球

1.7 使用dat.GUI庫簡化試驗

1.8 使用ASCII效果

1.9 總結

第2章使用構建Three.js場景的基本組件

2.1 創建場景

2.1.1 場景的基本功能

2.1.2 在場景中添加霧化效果

2.1.3 使用材質覆蓋屬性

2.2 使用幾何和網格對象

2.2.1 幾何對象的屬性和函數

2.2.2 網格對象的函數和屬性

2.3 選擇合適的相機

2.3.1 正投影相機和透視相機

2.3.2 讓相機在指定點上聚焦

2.4 總結

第3章使用Three.js里的各種光源

3.1 探索Three.js庫提供的光源

3.2 學習基礎光源

3.2.1 AmbientLight-影響整個場景的光源

3.2.2 PointLight-照射所有方向的光源

3.2.3 SpotLight-具有錐形效果的光源

3.2.4 DirectinalLight-模擬遠處類似太陽的光源

3.2.5 使用特殊光源生成高級光照效果

3.3 總結

第4章使用Three.js的材質

4.1 理解共有屬性

4.1.1 基礎屬性

4.1.2 融合屬性

4.1.3 高級屬性

4.2 從簡單的網格材質(基礎、深度和面)開始

4.2.1 簡單表面的MeshBasic-Material

4.2.2 基于深度著色的MeshDepthMaterial

4.2.3 聯合材質

4.2.4 計算法向顏色的MeshNormalMaterial

4.2.5 為每個面指定材質的MeshFaceMaterial

4.3 學習高級材質

4.3.1 用于暗淡、不光亮表面的MeshLambertMaterial

4.3.2 用于光亮表面的MeshPhongMaterial

4.3.3 用ShaderMaterial創建自己的著色器

4.4 線段幾何體的材質

4.4.1 LineBasicMaterial

4.4.2 LineDashedMaterial

4.5 總結

第5章學習使用幾何體

5.1 Three.js提供的基礎幾何體

5.1.1 二維幾何體

5.1.2 三維幾何體

5.2 總結

第6章使用高級幾何體和二元操作

6.1 ConvexGeometry

6.2 LatheGeometry

6.3 通過拉伸創建幾何體

6.3.1 ExtrudeGeometry

6.3.2 TubeGeometry

6.3.3 從SVG拉伸

6.3.4 ParametricGeometry

6.4 創建三維文本

6.4.1 渲染文本

6.4.2 添加自定義字體

6.5 使用二元操作組合網格

6.5.1 subtract函數

6.5.2 intersect函數

6.5.3 union函數

6.6 總結

第7章粒子和粒子系統

7.1 理解粒子

7.2 粒子、粒子系統和BasicParticleMaterial

7.3 使用HTML5畫布格式化粒子

7.3.1 在CanvasRenderer類里使用HTML5畫布

7.3.2 在WebGLRenderer中使用HTML5畫布

7.4 使用紋理格式化粒子

7.5 從高級幾何體中創建粒子系統

7.6 總結

第8章創建、加載高級網格和幾何體

8.1 幾何體組合和合并

8.1.1 對象組合

8.1.2 將多個網格合并成一個網格

8.2 從外部資源中加載幾何體

8.3 以Three.js的JSON格式保存和加載

8.3.1 保存和加載幾何體

8.3.2 保存和加載場景

8.4 使用Blender

8.4.1 在Blender中安裝Three.js導出器

8.4.2 在Blender里加載和導出模型

8.5 導入三維格式文件

8.5.1 OBJ和MTL格式

8.5.2 加載Collada模型

8.5.3 加載STL、CTM和VTK模型

8.5.4 展示蛋白質數據銀行中的蛋白質

8.5.5 從PLY模型中創建粒子系統

8.6 總結

第9章創建動畫和移動相機

9.1 基礎動畫

9.1.1簡單動畫

9.1.2 選擇對象

9.1.3 用Tween.js做動畫

9.2 使用相機

9.2.1 軌跡球控件

9.2.2 飛行控件

9.2.3 翻滾控件

9.2.4 第一人稱控件

9.2.5 軌道控件

9.2.6 路徑控件

9.3 變形動畫和骨骼動畫

9.3.1 用變形目標制作動畫

9.3.2用骨骼和蒙皮制作動畫

9.4使用外部模型創建動畫

9.4.1 用Blender創建骨骼動畫

9.4.2從Collada模型中加載動畫

9.4.3從雷神之錘模型中加載動畫

9.5總結

第10章加載和使用紋理

10.1在材質中使用紋理

10.1.1加載紋理并應用到網格

10.1.2使用凹凸貼圖創建皺紋

10.1.3使用法向貼圖創建更加細致的凹凸和皺紋

10.1.4使用光照貼圖創建假陰影

10.1.5用環境貼圖創建虛假的反光效果

10.1.6高光貼圖

10.2紋理的高級用途

10.2.1定制UV映射

10.2.2重復映射

10.2.3在畫布上繪制圖案并作為紋理

10.3總結

第11章定制著色器和渲染后期處理

11.1設置后期處理

11.1.1創建EffectComposer對象

11.2后期處理通道

11.2.1簡單后期處理通道

11.2.2 使用掩膜的高級效果組合器

11.2.3 用ShaderPass定制效果

11.3 創建自定義的后期處理著色器

11.3.1 定制灰度圖著色器

11.3.2 定制位著色器

11.4 總結

第12章用Physijs在場景中添加物理效果

12.1 創建可用Physijs的基本Three.js場景

12.2 材質屬性

12.3 基礎圖形

12.4 使用約束限制對象移動

12.4.1 用PointConstraint限制兩點間的移動

12.4.2 用HingeConstraint創建類似門的約束

12.4.3 用SliderConstraint將移動限制到一個軸

12.4.4 用ConeTwistConstraint創建類似球銷的約束

12.4.5 用DOFConstraint實現細節的控制

12.5 總結

Three.js開發指南[Learning Three.js: The JavaScript 3D Library for W] 精彩文摘

如今瀏覽器的功能越來越強大,而且這些功能可以通過JavaScript直接調用。你可以用HTML5標簽輕松地添加視頻和音頻,而且可以在HTML5畫布上創建各種交互組件?,F在這個功能集合里又有了一個新成員,即支持WebGL。通過WebGL,你可以直接使用顯卡的計算資源,創建高性能的二維和三維計算機圖形,然后在JavaScript里直接使用WebGL編程,創建三維場景并生成動畫,這個過程非常復雜,而且容易出錯。Three.js庫可以簡化這個過程。

圖書網:Three.js開發指南[Learning Three.js: The JavaScript 3D Library for W]pdf

繼續閱讀
  • 我的微信
  • 掃一掃加好友
  • weinxin
  • 微信公眾號
  • 掃一掃關注
  • weinxin
深入淺出Spring Boot 2.x pdf 程序設計

深入淺出Spring Boot 2.x pdf

適讀人群 :各類Java微服務開發人員,Spring開發人員,互聯網技術愛好者,微服務開發人員,由于Java EE在互聯網的強勢地位,擁有的讀者比較廣闊。 本書重點講解Spring...
Spring源碼深度解析(第2版)pdf 程序設計

Spring源碼深度解析(第2版)pdf

全面剖析Spring源碼,方便讀者根據業務需求進行更改或擴展 所有知識點秉承由淺入深、由易到難的講解架構 采用抽絲剝繭的方式來闡述復雜的邏輯,降低理解難度 Spring是一個源碼開...
Scratch編程從入門到精通pdf 程序設計

Scratch編程從入門到精通pdf

本書融合數學、游戲和算法,從零開始講授編程概念,幫助初學者掌握編程思想和建立Scratch編程知識體系,為青少年提供一本從入門到精通的Scratch編程參考教材。 (1)數學編程 ...
匿名

發表評論

匿名網友 填寫信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: