最近开始入坑前端3D建站,跟大家一起慢慢深入three.js做网站3D
https://threejs.org/
three.js是JavaScript编写的WebGL第三方库。提供了非常多的3D显示功能。
在线库
离线可以去官网https://threejs.org/docs/index.html#manual/en/introduction/Creating-a-scene
下载复制到项目所在的目录下
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
camera.position.z = 5;
参数:视野角度(FOV)、长宽比(aspect ratio)、近截面(near)和远截面(far)
camera.position.z:透视摄像机位置
const renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
const geometry = new THREE.BoxGeometry( 1, 1, 1 );
const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
const cube = new THREE.Mesh( geometry, material );
scene.add( cube );
BoxGeometry:立方体,参数为所有顶点和面
MeshBasicMaterial:材质,将应用到对象上,color设置了对象的颜色
Mesh:网格,几何体和几何体材质,作用
scene.add:添加到场景上
function animate() {requestAnimationFrame( animate );renderer.render( scene, camera );
}
animate();
requestAnimationFrame有很多的优点。最重要的一点或许就是当用户切换到其它的标签页时,它会暂停,因此不会浪费用户宝贵的处理器资源,也不会损耗电池的使用寿命。
function animate() {requestAnimationFrame( animate );// 旋转方向,及大小cube.rotation.x += 0.01;cube.rotation.y += 0.01;renderer.render( scene, camera );
};animate();
完整代码(实例)
My first three.js app
以上就是今天要讲的内容,本文仅仅简单介绍了three.js的使用,而three.js提供了非常多的3D显示功能,后续文章,我将带大家慢慢深入了解。
如果觉得有用欢迎点赞关注
有问题私信我!!~~
上一篇:大学英语四级考试核心高频词汇突破
下一篇:Kafka 设计原理