HTML5畫布上的Three.js環境燈光(HTML5CanvasThree.jsAmbientLighting)
HTML5 畫布上的 Three.js 環境燈光(HTML5 Canvas Three.js Ambient Lighting)
太陽火神的美麗人生 (http://blog.csdn.net/opengl_es)
本文遵循“署名-非商業用途-保持一致”創作公用協議
HTML5 畫布上的 Three.js 環境燈光
HTML5 Canvas Three.js Ambient Lighting
<!DOCTYPE HTML> <html> <head> <style> body { margin: 0px; padding: 0px; } </style> </head> <body> <div id="container"></div> <script src="http://www.html5canvastutorials.com/libraries/three.min.js"></script> <script defer="defer"> // revolutions per second var angularSpeed = 0.2; var lastTime = 0; // this function is executed on each animation frame function animate(){ // update var time = (new Date()).getTime(); var timeDiff = time - lastTime; var angleChange = angularSpeed * timeDiff * 2 * Math.PI / 1000; cube.rotation.y += angleChange; lastTime = time; // render renderer.render(scene, camera); // request new frame requestAnimationFrame(function(){ animate(); }); } // renderer var renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); // camera var camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 1000); camera.position.z = 500; // scene var scene = new THREE.Scene(); // cube var cube = new THREE.Mesh(new THREE.CubeGeometry(200, 200, 200), new THREE.MeshLambertMaterial({ color: `blue` })); cube.overdraw = true; cube.rotation.x = Math.PI * 0.1; scene.add(cube); // add subtle blue ambient lighting var ambientLight = new THREE.AmbientLight(0x000044); scene.add(ambientLight); // directional lighting var directionalLight = new THREE.DirectionalLight(0xffffff); directionalLight.position.set(1, 1, 1).normalize(); scene.add(directionalLight); // start animation animate(); </script> </body> </html>
討論
Discussion
要使用 Three.js 建立環境燈光,我們可以例項化一個 AmbientLight 物件,然後把它新增到場景中。環境燈光需要一個顏色來定義。環境燈光照亮整個場景,可用於柔化位置燈光,諸如 directional 燈光。
To create ambient lighting with Three.js, we can instantiate an AmbientLight object and then add it to the scene. AmbientLight requires is defined with a color. Ambient lights illuminate the entire scene and can be used to soften positional lights such as directional lights.
相關文章
- HTML5畫布-小球碰撞HTML
- HTML5怎樣建立畫布?HTML
- HTML5畫布如何設定線的樣式?HTML
- html5中canvas元素建立畫布介紹HTMLCanvas
- 基於 HTML5 WebGL 的 3D 場景中的燈光效果HTMLWeb3D
- 如何上傳HTML5應用到SAP雲平臺的CloudFoundry環境下HTMLCloud
- 【 HTML5畫布漂浮分子 讓化學動起來!】HTML
- 如何上傳HTML5應用到SAP雲平臺的Cloud Foundry環境下HTMLCloud
- 熬夜總結了 “HTML5畫布” 的知識點(共10條)HTML
- Unity中的Light燈光Unity
- Threejs入門-燈光JS
- Xcode配置測試環境和線上環境XCode
- vue cli(webpack)增加發布到測試環境VueWeb
- 【UE燈光•簡介】UE4光照型別和燈光引數型別
- canvas簡單的畫布動畫 - KaiqisanCanvas動畫AI
- 微星鍵盤燈光怎麼設定 微星鍵盤怎麼調燈光
- 畫布就是一切(一)— 畫布程式設計的基本模式程式設計模式
- 使用 Conda 管理 MacOS 上的 Ansible 環境Mac
- Windows上搭建Standalone模式的Spark環境Windows模式Spark
- 燈光系統圖繪製
- Centos上安裝Node環境CentOS
- PHP 線上開發環境PHP開發環境
- 雷蛇鍵盤怎麼設定燈光 雷蛇鍵盤燈光怎麼調
- rk鍵盤怎麼調燈光模式 rk機械鍵盤怎麼調燈光模式
- 燈光水舞秀表演的設計要點
- RabbitMQ系列(一)在Ubuntu上的環境搭建MQUbuntu
- 瞭解canvas畫布Canvas
- 機械鍵盤燈光怎麼切換 機械鍵盤怎麼調燈光特效特效
- Angular多環境打包專案併發布到nginx執行AngularNginx
- three.js之初探骨骼動畫JS動畫
- three.js 自制骨骼動畫(一)JS動畫
- three.js 自制骨骼動畫(二)JS動畫
- HTML5與WebGL程式設計(2):Three.jsHTMLWeb程式設計JS
- 路由器光訊號閃紅燈是什麼意思 路由器突然閃紅燈上不了網路由器
- 在CentOS 7上搭建Docker環境CentOSDocker
- macOS 上搭建Flutter開發環境MacFlutter開發環境
- go 在 Windows 上環境變數GoWindows變數
- MAC上Flutter環境搭建記錄MacFlutter
- 光影的魔法!Cocos Creator 實現螢幕空間的環境光遮蔽(SSAO)