博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ThreeJS 学习笔记——简介
阅读量:5767 次
发布时间:2019-06-18

本文共 1995 字,大约阅读时间需要 6 分钟。

一、前言

Three.js () 是一个纯 JavaScript 实现的 3D 渲染库,其在前端 3D 渲染的地位不言而喻,看其在 github 上的 start 4.6 k,fork 1.7 k 这个量级便知道了。准确来说 ThreeJs 是一个基于 WebGL 的封装,而 WebGL 就是前端界的 OpenGL。

二、Github 首页解读

1.简介

该项目的目的是创建一个易于使用,轻量级的3D库。该库提供Canvas 2D,SVG,CSS3D和WebGL渲染器。 真的是史上见过最全的例程,良心良心啊,不过没有文档说明,也没有注释。捂脸.jpg 文档也是非常的齐全了,同样是良心作品。 其他链接有兴趣的可以自己去探求一下。

2.使用

首先在自己的页面中安装或者以模块的方式进行导入,再或者自己可以进行源码编译并导入。

复制代码

下面是github首页给的一个小例子,有兴趣的可以拿来运行一下,改改里面的参数,感受一下 3D 的世界。

var camera, scene, renderer;var geometry, material, mesh;init();animate();function init() {        // 创建一个相机	camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 0.01, 10 );	camera.position.z = 1;       // 创建场景	scene = new THREE.Scene();       // 创建一个3D Box 几何体	geometry = new THREE.BoxGeometry( 0.2, 0.2, 0.2 );	material = new THREE.MeshNormalMaterial();        // 创建 mesh 并添加到场景中	mesh = new THREE.Mesh( geometry, material );	scene.add( mesh );        // 创建一个 WebGLRenderer 并加入到上下文中	renderer = new THREE.WebGLRenderer( { antialias: true } );	renderer.setSize( window.innerWidth, window.innerHeight );	document.body.appendChild( renderer.domElement );}function animate() {	requestAnimationFrame( animate );	mesh.rotation.x += 0.01;	mesh.rotation.y += 0.02;	renderer.render( scene, camera );}复制代码

不想自己敲代码的,也可以看看 github 中提供的 中绘制出来的效果。

除了 GitHub 首页,其还提供了一个官网 ,官网提供了 document 入口,源码下载地址或者直接下载,同时也有许多非常炫丽的产品展示。尤其亮瞎我钛金眼的法拉第FF,真是吃了好大一个鲸 ——

三、源码基本结构

1.本地调试源码

(1) npm install 安装依赖

(2) npm run dev 在本地起一个服务

成功后,如下会在本机开启一个 8080 端口,然后你就可以愉快的在本机体验所有的 demo 效果了。

控制台输出

[HTTP] Starting up http-server, serving ./[HTTP] Available on:[HTTP]   http://127.0.0.1:8080[HTTP]   http://192.168.31.175:8080[HTTP] Hit CTRL-C to stop the server复制代码

2.基本结构

浏览器输出上面的 http 地址,如 ,注意必须要用 http/https 协议,否则例程里面的模型是不能下载的,即,不支持 ftp。

然后再来看一下 src 里面都有哪一些模块

模块名 说明
animation 动画模块
audio 音频
cameras 3D 相机
extras 其他
geometrics 基础几何对象
helpers 帮助类
lights 光源
loaders 3D 模型加载器
materials 材质
textures 纹理
objects 用于加入到场景中的对象
renderers WebGL渲染,glsl 定义
scenes 场景
core 属性,几何,3D对象,光线跟踪等
math 向量,矩阵等

转载地址:http://gfbux.baihongyu.com/

你可能感兴趣的文章
我的2013落幕,2014上演
查看>>
xfs扩展了lv报错
查看>>
dva开源项目——仿携程H5
查看>>
python3_08.动动mysql
查看>>
CentOS 6.5 svn服务器2.0版
查看>>
我的友情链接
查看>>
vi编辑器常用命令总结
查看>>
通过OVF模板迁移zabbix虚拟机
查看>>
linux 基本命令常用选项(目录和文件)
查看>>
开始吧
查看>>
python学习-smtplib模块
查看>>
使用zabbix自带模板监控Windows下MySQL
查看>>
Wijmo 更优美的jQuery UI部件集:活动日历控件(Event Calendar)
查看>>
linux——RAID
查看>>
saltstack(1)
查看>>
如何避免Android内存泄漏 .
查看>>
Android仿酷狗音乐自定义侧滑菜单控件简单实现
查看>>
Lintcode31 Partition Array solution题解
查看>>
oracle安装
查看>>
ansible剧本编写
查看>>