Three.js(第一节)创建一个小场景

第一个three.js场景

下载安装:项目下载地址  https://github.com/mrdoob/three.js
   <script src="./three.js"></script>  //可以使用绝对路径添加
   <script src="http://www.yanhuangxueyuan.com/versions/threejsR92/build/three.js"></script>  //这个地址可以直接使用就不需要下载了

创建一个新的html页面

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>第一个three.js文件_WebGL三维场景</title>
    <style>
        body {
            margin: 0;
            overflow: hidden;
            /* 隐藏body窗口区域滚动条 */
        }
    </style>
    <!--引入three.js三维引擎-->
    <script src="http://www.yanhuangxueyuan.com/versions/threejsR92/build/three.js"></script>
</head>

<body>
<script>
    /**
     * 创建场景对象Scene
     */
    let scene = new THREE.Scene();  //绘制了一个场景
    /**
     * 创建网格模型
     */
        // var geometry = new THREE.SphereGeometry(60, 40, 40); //创建一个球体几何对象
    let geometry = new THREE.BoxGeometry(60, 40, 40); //创建一个立方体几何对象Geometry
    // let geometry = new THREE.SphereGeometry(60, 40, 40);    用来创建一个球体
    let material = new THREE.MeshLambertMaterial({
        //材质就是你创建这个物品需要怎么材质的,color是颜色这个是rgb16进制的
        color: 0x5555ff
    });
    let mesh = new THREE.Mesh(geometry, material); //网格模型对象Mesh
    scene.add(mesh); //网格模型添加到场景中
    /**
     * 光源设置
     */
        //光源,类似于光亮的强度,ffffff比较亮,越小越暗沉,测试之后最暗的是0x000000
    let point = new THREE.PointLight(0x999999);
    point.position.set(400, 100, 30); //点光源位置,这个光是从什么位置打过来
    scene.add(point); //点光源添加到场景中
    //环境光,我代称为纯度吧0xffffff纯度偏低,0x000000纯度较高
    let ambient = new THREE.AmbientLight(0x000000);
    scene.add(ambient);
    /**
     * 相机设置
     */
    let width = window.innerWidth; //窗口宽度
    let height = window.innerHeight; //窗口高度
    let k = width / height; //窗口宽高比
    let s = 100; //缩放比例,数值越大代表相机距离物体越远,数值越小代码距离相机越近
    //创建相机对象
    let camera = new THREE.OrthographicCamera(-s * k, s * k, s, -s, 1, 1000);
    camera.position.set(200, 300, 200); //设置相机位置
    camera.lookAt(scene.position); //设置相机方向(指向的场景对象)
    /**
     * 创建渲染器对象
     */
    let renderer = new THREE.WebGLRenderer();
    renderer.setSize(width, height);//设置渲染区域尺寸
    renderer.setClearColor(0xb9d3ff, 1); //设置背景颜色
    document.body.appendChild(renderer.domElement); //body元素中插入canvas对象
    //执行渲染操作   指定场景、相机作为参数
    renderer.render(scene, camera);
</script>
</body>
</html>
    这个是根据官网的代码,我进行了一些注释的解析,会更方便看一下,多进行练习一下代码就好了,
    直接cv下来先看效果,在选择一部分代码自己修改这样会学习的很快
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值