编辑器:Sublime Text 3
类库:three.js(版本号:91)
scene = new THREE.Scene(); /* 新建场景 */
在Three.js中添加的物体都是添加到场景中的。在程序最开始的时候进行实例化,然后将物体添加到场景中即可。
使用的坐标系是右手坐标系
Three.js提供的照相机分为两种:
left — 该属性是可视范围的左平面。你可以将它当做是可渲染部分的左侧边界。
right — 跟left属性一样,不过这次是边界的另外一侧。比这个右侧边界更远的对象不会被渲染
top (上边界)— 可被渲染空间的最上面
bottom (下边界)— 可被渲染空间的最下面
near (近面)— 基于相机所在的位置,从这一点开始渲染场景
far (远面)— 基于相机所在的位置,一直渲染到场景中的这一点
这六个投影面围成的区域就是相机投影的可见区域。
三维空间内,只有在这个区域内的物体才会被相机看到。
fov - 可视角度
aspect - 为width/height,通常设置为canvas元素的高宽比。
near- 近端距离
far- 远端距离
只有离相机的距离大于near值,小于far值,且在相机的可视角度之内,才能被相机投影到。
/创建渲染器/
renderer=new THREE.WebGLRenderer({
antialias:true,//antialias:true/false是否开启反锯齿
precision:"highp",//precision:highp/mediump/lowp着色精度选择
alpha:true,//alpha:true/false是否可以设置背景色透明
premultipliedAlpha:false,//?
stencil:false,//?
preserveDrawingBuffer:true,//preserveDrawingBuffer:true/false是否保存绘图缓冲
maxLights:1//maxLights:最大灯光数
});
WebGLRenderer()中有一些参数我们可以设置,以下这些参数来自于官方文档:
(1)antialias:
值:true/false
含义:是否开启反锯齿,设置为true开启反锯齿。
(2)precision:
值:highp/mediump/lowp
含义:着色精度选择。
(3)alpha:
值:true/false
含义:是否可以设置背景色透明。
(4)premultipliedAlpha:
值:true/false
含义:?
(5)stencil:
值:true/false
含义:?
(6)preserveDrawingBuffer:
值:true/false
含义:是否保存绘图缓冲,若设为true,则可以提取canvas绘图的缓冲。
(7)maxLights:
值:数值int
含义:最大灯光数,我们的场景中最多能够添加多少个灯光。