`

three.js初入门二

阅读更多

        在上一章节中,有简单的提到了three.js中的三大组件以及利用three.js怎么渲染到网页上的步骤,在这里没有对什么是webgl以及three.js进行讲解,如果对于这两概念不清楚的,烦请自行度娘;

        下面将贴出前一文章中的各个步骤的核心代码;

         1:创建场景(scene):

                var  scene=new THREE.Scene();      //通过调用THREE.JS的Scene()方法创建一个场景;

         2:创建相机(camera):

                var  camera=new THREE.PerspectiveCamera(45,width/height,1,1000);     //创建一个相机

                 camera.position.set(x,y,z);    //设置相机在空间中的位置;

                 参数详解:

                  fov:相机视椎体垂直角度;aspect相机视椎体宽高比;near:相机视椎体近裁剪面;

                  far:相机视椎体远裁剪面;

         3:创建渲染器(renderer);

                var  renderer=new THREE.WebGLRenderer(parametres);

                 renderer.setSize(width,height); //用于设置画布的大小,如果没有设置该值的话,渲染出来的画布大小将是canvas默认的大小,即width=300,height=150;

                 document.body.appendChild(renderer.domElement);//用于确定渲染器挂载到网页中的那个节点中;

                参数详解: parametres是一个可选的对象,在这里提一下,parametres这个对象中,有个antialias属性,该属性的作用是:是否开启反锯齿,所以该属性是一个boolean类型,默认值为false,建议一般将该值设置为true(自己一开始学习的时候,对于各个参数了解的不深,所以导致一开始没有设置该值,所以在做出来的效果中,页面会出现各种锯齿,导致页面很难看,这也算在学习过程中踩的一个坑吧哭);

        4:最后使用渲染器的render方法将场景渲染到页面中:

               renderer.render(scene,camera);

        5:在调用渲染器的渲染方法进行渲染的时候,为了使得画面能够一直渲染进去,需要不断的调用渲染器的方法;所以对于第四步骤,可以写成如下所示:

              funciton  loop(){

                   renderer.render(scene,camera);

                   requestAnimationFrame(loop)

              }

         在这里使用h5的requestAnimationFrame()方法来定时刷新loop方法,requestAnimationFrame与传统的setInterval方法类似,不过它们之间还是存在一些区别的,关于它们之间的区别,这里就不详说了,有疑问的可以自行百度。

                  

分享到:
评论

相关推荐

    Three.js-入门指南(带书签).pdf

    Three.js 是一个基于WebGL的JavaScript库,它简化了在网页上使用WebGL创建和显示3D图形的过程。WebGL是一种Web标准,它允许网页使用硬件加速的OpenGL ES图形API,Three.js就是基于这一技术构建,使开发者能够不直接...

    Three.js入门指南-中文基础教程

    适合初学者 three.js webgl three.js入门 three.js教程 webgl开发

    Three.js 入门指南

    Three.js 入门指南 Three.js 入门指南 Three.js 入门指南

    THREE.JS开发指南源码

    这个压缩包包含了作者Branch为Packt出版社的书籍《学习Threejs》更新到three.js版本r63的所有示例代码。 在学习Three.js时,理解源码是提升技能的关键。这份源码包中,你将发现各种各样的3D场景、对象和交互的实现...

    Three.js入门指南(Three.js教程) Three.js开发指南

    本书针对 Three.js 的几个重要话题分章节介绍。 第 1 章介绍 Three.js 和 WebGL 的背景资料,并通过简单的例子帮助读者实现第一个Three.js 应用。 第 2 章介绍照相机的设定。 第 3、4、5 章分别介绍几何形状、材质和...

    three.js 智慧城市模型

    2. 创建场景(Scene):在 three.js 中,所有的元素都存在于一个场景中。创建场景是通过 `new THREE.Scene()` 实现的,它是所有对象的容器。 3. 相机(Camera):相机视角决定了用户看到的内容。`THREE....

    three.js从入门到放弃系列博文资源二

    three.js从入门到放弃系列博文资源二

    three. js的人体解剖图.zip

    2. 相机(Camera):在Three.js中,相机是观察3D世界的窗口。有多种类型的相机,如PerspectiveCamera(透视相机)和OrthographicCamera(正交相机),前者更符合真实世界视觉效果,后者则常用于制作2D风格的3D图像。...

    Three.js入门指南完整版

    2. **环境设置**:指导读者如何设置开发环境,包括HTML、CSS和JavaScript的基本配置,以及如何引入Three.js库。 3. **场景、相机和渲染器**:这是Three.js的三大核心组件。场景(Scene)是所有3D对象的容器;相机...

    Three.js 入门指南(中文)

    ### Three.js 入门指南知识点概述 #### 一、Three.js 概述及入门 - **定义**:Three.js 是一款基于 WebGL 的 JavaScript 3D 库,它简化了 WebGL 复杂的操作流程,使开发者能够更加专注于创意与功能实现。 - **...

    three.js入门指南源码

    2. **Three.js 构建场景** - **创建场景(Scene)**: `var scene = new THREE.Scene();` - **创建相机(Camera)**: `var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, ...

    元宇宙初探React+Three.js制作3D全景漫游.zip

    元宇宙初探React+Three.js制作3D全景漫游.zip元宇宙初探React+Three.js制作3D全景漫游.zip元宇宙初探React+Three.js制作3D全景漫游.zip元宇宙...3D全景漫游.zip元宇宙初探React+Three.js制作3D全景漫游.zip元宇宙初

    three.jsAR增强现实包AR.js和aframe(201806)

    2. **three.js**:这是一个广泛使用的JavaScript 3D库,AR.js的基础就是three.js,它提供了一个灵活的框架,用于在Web上创建丰富的3D图形和动画。three.js支持多种3D模型格式,有丰富的几何形状、光照、材质和动画...

    three-js-教程源代码.zip

    Three.js是一款基于WebGL的JavaScript库,它使得在浏览器中创建3D图形变得更加简单。本教程源代码旨在帮助开发者深入理解Three.js的内部工作原理,通过实际操作和代码解析,提升在3D渲染、动画、交互等方面的技能。 ...

    three.js的室内地图展示

    2. **three.js入门**:three.js是WebGL的上层封装库,提供了一套完整的3D对象和场景管理机制,简化了3D图形编程。了解其基本结构,如Scene(场景)、Camera(相机)、Light(灯光)、Mesh(网格)和Geometry(几何体...

    three.js从入门到精通系列教程004 - three.js透视相机(PerspectiveCamera)滚动浏览全景大图

    three.js从入门到精通系列教程004 - three.js透视相机(PerspectiveCamera)滚动浏览全景大图 //定义相机、场景、渲染器 var myCamera, myScene, myRenderer; var lon = 0, lat = 0, phi = 0, theta = 0; //创建...

    Three.js 入门指南pdf

    ### Three.js 入门指南知识点概述 #### 一、Three.js 概述及应用场景 - **定义**:Three.js 是一款基于 WebGL 的 JavaScript 3D 库,它简化了 WebGL 的复杂度,使得开发者能够更加轻松地在浏览器中创建和展示 3D ...

    WebGL 可视化3D绘图框架:Three.js 零基础上手实战.rar

    2. **基础3D元素**:学习不同类型的几何体、材质和光源的创建与应用。 3. **相机控制**:了解如何调整相机位置和视角,实现平移、缩放和旋转等交互操作。 4. **动画与运动**:通过添加动画函数,使3D模型实现旋转、...

    Three.js是基于原生WebGL封装运行的三维引擎-three.js

    Three.js 是一个强大的JavaScript库,它为WebGL提供了一个易用的接口,使得开发者无需深入理解复杂的WebGL底层API就能创建交互式的3D图形。WebGL是一种在浏览器中实现硬件加速3D图形的标准,但其本身的API相对复杂,...

Global site tag (gtag.js) - Google Analytics