HTML5 Three.js 3D特效
一、Three.js基本介紹
Three.js是JavaScript編寫的WebGL第三方庫。提供了非常多的3D顯示功能。Three.js 是一款執行在瀏覽器中的 3D 引擎,你可以用它建立各種三維場景,包括了攝影機、光影、材質等各種物件。你可以在它的主頁上看到許多精采的演示。不過,這款引擎目前還處在比較不成熟的開發階段,其不夠豐富的 API 以及匱乏的文件增加了初學者的學習難度(尤其是文件的匱乏,基本沒有中文的)Three.js的程式碼託管在github上面。
二、基本 Demo
三、Three.js編寫環境準備
2.已安裝IIS或Tomcat或Apache,這些例子必須掛到伺服器上才能正常執行,本地開啟會出現各種無法理解的問題。
四、動手編寫第一個 Demo
- <!doctype html>
- <htmllang="en">
- <head>
- <title>Template (Three.js)</title>
- <metacharset="utf-8">
- <metaname="viewport"
- content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
-
<linkrel=stylesheet
- </head>
- <body>
- <scriptsrc="../js/Three.js"></script><!-- 這個是Three.js引擎的js -->
- <scriptsrc="../js/Detector.js"></script>
- <scriptsrc="../js/Stats.js"></script>
-
<scriptsrc="../js/OrbitControls.js"></script>
- <scriptsrc="../js/THREEx.KeyboardState.js"></script>
- <scriptsrc="../js/THREEx.FullScreen.js"></script>
- <scriptsrc="../js/THREEx.WindowResize.js"></script>
- <scriptsrc="../js/Texture.js"></script><!-- 一些js工具類,現在不深究 -->
- <divid="ThreeJS"
- style="z-index: 1; position: absolute; left: 0px; top: 0px"></div><!-- 這個div就是整個畫布 -->
- <script>
- //////////
- // MAIN //
- //////////
- // standard global variables
- var container, scene, camera, renderer, controls, stats; // 幾個變數代表的含義:容器、場景、攝像機(視角)、渲染器、控制裝置
- var keyboard = new THREEx.KeyboardState();
- var clock = new THREE.Clock();
- // custom global variables
- var cube;
- // initialization
- init();
- // animation loop / game loop
- animate();
- ///////////////
- // FUNCTIONS //
- ///////////////
- function init() { // 初始化
- ///////////
- // SCENE //
- ///////////
- scene = new THREE.Scene(); // 定義場景
- ////////////
- // CAMERA //
- ////////////
- // set the view size in pixels (custom or according to window size)
- // var SCREEN_WIDTH = 400, SCREEN_HEIGHT = 300;
- var SCREEN_WIDTH = window.innerWidth, SCREEN_HEIGHT = window.innerHeight;
- // camera attributes
- var VIEW_ANGLE = 45, ASPECT = SCREEN_WIDTH / SCREEN_HEIGHT, NEAR = 0.1, FAR = 20000;
- // set up camera
- camera = new THREE.PerspectiveCamera(VIEW_ANGLE, ASPECT, NEAR, FAR); // 定義視角
- // add the camera to the scene
- scene.add(camera);
- // the camera defaults to position (0,0,0)
- // so pull it back (z = 400) and up (y = 100) and set the angle towards the scene origin
- camera.position.set(-400, 150, 200); // 視角的位置
- camera.lookAt(scene.position);
- //////////////
-
相關推薦
HTML5 Three.js 3D特效
一、Three.js基本介紹 Three.js是JavaScript編寫的WebGL第三方庫。提供了非常多的3D顯示功能。Three.js 是一款執行在瀏覽器中的 3D 引擎,你可以用
前端工程師必會的技能-three.js 3D顯示功能
描述 java 比較 three.js 插件 它的 指導 iis 攝影機 three.js是JavaScript編寫的WebGL第三方庫。提供了非常多的3D顯示功能。Three.js 是一款運行在瀏覽器中的 3D 引擎,你可以用它創建各種三維場景,包括了攝影機、光影、材質等
【three.js :3D】obj+mtl中大部分引數的含義解析(轉載)+自己補充的。
轉載:obj + mtl 格式說明 另一個參考:convert_obj_three.py指令碼中,作者對一些引數的解析。【其實這篇轉載的內容後半部分和.py指令碼內容相對應】 OBJ(或 .OBJ)是一種開放的幾何定義檔案格式,最初由Wavefront T
【three.js : 3D】【load】threejs:3D模型匯入問題
轉載:threejs:3D模型匯入問題 想想複雜的模型就交給3D設計師進行創作,而我們開發時只需引入模型檔案,是不是很美滋滋? 當然,如果你時間充裕,又對模型創作感興趣,那你確實可以花時間好好學習3D建模軟體的使用,這樣以後就可以自己建立所需模型,由自己匯出與匯入模型檔案。
【three.js : 3D】【loader】THREE.js中載入不同格式的模型及動畫(fbx、json和obj)
轉載:THREE.js中載入不同格式的模型及動畫(fbx、json和obj) 注:本文章內容基於 Three.js 88dev 實現 作為剛接觸three.js的小萌新,勵志將自己開荒歷程記錄下來,希望對後來人有所幫助。 網上有很多demo,文件卻不多。每次都是,照搬別人的
【Three.js:3D模型】各種模型簡單介紹
轉載:3D模型彙總----骨骼模型 3D模型的格式有很多,每個公司或軟體都可以自己定義自己的格式,或公開或不公開。如max,obj, x(微軟),fbx(被Autodesk收購),dae,md2(Quake2),ms3d(MilkShap3D),mdl(魔獸3
【Three.js:3D模型】常用建模軟體
轉載:常見的3D列印檔案格式及常用的軟體 常用建模軟體之一:3Dsmax ;最常見的3D建模軟體,廣泛應用於廣告、影視、工業設計、建築設計、三維 動畫、多媒體制作、遊戲、輔助教學以及工程視覺化等領域。 支援開啟的格式有:max,drf,chr 支援儲存的格
【Three.js:3D模型】【轉載】OBJ檔案格式詳解
轉載:3D中的OBJ檔案格式詳解 常見到的*.obj檔案有兩種:第一種是基於COFF(Common Object File Format)格式的OBJ檔案(也稱目標檔案),這種格式用於編譯應用程式;第二種是Alias|Wavefront公司推出的OBJ模型檔案。本文對第二種ob
如何用webgl(three.js)搭建一個3D庫房-第一課
com ima gn3 cool otto ttl 百度 core 4.6 今天我們來討論一下如何使用當前流行的WebGL技術搭建一個庫房並且實現實時有效交互 第一步、搭建一個3D庫房首先你得知道庫房長啥樣,我們先來瞅瞅庫房長啥樣(這是我在網上找的一個庫房圖片,百度了“庫房
[微信小遊戲+Three.JS]給場景添加反射材質,實現3D水珠移動效果
rac webgl round 圖片 nmap 微信小遊戲 ops In 繪制 前幾篇博客,我分別加好了3D移動盒子,也給場景加好了天空盒 這篇博客,就給場景再加一些效果 繪制的水珠的源代碼來自Three.JS在GitHub上的demo 小遊戲所用到的,修改過的JS庫
three.js的wave特效(ivew官網首頁波浪特效實現)
alt 使用 實現 功夫 inf 有效 訪問 顏色 index 查看效果請訪問:https://521lbx.github.io/Web3D/index.html公司的好幾個vue項目都是用ivew作為UI框架,所以ivew官網時不時就得逛一圈。每一次進首頁都會被首頁的波浪
使用webgl(three.js)搭建一個3D建築,3D消防模擬,web版3D,bim管理系統——第四課
function getBuildFloorData() { var models = [{ "show": true, "uuid": "", "name": "m4_dtWall_1", "objType": "cube2", "length": 1000, "width": 200, "hei
使用THREE-js設計一款3D遊戲.md
使用THREE.js製作一款3D遊戲 前言 這個學期選修了一門計算機圖形學的課程,課程選用的教材是基於WebGL。在此之前我對計算機圖形學是沒有任何概念的,只知道如果想要設計一款遊戲具有圖形學的知識是很重要的。我從來就有一個念想就是製作一款遊戲,因此我對這方面
html5+css+js實現動畫特效,人物動畫
// 動畫結束事件 var animationEnd = (function() { var explorer = navigator.userAgent; if (~explorer.indexOf('WebKit')) {
在微信小遊戲中使用three.js顯示3D圖形
年前,微信釋出了一個重磅訊息:微信小程式的小遊戲功能,千呼萬喚始出來! 筆者之前從未接觸過微信小程式和WebGL的開發,但是卻一直有留意相關技術的發展,大概聽說原來微信小程式是不支援WebGL 3D技術的。這次藉著微信大力推廣小遊戲,看了一下API文件,發現小遊戲是可以使用
初識3D圖形庫three.js
Three.js是當下最流行的網頁3D渲染JS引擎,其主要是對WebGL程式設計以面向物件方式進行的封裝。 但由於Three.js英文文件還在開發中(本身就比較簡陋且有不少拷貝錯誤),而網路上Three.js方面的資料比較散亂且良莠不齊,部分中文文件翻譯低階錯誤頻出, 以
Three.js 粒子系統動畫與發光材質——利用HTML5畫布繪製
用Three.js做了個字型的粒子系統動畫,且`自定義性`極高,設定speedX=speedY=speedZ=1000的引數,截圖如下: Three的三大基本元件:相機,渲染器,場景在這就沒必要說了吧,百度有很多資料 接下來我們分幾個步驟來講解如何做出這個粒子動畫
使用three.js開發3d地圖初探
height 偏移量 圖標 positions ict 拍攝 獲取 失真 情況 three是圖形引擎,而web二維三維地圖都是基於圖形引擎的,所以拿three來開發需求簡單的三維地圖應用是沒什麽問題的。 1.坐標轉換 實際地理坐標為經度、緯度、高度,而three
three.js模型搭建與地圖的3D視覺化參考資源
-----------------------------------------------------------------------某些資源需自備梯子-------------------------------------------------------
【H5 3D應用開發】 Three.js 播放json模型動畫並切換動畫(一)
1、匯入Js模型 var loader = new THREE.JSONLoader(true); //JSONLoader構造傳入true,即showStatus=ture(顯示載入進度)