初学three.js(一)创建立方体

1、三大组建

  • 场景(scene) 

  • 相机(camera)

  • 渲染器(renderer)

有这三样才能把物体渲染到页面上,才能够使用相机将场景渲染到网页上去

创建三要素的代码:

场景场景是所有物体的容器,如果要显示一个苹果,就需要将苹果对象加入场景中。

相机,只要设置不同的相机参数,就能够让相机产生不一样的效果。

定义一个相机的代码如下:

渲染器 决定了渲染的结果应该画在页面的什么元素上面,并且以怎样的方式来绘制

这里定义了一个WebRenderer渲染器

  // 场景
        var scene = new THREE.Scene();
        //相机 PerspectiveCamera  参数一 视野  
        var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
        // 渲染器
        var renderer = new THREE.WebGLRenderer();
        // 设置尺寸
        renderer.setSize(window.innerWidth, window.innerHeight);
        document.body.appendChild(renderer.domElement);
        // var geometry = new THREE.CubeGeometry(2, 1, 1);
        var geometry = new THREE.BoxGeometry(2, 1, 1);
        var material = new THREE.MeshBasicMaterial({
            color: 0xfff
        });
        var cube = new THREE.Mesh(geometry, material);
        scene.add(cube);
        // 下面这个也会影响到视野
        camera.position.z = 6;

        function render() {
            requestAnimationFrame(render);
            renderer.render(scene, camera);

            cube.rotation.x += 0.1; //加上这个会沿着X轴旋转
            cube.rotation.y += 0.1; //加上这个会沿着Y轴旋转
        }
        render();

这里面有一个PerspectiveCamera相机

 new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);// 透视相机

参数1 是视野 (物体距离视野的位置)

例如:上面是75                                          如果换成20就会变成下图(这里仅仅改变的是视野,cube的大小是一样的)

              

猜你喜欢

转载自blog.csdn.net/sinat_39326239/article/details/82356238