源码,全文搜索’REVISION’
<head>
<title></title>
<style>canvas { width: 100%; height: 100% }</style>
</head>
<body>
three.js
JavaScript 3D库
该项目的目的是创建一个轻量级的3D库,其复杂度非常低,换句话说,就是傻瓜。 该库提供<canvas>,<svg>,CSS3D和WebGL渲染器。
下载并将其包含在您的html中。 另外,请参阅。
< script src =" js/
thre
e.min.js " > </ script >
此代码创建一个场景,一个照相机和一个几何立方体,并将该立方体添加到场景中。 然后,它为场景和相机创建一个<canvas>渲染器,并将该视口添加到document.body元素中。 最后,它会为摄像机的场景内的立方体设置动画。
< script >
var scene , camera , renderer ;
var geometry , material , mesh ;
init ( ) ;
animate ( ) ;
VIM
Three.JS
3D
查看
器
VIM
Three.JS
3D Viewer是开源的,易于配置和使用的3D模型
查看
器,是在流行的 WebGL框架之上的薄包装而构建的。
VIM
Three.JS
3D
查看
器将
Three.JS
库与几个常用的加载程序和实用程序结合在一起,以减少样板代码,将其合并到一个文件( ara3d-viewer.js )中,从而可以轻松地将自定义3D
查看
器集成到您的网站中,几行代码。
VIM
Three.JS
查看
器的另一个目的是演示和验证G3D文件格式的加载程序的性能。
G3D是用于几何网格数据的高性能且简单的通用二进制文件格式。 看到
本地运行:
注意:目前,类型脚本构建链有一个小错误。 我们正在使用
在Command-Lin Termain NPM Run Watch中npm run watch
npm run serve
轨道控制-鼠标移
THRE
Ep.js
three.js
插件,可生成几乎无限的具有极/球形函数的时变几何和BufferGeometries
与
THRE
Ef.js相反,此处将极坐标/球坐标用于函数。 这导致一组不同的属性和功能。
许可与
three.js
相同
@author hofk /
仅使用12个属性,20个函数和1个数组即可生成几乎无限多种时变几何或BufferGeometries:
( geometry = new
THRE
E . Geometry ( ) ; // base class geometry object from
THREE.js
Only up to revision 124, remove afterwards! )
// or better
geometry = new
THRE
E . BufferGeometry ( ) ; /
该文件基于https://github.com/yannliao/
thre
ejs
.miniprogram项目修改而来,修改了其中fork的旧
版本
thre
ejs
为新版的144
版本
thre
ejs
。小程序基于此可使用144
版本
three.js
使用请参考 https://github.com/yannliao/
thre
ejs
-example-for-miniprogram
import * as
THRE
E from '../../utils/
thre
ejs
/js/
thre
e.module'
wx.createSelectorQuery().in(this).select('#myCanvas').node().exec((res) => {
let canvasId = res[0].node._canvasId
const canvas =
THRE
E.global.registerCanvas(canvasId, res[0].node)
// 创建相机
const camera = new
THRE
E.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.z = 5;
// 创建渲染器
const renderer = new
THRE
E.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// 创建材质
const material = new
THRE
E.LineBasicMaterial({ color: 0xffffff });
// 创建顶点
const points = [];
points.push(new
THRE
E.Vector3(-2, 0, 0));
points.push(new
THRE
E.Vector3(0, 2, 0));
points.push(new
THRE
E.Vector3(2, 0, 0));
// 创建线条
const geometry = new
THRE
E.BufferGeometry().setFromPoints(points);
const line = new
THRE
E.Line(geometry, material);
// 将线条添加到场景中
scene.add(line);
// 渲染场景
function animate() {
requestAnimationFrame(animate);
renderer.render(scene, camera);
animate();
这段代码会创建一个场景、一个相机和一个渲染器,并在场景中绘制一根由三个顶点组成的线条。线条的材质为白色,位置在屏幕中间。最后通过循环调用渲染函数 `renderer.render(scene, camera)` 来渲染场景。