• three.js 测试1


    关键看一下里面的注释

    代码:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
    
        <script src="three.js"></script>
        <script type="text/javascript">
    
    
            //基础知识恶补
    
            //场景(THREE.Scene):
            //  是所有不同对象的容器,也就是说该对象保存所有物体、光源、摄像机以及渲染所需的其他对象
    
    
    
            //材质:   原文:https://www.cnblogs.com/amy2011/p/6148736.html
            //  材质就像物体的皮肤,决定了几何体的外表,例如是否像草地/金属,是否透明,是否显示线框等
            //  Three.js提供了一个材质基类THREE.Material,该基类拥有three.js所有材质的公有属性
            //  材质的公共属性分类:
            //      基础属性:ID,name,透明度,是否可见,是否需要刷新等
            //      融合属性:决定了物体如何与背景融合
            //      高级属性:可以控制WEBGL上下文渲染物体的方法,大多数情况下,是不会用这些属性,我们这里不再讨论
    
    
    
            var camera, scene, renderer;
            var geometry, material, mesh;
    
            init();
            animate();
    
            function init() {
    
                //创建相机
                camera = new THREE.PerspectiveCamera(70, window.innerWidth / window.innerHeight, 0.01, 10);
                camera.position.z = 1;
    
                //创建场景
                scene = new THREE.Scene();
    
                //创建几何体 - 立方体
                geometry = new THREE.BoxGeometry(0.2, 0.2, 0.2);//参数:长宽高
    
                //创建材质
                material = new THREE.MeshNormalMaterial();
    
    
                //material.visible = false;//是否可见
                material.transparent = true;//是否透明
                material.opacity = 0.9;//透明度
    
    
                //创建网格,几何体是不能被渲染的,只有几何体和材质 结合成网格 才能被渲染到屏幕上
                mesh = new THREE.Mesh(geometry, material);
    
                //添加到场景
                scene.add(mesh);
    
    
    
                renderer = new THREE.WebGLRenderer({ antialias: true });
                renderer.setSize(window.innerWidth, window.innerHeight);
                document.body.appendChild(renderer.domElement);
            }
    
    
            function animate() {
    
                requestAnimationFrame(animate);
    
                mesh.rotation.x += 0.01;
                mesh.rotation.y += 0.02;
    
                renderer.render(scene, camera);
            }
        </script>
    </body>
    </html>

    效果:

  • 相关阅读:
    MVC 使用Response.Redirect页面301重定向
    火狐浏览器缓存登录名、密码解决方法
    访问网站不存在的页面的时候跳转到指定页面,不需要报文件不存在
    2 分钟读懂大数据框架 Hadoop 和 Spark 的异同
    toString("#.##")
    状态保存机制之ViewState概述及应用
    数据库分页
    【模拟】 【HDU 5831】 Rikka with Parenthesis II
    【贪心】 【HDU 5821】 Ball
    【set】【HDU 5818】 Joint Stacks
  • 原文地址:https://www.cnblogs.com/guxingy/p/11912194.html
Copyright © 2020-2023  润新知