threejs繪制長方體


threejs繪制長方體

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>WebGL三維場景</title>
        <style>
            body {
                margin: 0;
                overflow: hidden;
                /* 隱藏body窗口區域滾動條 */
            }
        </style>
        <!--引入three.js三維引擎-->
        <!--<script src="http://www.yanhuangxueyuan.com/versions/threejsR92/build/three.js"></script>-->
        
        <script src="js/three2.js"></script>
        <script src="js/OrbitControls2.js"></script>
        
        
        <!-- <script src="./three.js"></script> -->
        <!-- <script src="http://www.yanhuangxueyuan.com/threejs/build/three.js"></script> -->
    </head>

    <body>
        <script>
            //創建一個renderer ,
            var renderer = new THREE.WebGLRenderer({ antialias: true });
            //設置清空顏色,每秒會渲染60次,渲染的時候會使用此顏色先清空
            renderer.setClearColor(new THREE.Color(0x000000, 1));
            //設置渲染尺寸
            renderer.setSize(window.innerWidth, window.innerHeight);
            //設置陰影允許
            renderer.shadowMapEnabled = true;
            //將webgl元素添加到body中
            document.body.appendChild(renderer.domElement);

            //創建場景
            var scene = new THREE.Scene();

            //創建一個透視相機,45是相機的視角  , 寬高比是屏幕的寬高比 , 最近能看到0.1 , 最遠能看到10000
            var camera = new THREE.PerspectiveCamera(
                45,
                window.innerWidth / window.innerHeight,
                0.1,
                20000
            );
            //將相機放到x:1000 , y:1000 , z:1000的位置
            camera.position.set(0, 1000, 1000);
            //設置相機的朝向,可以認為與相機鏡頭垂直的軸線應該和哪一個軸相交
            camera.up.set(0, 1, 0);
            //將相機的鏡頭對准x:0 , y:0 , z:0的位置 經過這個設置相機就被固定住了
            camera.lookAt({ x: 0, y: 0, z: 0 });
            //將相機添加到場景中
            scene.add(camera);

            var lights = new Array();
            lights[0] = new THREE.PointLight(0xffffff, 1, 0);
            lights[1] = new THREE.PointLight(0xffffff, 1, 0);
            lights[2] = new THREE.PointLight(0xffffff, 1, 0);

            lights[0].position.set(0, 200, 0);
            lights[1].position.set(100, 200, 100);
            lights[2].position.set(-100, -200, -100);

            scene.add(lights[0]);
            scene.add(lights[1]);
            scene.add(lights[2]);


            var meshPolygon = createPolygon();
            scene.add(meshPolygon);
            
            

            var orbitCtl = new THREE.OrbitControls(camera);
            orbitCtl.autoRotate = false;

            var clock = new THREE.Clock();

            function threeStart() {
                var delta = clock.getDelta();
                orbitCtl.update(delta);

                renderer.clear();
                renderer.render(scene, camera);
                requestAnimationFrame(threeStart);
            }

            threeStart();


            function createPolygon(){
                var group = new THREE.Group();

                var geometry2 = new THREE.BoxGeometry(500, 500, 4000);
                
    
                
                var material2 = new THREE.MeshBasicMaterial( { color: 15245878, side: THREE.DoubleSide } );
                var mesh2 = new THREE.Mesh( geometry2, material2 ) ;
                group.add(mesh2);

                return group;
            }
            


        </script>
    </body>
</html>

 

 

 

 

 

###############################


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM