three.js(使用总结一)

three.js使用总结

1、引入需要 的文件

<script src="./build/three.min.js"></script> <!-- 此处引入threejs基础类 -->
<script src="CSS3DRenderer.js"></script> <!-- 此处引入CSS3Drenderer.js类 -->
<!-- 以上两个文件,在下载threejs的时候就有的,引入就好 -->

2、要在前端页面中展示3d模型,我们需要的几个组成元素:
(1)场景
场景是所有物体的容器,我们要做的就是把模型装到这个容器里面。

this.scene = new THREE.Scene()

(2)相机
相机决定了场景中那个角度的景色会显示出来。
我们可以将相机理解为眼睛,眼睛的位置决定你看的角度。

var camera = new THREE.PerspectiveCamera(45,window.innerWidth/window.innerHeight,0.1,1000)

(3)渲染器
通过渲染器将我们要展示的东西渲染到domElement元素(以下是container)的画布上面。

renderer = new THREE.WebGLRenderer()        
renderer.setClearColor(0x101d2c);//颜色
renderer.setSize(window.innerWidth, window.innerHeight);//范围,大小
let container = document.getElementById('container')        
container.append(renderer.domElement)

(4)物体(灯光、模型等)
1、使用three.js的几何模型

        var geometry = new THREE.BoxGeometry(1, 1, 1);//模型(three.js几何体)
	    var material = new THREE.MeshBasicMaterial( { color: 0x00ff00} );//材质
		var material =new THREE.MeshLambertMaterial({color:0x00ff00})
		var cube = new THREE.Mesh( geometry, material );//Mesh模型对象
		cube.castShadow = true;
		scene.add( cube );//将模型加入到场景中

2、自定义模型的导入

var suidaoobj = new THREE.OBJLoader(); 
var suidaomtl = new THREE.MTLLoader();          
suidaomtl.load(url, function (materials) {   //加载材质mtl文件
	materials.preload();
        suidaoobj.setMaterials(materials);            
        suidaoobj.load(url, function (obj) {   //加载模型obj文件
                obj.position.set(-40,0,30)          //坐标
		obj.scale.set(1, 1, 1)      //缩放
                this.scene.add(obj);
        })

3、灯光
光源分为点光源、坏境光、平行光等等。这里使用的是平行光。

var DirectionalLight = new THREE.DirectionalLight(0xffffff,3);        //光源颜色及强度
DirectionalLight.position.set(-5000,5000,5000); //光源位置

4、渲染

renderer.render( scene, camera );

环境渲染

renderScene: function () {        
	requestAnimationFrame(renderScene)
      renderer.render(scene, camera)
},
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值