Three.js学习规划

学习目标

  1. 熟悉并掌握Three.js中的基本概念,主要包括场景,摄像机,灯光,渲染器,物体对象,几何体,材质,动画,辅助对象,加载器,控制器等,要求能够实现一些简单的3D页面。
  2. 熟悉Three.js项目中的示例,要求能够把实现效果和技术点对应起来,能在示例源码的基础上做更改实现特定的效果。
  3. 熟悉技术平台Three.js的整体代码结构和主要方法,要求能够使用现有的方法,参考已有的示例,写出新的示例页面。
  4. 熟悉业务平台对技术平台Three.js部分的调用方式,要求能够满足一些基本的业务需求。

学习计划和任务c

一、第一周

  • 下载Three.js源代码 ,github链接:GitHub - mrdoob/three.js: JavaScript 3D library.
  • Three.js官网:three.js – JavaScript 3D library
  • 由于Three.js的官方资源部署在境外服务器所以打开会非常慢,这里推荐一个博客包含了Three.js的各种资源镜像和教程文档:http://www.yanhuangxueyuan.com/
  • 阅读Three.js官方文档,掌握主要包括场景,摄像机,灯光,渲染器,物体对象,几何体,材质,动画,辅助对象,加载器,控制器等基本概念
  • 查看上述基本概念模块对应的基础示例,能看懂主要代码的逻辑
    目标任务:
    1.实现一个带背景色的(scene的属性),带网格辅助对象(GridHelper)的绿色立方体,并以一定的速度旋转
    2.加载一个外部模型到three.js页面中(loader),添加两个平行光源(DirectionalLight),并实现轨道控制器(OrbitControls),鼠标左键控制平移,右键控制旋转( OrbitControls.mouseButtons

二、第二,三周

  • 参考Three.js示例,并查阅资料,考虑以下功能点如何实现,具体实现效果参考技术平台


    示例页面
  1. 实现一个随摄像机转动的天空盒
  2. 点击模型改变模型颜色
  3. 模型渐进显示
  4. 模型透明效果
  5. 说明类标签,实时数据标签

三、第四、五周

看技术平台的代码结构和主要方法,参考示例代码和业务平台中的3D页面,在vue项目中实现以下需求:

目标任务一
1.加载黑河首站的模型,添加平行光源
2.添加天空球,添加轨道控制器
3.添加模型对象说明标签
4.添加鼠标悬浮事件,当鼠标选中模型对象时,模型对象高亮,对应的说明标签显示,鼠标的样式
改为pointer
5.添加鼠标双击事件,将控制器定位到距离鼠标选中的三维坐标一定距离的位置
6.添加某个模型对象的渐进动画
7.实现地下管线高亮效果

目标任务二
1.加载管道模型
2.添加管道延长线
3.添加相应的说明标签
4.实现管道拆解和复原动画

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介 Three.js是基于原生WebGL封装运行的三维引擎。可与各种前端技术结合使用。 github链接:Git...
    田苗苗_7785阅读 6,355评论 0 0
  • Threejs 为什么? webGL太难用,太复杂! 但是现代浏览器都支持 WebGL 这样我们就不必使用 Fla...
    强某某阅读 11,375评论 1 21
  • Three.js是一款开源的主流3D绘图JS引擎(名字Three就是3D的含义),原作者为Mr.Doob,项目地址...
    宋小菜_菜菜阅读 6,133评论 0 1
  • What is Three.js 什么是threejs,很简单,你将它理解成three + js就可以了。thre...
    依依玖玥阅读 5,499评论 0 2
  • 前言 由于近期的一些业务需要用到一些webgl的东西,three.js可以说是webgl相关库里最完善的,所以毫无...
    羽阁丶阅读 4,010评论 0 48