第一个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下来先看效果,在选择一部分代码自己修改这样会学习的很快