ThreeJs:二、简单立方体
来源:互联网 发布:淘宝为什么开不了店 编辑:程序博客网 时间:2024/05/21 15:45
前言
在第一节中,我们介绍了创建一个三维对象所需要的基本要素。下面我们就要开始尝试做一个旋转的立方体了。
准备工作
- 引入three.js的库文件
- 创建场景(Scene)
创建一个场景,并且获取浏览器屏幕的宽高。
- 创建照相机(Camera)
这里创建的是一个远景相机(PerspectiveCamera),为什么选择远景相机进行投影呢?,因为远景投影也称之为透视投影。这个是我们人眼观察世界的模式。
构造器介绍:PerspectiveCamera( fov, aspect, near, far )fov - 从上往下的观察角度aspect - 宽高比near - 相机近裁剪面far - 相机远裁剪面
- 设置物理材质
物理材质相当于物体表面的颜色,花纹等特征。
基础物体材料(MeshBasicMaterial):一个以简单着色(平面或线框)方式来绘制几何形状的材料。
图示:
- 创建物体(Mesh)
构造器介绍:Mesh( geometry, material )geometry - 一个几何模型的实例。material - 一个材料的实例,用来定义对象的外观。
- 创建渲染器(Render)
方法介绍:setSize调整输出canvas尺寸(宽度,高度),要考虑设备像素比,并且设置视口(viewport)以匹配该尺寸。render ( scene, camera, renderTarget, forceClear )使用相机渲染一个场景。
- 进行渲染
效果图
代码预览:
/* eslint-disable */(function() { // 创建场景 var scene = new THREE.Scene(); var width = window.innerWidth; var height = window.innerHeight; // 相机 var camera = new THREE.PerspectiveCamera(40, 800/ 600, 1, 1000); camera.position.set(200,200,200); camera.lookAt(scene.position); // 材质 var geometry = new THREE.CubeGeometry(100,100,100); var material = new THREE.MeshBasicMaterial({color: 0xfff00a}); // 物体 var cube = new THREE.Mesh(geometry, material); scene.add(cube); // 灯光 var light = new THREE.PointLight({color:0xf00fff}); light.position.set(300,400,200); scene.add(light); // 渲染器 var renderer = new THREE.WebGLRenderer(); renderer.setSize(800, 600); document.body.appendChild(renderer.domElement); renderer.render(scene, camera); // 动画旋转 function render() { requestAnimationFrame(render); cube.rotation.x += 0.1; cube.rotation.y += 0.1; renderer.render(scene, camera); } // render();})();
资源网站
threejs源码地址:https://github.com/mrdoob/three.js
threejs API文档:https://hypnosnova.github.io/
threejs中文教程:http://techbrood.com/threejs/docs/
阅读全文
0 0
- ThreeJs:二、简单立方体
- THREEJS 第二章 立方体动起来
- threejs(二) 移动,相机
- WebGL:二、ThreeJs 简介
- threejs创建多个立方体,并支持鼠标点击选中
- ThreeJs:一、简单的尝试
- 简单立方体纹理贴图
- threejs
- 使用threejs点云秀出酷炫的图片效果(二)
- ThreeJS学习笔记(3)-简单画线
- 立方体动画制作------方法二
- 单立方体简单的动力学
- 立方体
- threejs第五篇【一条龙测试之二 threejs基本环境架设】
- 趣味CSS3(二)--旋转的立方体
- 比想象中简单得多,搞定立方体。
- openGl画一个简单的立方体
- Three.js入门----简单立方体动画
- 数据库字段重复(Duplicate column name 'ORGID')
- Android屏幕适配全攻略(2)
- 备份数据库中表的方法
- MySQL修改存储过程和函数、事件、触发器、视图的DEFINER
- Java使用Protocol Buffers入门四步骤
- ThreeJs:二、简单立方体
- Linux的常用工具
- C/C++学习之C提高-----文件加解密案例
- 第二章:git远程仓库(有了远程仓库,妈妈再也不用担心我的硬盘了)
- oracle 全文检索实践
- Java 多态实现的详细介绍
- JavaScript对象属性的特征
- 21.Nginx工作进程之处理函数
- Qt实用技巧:QIcon缩放(QPixmap的手动放大和QIcon自动缩小)