一,組成
scene-主容器
material&texture -貼圖
geometry
object
light
renderer&shader
loader
二荚孵, 語法
var scene = new THREE.Scene();
var mat = THREE.MeshBasicMaterial({color: 0x60f60f})
var gem = new BoxGeometry()
攝像機
正交投影:等同平行投影
透視投影
其他
blender 軟件中剩,3d建模
光源
點光 pointLight
錐形光 spotLight
環(huán)境光 AmbientLight
材質(zhì)
完全不反射 MeshBasicMaterial
漫反射 Lambert
鏡面反射 Phong
輔助線
光源輔助線:
var spotLightHelper = new THREE.DirectionalLightHelper( light );
scene.add( spotLightHelper );
坐標系:
var axisHelper = new THREE.AxisHelper(15000);
scene.add(axisHelper);
鏡頭控制:
orbitControl
容器
new THREE.Group();
new THREE.Object3D();
擠壓
THREE.Vector2
2d vector
new THREE.ExtrudeGeometry()
多復制幾個門
mesh.clone()
持續(xù)前進咐扭,循環(huán)
鏡頭蜕企、光源劲厌、跑道懊渡、建筑刽射,貓門军拟;都循環(huán)前進。
設置最遠比較基線
參考:http://codepen.io/shelbeniskb/pen/dpYRWN
如何調(diào)整光源的朝向柄冲?(難以打光打成設計稿的樣子)
direcLight.target.position.set( 200, -180, 100 ); 無效
lookAt() 也無效
總是tagert是原點
如何使用交互控制欄吻谋?
var gui = new dat.GUI()
gui.add({}, name, param1, param2...)
onChange( ... )
如何使用貼圖?
加載:var texture = THREE.ImageUtils.loadTexture(data.url)
new THREE.MeshLambertMaterial({ map: texture });