three.js 下载安装、开发环境

下载安装、开发环境

下载安装:项目下载地址 https://github.com/mrdoob/three.js

目录结构:
  • Build目录:包含两个文件,three.js 和three.min.js 。这是three.js最终被引用的文件。一个已经压缩,一个没有压缩的js文件。
  • Docs目录:这里是three.js的帮助文档,里面是各个函数的api,可惜并没有详细的解释。试图用这些文档来学会three.js是不可能的。
  • Editor目录:一个类似3D-max的简单编辑程序,它能创建一些三维物体。
  • Examples目录:一些很有趣的例子demo,可惜没有文档介绍。对图像学理解不深入的同学,学习成本非常高。
  • Src目录:源代码目录,里面是所有源代码。
  • Test目录:一些测试代码,基本没用。
  • Utils目录:存放一些脚本,python文件的工具目录。例如将3D-Max格式的模型转换为three.js特有的json模型。
  • .gitignore文件:git工具的过滤规则文件,没有用。
  • CONTRIBUTING.md文件:一个怎么报bug,怎么获得帮助的说明文档。
  • LICENSE文件:版权信息。
  • README.md文件:介绍three.js的一个文件,里面还包含了各个版本的更新内容列表。

开发系统环境 mac v10.14.2
开发工具 webstrom
后台语言 node.js

hole word

express 创建项目

express --hbs odqoothree
npm install
npm start
http://localhost:3000/

修改默认的hbs模版改变为html

app.js
//app.set('view engine', 'hbs');
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
npm install ejs
npm start
<title><%=title%></title>
<p>welcom to <%=title%></p>

引入three.js

<script src="/javascripts/three.min.js"></script>

官网例子

<script>
  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();
    geometry = new THREE.BoxGeometry( 0.2, 0.2, 0.2 );
    material = new THREE.MeshNormalMaterial();
    mesh = new THREE.Mesh( geometry, material );
    scene.add( mesh );
    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 );
  }
</script>

d812025d6175c72fa458db02a66d6364.png

透视相机\场景\渲染器

在Three.js中,要渲染物体到网页中,我们需要3个组建:场景(scene)、相机(camera)和渲染器(renderer)。有了这三样东西,才能将物体渲染到网页中去。

记住关建语句:有了这三样东西,我们才能够使用相机将场景渲染到网页上去。

创建这三要素的代码如下:

camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 0.01, 10 );
// 透视相机
scene = new THREE.Scene();
// 场景
renderer = new THREE.WebGLRenderer( { antialias: true } );
// 渲染器
renderer.setSize( window.innerWidth, window.innerHeight );
// 设置渲染器的大小为窗口的内宽度,也就是内容区的宽度
document.body.appendChild( renderer.domElement );
// renderer.render(scene, camera);
    // 渲染函数的原型如下:
    // render( scene, camera, renderTarget, forceClear )
    // 各个参数的意义是:
    // scene:前面定义的场景
    // camera:前面定义的相机
    // renderTarget:渲染的目标,默认是渲染到前面定义的render变量中
    // forceClear:每次绘制之前都将画布的内容给清除,即使自动清除标志   autoClear为false,也会清除。

渲染有两种方式:实时渲染和离线渲染 。

  1. 离线渲染。如果不事先处理好一帧一帧的图片,那么电影播放得会很卡。CPU和GPU根本没有能力在播放的时候渲染出这种高质量的图片。
  2. 实时渲染:就是需要不停的对画面进行渲染,即使画面中什么也没有改变,也需要重新渲染。下面就是一个渲染循环
function render() {
    cube.rotation.x += 0.1;
    cube.rotation.y += 0.1;
    renderer.render(scene, camera);
    requestAnimationFrame(render);
}

WebGL兼容性检查

if (WEBGL.isWebGLAvailable()) {
    // Initiate function or other initializations here
    animate();
} else {
    var warning = WEBGL.getWebGLErrorMessage();
    document.getElementById('container').appendChild(warning);
}
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Node.js中安装和配置Three.js环境,您可以按照以下步骤进行操作: 1. 在终端中使用npm命令安装Three.js模块。在您的项目目录下运行以下命令: ``` npm install three --save ``` 这将安装Three.js模块并将其添加到您的项目的依赖中。 2. 确保您已经安装了Node.js和npm,并且已在项目目录中初始化了一个包含package.json文件的npm项目。 3. 在您的JavaScript文件中引入Three.js模块。您可以使用以下代码在您的文件中引入Three.js模块: ```javascript const THREE = require('three'); ``` 现在,您可以在您的项目中使用Three.js库了。 4. 如果您想在浏览器中使用Three.js,您可以将Three.js相关文件直接引入到您的HTML文件中。您可以从官方网站下载Three.js文件,并使用以下代码将其引入到您的HTML文件中: ```html <script src="path/to/three.js"></script> ``` 5. 如果您使用Parcel等构建工具,您可以通过使用npm命令来搭建Three.js开发环境。在您的项目目录下运行以下命令: ``` npm run dev ``` 这将启动开发服务器,并在您的浏览器中开启项目。 综上所述,您可以通过使用npm命令在Node.js中安装Three.js模块,并在您的项目中引入它来配置Three.js环境。如果您希望在浏览器中使用Three.js,您可以直接将相关文件引入到您的HTML文件中,或者使用构建工具如Parcel来搭建开发环境。[4<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值