摘要:
3D模型由顶点(vertex)组成,顶点之间连成三角形或四边形(在一个平面上),多个三角形或者四边形就能够组成复杂的立体模型. 一、模型在three.js的表示 模型是由面组成,面分为三角形和四边形面。三角形和四边形面组成了网格模型。在Three.js中用THREE.Mesh来表示网格模型。THRE 阅读全文
摘要:
一、纹理原理 从本质上来说,纹理只是图片而已,它是由像素点组成。无论在内存还是显存中,它都是由4个分量组成,这四个分量是R、G、B和A。从上面的概念中,我们就能够引申出一些重要的理解了,就是只要是图像数据,准确的说是内存或者显存中的图像数据,都可以作为纹理,显示在屏幕中。 上面的例子,我们通过loa 阅读全文
摘要:
一、概念 3D世界的纹理由图片组成。将纹理以一定的规则映射到几何体上,一般是三角形上,那么这个几何体就有纹理皮肤了。 那么在threejs中,或者任何3D引擎中,纹理应该怎么来实现呢?首先应该有一个纹理类,其次是有一个加载图片的方法,将这张图片和这个纹理类捆绑起来。 在threejs中,纹理类由TH 阅读全文
摘要:
多种光源同时存在于场景之中,对物体颜色的影响:可以把这种情况想成两种光源同时作用于物体,它产生的情况,和每种光源分别作用于物体,然后将两者的结果相加,是一样的效果。 一、环境光与方向光 当只有环境光时,效果如图所示: 只有方向光时:效果如图所示: 环境光和方向光混合效果如图所示: 总结一下: 1.首 阅读全文
摘要:
一、材质与光源 1.不带任何光源的物体 当没有任何光源的时候,最终的颜色将是黑色,无论材质是什么颜色。 2.兰伯特材质与光源 Lambert材质表面会在所有方向上均匀地散射灯光,这就会使颜色看上去比较均匀。想想一张纸,无论什么颜色,是不是纸的各个部分颜色都比较均匀呢。 Lambert材质的图例如下所 阅读全文
摘要:
一、Three.js中的光源类 在Threejs中,光源用Light表示,它是所有光源的基类。它的构造函数是: 它有一个参数hex,接受一个16进制的颜色值。例如要定义一种红色的光源,我们可以这样来定义: THREE.Light只是其他所有光源的基类,要让光源除了具有颜色的特性之外,我们需要其他光源 阅读全文
摘要:
在Threejs中相机的表示是THREE.Camera,它是相机的抽象基类,其子类有两种相机,分别是正投影相机THREE.OrthographicCamera和透视投影相机THREE.PerspectiveCamera。 正投影和透视投影的区别是:透视投影有一个基本点,就是远处的物体比近处的物体小。 阅读全文