WebGL之Three.js的学习之路,WebGL本身学习起来不太容易,偶尔发现Three.js库封装的很好,简单记录下学习语法。
首先Three分三大块来组装:
(1)场景(scene)
(2)相机(camera)
(3)渲染器(renderer)
如何创建这三大块呢?直接代码来展示
场景:
var scene = new THREE.Scene(); // 创建场景
相机:(分多种,下面是透视相机的生成代码)
var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000); //透视相机
渲染器:
var renderer = new THREE.WebGLRenderer(); // 渲染器 renderer.setSize(400, 300); // 设置渲染器的宽度和高度 document.body.appendChild(renderer.domElement); // 添加到页面当中
OK,基本框架完成。
第二步:将物体添加到场景中去
var geometry = new THREE.CubeGeometry(1, 1, 1); // 生成立方体,参数是X轴 Y轴 Z轴的长度 var material = new THREE.MeshBasicMaterial({color: 0xff0000}); // 立方体纹理 var cube = new THREE.Mesh(geometry, material); // 将纹理覆盖到立方体上 scene.add(cube); // 将立方体添加到场景中
第三步:渲染
下面使用渲染器将立方体渲染到页面中去,实现这功能的函数是:
renderer.render(scene, camera); // 看参数名字就知道 scene是场景,camera是相机
OK,接下来看全部代码:
<!DOCTYPE html> <html> <head> <title></title> <style>canvas { width: 100%; height: 100% }</style> <script src="../js/three.js"></script> </head> <body> <script> var scene = new THREE.Scene(); var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000); var renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); var geometry = new THREE.CubeGeometry(1,1,1); var material = new THREE.MeshBasicMaterial({color: 0x00ff00}); var cube = new THREE.Mesh(geometry, material); scene.add(cube); camera.position.z = 5; function render() { requestAnimationFrame(render); cube.rotation.x += 0.1; cube.rotation.y += 0.1; renderer.render(scene, camera); } render(); </script> </body> </html>
相关推荐
使用three.js绘制3d图表(柱状图,饼状图,环状图,面积图等).zip使用three.js绘制3d图表(柱状图,饼状图,环状图,面积图等).zip使用three.js绘制3d图表(柱状图,饼状图,环状图,面积图等).zip使用three.js...
[Packt Publishing] Three.js 学习教程 (英文版) [Packt Publishing] Learning Three.js The JavaScript 3D Library for WebGL (E-Book) ☆ 图书概要:☆ Create and animate stunning 3D graphics using the ...
three.js和高德地图结合引入obj格式模型---------------------three.js和高德地图结合引入obj格式模型---------------------three.js和高德地图结合引入obj格式模型---------------------three.js和高德地图结合引入...
three.js适用于微信小程序的压缩版本,因微信小程序有分包2m的大小限制,three.js官方也对three.js进行了压缩处理,提供了压缩版的three.js
适用于three.js显示pcd模型文件,找不到pcd文件
元宇宙初探React+Three.js制作3D全景漫游.zip元宇宙初探React+Three.js制作3D全景漫游.zip元宇宙初探React+Three.js制作3D全景漫游.zip元宇宙初探React+Three.js制作3D全景漫游.zip元宇宙初探React+Three.js制作3D...
import './three.js-master/build/three.js' import './three.js-master/examples/js/loaders/OBJLoader.js' import './three.js-master/examples/js/loaders/MTLLoader.js' import './three.js-master/examples/js/...
第 1 章介绍 Three.js 和 WebGL 的背景资料,并通过简单的例子帮助读者实现第一个Three.js 应用。 第 2 章介绍照相机的设定。 第 3、4、5 章分别介绍几何形状、材质和网格,即如何在场景中添加物体。 第 6 章介绍...
01 Three.js简介 02 初始化Three.js项目 03 编写HelloThreejs 04 添加一些自适应 05 Three.js基础之图元 06 图元练习示例 07 图元之3D文字 08 Three.js基础之场景 09 Three.js基础之材质 10 Three.js基础之纹理 11 ...
使用three.js开发的3D机房项目
课程作业基于three.js开发的一款3D智能眼镜展示源码.tar课程作业基于three.js开发的一款3D智能眼镜展示源码.tar课程作业基于three.js开发的一款3D智能眼镜展示源码.tar课程作业基于three.js开发的一款3D智能眼镜展示...
Three.js模型包,包含各种示例使用模型
本资源是我自己的课程:three.js打造智能饲料加工厂 项目的源代码,课程地址:https://edu.csdn.net/course/detail/36327
three.js实现3D全景看房(移动端)。 three.js的基本使用(入门阶段),全景自动展示,以及手动拖拽滑动控制房屋方向角度。
three.js 源码,web 3d开发,学习简单,可以做3d库房,3d游戏。
three.min.js 最全的版本
threejs-inspector, 用于调试 three.js的Chrome devtool扩展 Three.js-检查器three.js 检查器是 Chrome devtool的扩展名。 它允许你在网页中查看 Three.js 场景。 你可以从 Chrome 网上商店安装 Three.js Inspector ...
分享课程——Three.js实战常用技巧视频教程,课程一共12章,140多节,结合了很多实战案例,课程主要针对three.js实际开发中常用的一些技巧进行讲解,提供有配套的源码和文档资料下载!希望对那些想提升Three.js技能...
three.js是WebGL的一个重要开发工具。three.js的版本升级更新比较频繁,不同版本的有些语法是有差别的。本资源包括了r64版本至r87的所有版本,方便大家下载使用。