zoukankan      html  css  js  c++  java
  • threejs中版本不同写法不同

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>Three框架</title>
            <script src="js/three.js" data-ke-src="js/Three.js"></script>
            <style type="text/css">
                div#canvas-frame {
                    border: none;
                    cursor: pointer;
                     100%;
                    height: 600px;
                    background-color: rgb(40, 63, 32);
                }
    
            </style>
            <script>
                var renderer;
                function initThree() {
                    width = document.getElementById('canvas-frame').clientWidth;
                    height = document.getElementById('canvas-frame').clientHeight;
                    renderer = new THREE.WebGLRenderer({
                        antialias : true
                    });
                    renderer.setSize(width, height);
                    document.getElementById('canvas-frame').appendChild(renderer.domElement);
                    renderer.setClearColor(0xFFFFFF, 1.0);
                }
    
                var camera;
                function initCamera() {
                    camera = new THREE.PerspectiveCamera(45, width / height, 1, 10000);
                    camera.position.x = 0;
                    camera.position.y = 1000;
                    camera.position.z = 0;
                    camera.up.x = 0;
                    camera.up.y = 0;
                    camera.up.z = 1;
                    camera.lookAt(0,0,0);
                }
    
                var scene;
                function initScene() {
                    scene = new THREE.Scene();
                }
    
                var light;
                function initLight() {
                    light = new THREE.DirectionalLight(0xFF0000, 1.0, 0);
                    light.position.set(100, 100, 200);
                    scene.add(light);
                }
    
                var cube;
                function initObject() {
    
                    var geometry = new THREE.Geometry();
                    //var material = new THREE.LineBasicMaterial( { vertexColors: THREE.VertexColors} );
                    var material =new THREE.LineBasicMaterial({ color: new THREE.Color( 'skyblue' ) });
                    var color1 = new THREE.Color( 0x444444 ), color2 = new THREE.Color( 0xFF0000 );
    
                    // 线的材质可以由2点的颜色决定
                    var p1 = new THREE.Vector3( -100, 0, 100 );
                    var p2 = new THREE.Vector3(  100, 0, -100 );
                    geometry.vertices.push(p1);
                    geometry.vertices.push(p2);
                    geometry.colors.push( color1, color2 );
    
                    var line = new THREE.Line( geometry, material, THREE.LineSegments );
                    scene.add(line);
                }
                function render()
                {
                    renderer.clear();
                    renderer.render(scene, camera);
                    requestAnimationFrame(render);
                }
                function threeStart() {
                    initThree();
                    initCamera();
                    initScene();
                    initLight();
                    initObject();
                    render();
                }
    
            </script>
        </head>
    
        <body onload="threeStart();">
            <div id="canvas-frame"></div>
        </body>
    </html>
    

      这段代码之前显示不出来,后来发现是

    camera.lookAt(0,0,0);方法随着版本的改变改变了,所以大家要注意版本的变更带来的变化,这里是画一条直线
  • 相关阅读:
    Oracle 10g AND Oracle 11g手工建库案例--Oracle 11g
    第十七篇:实例分析(1)--初探WDDM驱动学习笔记(八)
    Git权威指南学习笔记(二)Git暂存区
    C++11多线程教学II
    c++ 11 多线程教学(1)
    C++11 多线程 基础
    C++11下的线程池以及灵活的functional + bind + lamda
    intel线程库tbb的使用
    TBB入门
    TTB 基本
  • 原文地址:https://www.cnblogs.com/xiaobaizitaibai/p/11016285.html
Copyright © 2011-2022 走看看