Three.js-程序架构
1、对于3D美术知识的了解:
不管你有没有3D美术从业经历,但你必须要明白什么是mesh,geomerty,material,texture是什么东西,在3D环境下想要一个东西变大可以改变一个物体的scale也可以调整position.z,甚至改变摄像机的机位,想要一个东西变亮你可以调整物体的diffuse反射属性,也可以加强光照值,等等。这些基础美术能力决定了你是否能做3D。2、对于Javascript的能力以及OOP程序开发能力,游戏开发能力
,明白如何使用js进行面向对象编程,尤其使用threejs构建比较复杂的网页游戏时候,你必须做到更清晰的模块化,利用设计模式和数据结构进行数据和显示的绑定。动画怎么写?物体排列怎么做?人物角色寻路算法?物体间碰撞?攻击伤害等属性配置?以上这些都是游戏开发能力的本质,这个是不管你用什么引擎都应该掌握的。掌握以上两点才是threejs的核心能力!如果有了以上能力想要处理更加酷炫的效果,利用threejs的shaderMaterial自己编写顶点着色以及片元着色处理比如卡通效果或者某些非得用shader才能解决的问题!
另外,一定要定一个项目目标:写出个具体的东西出来,有明确的目标。
费曼学习法:准备分享课程,我将给别人听。我能讲清楚,说明就真的掌握了。
作图流程

概念解读
基本概念可以参考官方文档。
继承关系
