`
dragonrxl
  • 浏览: 1262 次
  • 性别: Icon_minigender_1
  • 来自: 济南
最近访客 更多访客>>
社区版块
存档分类
最新评论

Three.js的学习历程(一)

阅读更多

      WebGL之Three.js的学习之路,WebGL本身学习起来不太容易,偶尔发现Three.js库封装的很好,简单记录下学习语法。

     首先Three分三大块来组装:

           (1)场景(scene)

           (2)相机(camera)

           (3)渲染器(renderer)

      如何创建这三大块呢?直接代码来展示

           场景:  

var scene = new THREE.Scene(); // 创建场景

           相机:(分多种,下面是透视相机的生成代码)

var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000); //透视相机

 

           渲染器:

var renderer = new THREE.WebGLRenderer(); // 渲染器
renderer.setSize(400, 300); // 设置渲染器的宽度和高度
document.body.appendChild(renderer.domElement); // 添加到页面当中

 

          OK,基本框架完成。

        第二步:将物体添加到场景中去

            

var geometry = new THREE.CubeGeometry(1, 1, 1); // 生成立方体,参数是X轴 Y轴 Z轴的长度
var material = new THREE.MeshBasicMaterial({color: 0xff0000}); // 立方体纹理
var cube = new THREE.Mesh(geometry, material); // 将纹理覆盖到立方体上

scene.add(cube); // 将立方体添加到场景中

         第三步:渲染

                下面使用渲染器将立方体渲染到页面中去,实现这功能的函数是:

                        renderer.render(scene, camera); // 看参数名字就知道 scene是场景,camera是相机

          OK,接下来看全部代码:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style>canvas { width: 100%; height: 100% }</style>
    <script src="../js/three.js"></script>
</head>
<body>
    <script>
        var scene = new THREE.Scene();
        var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);
        var renderer = new THREE.WebGLRenderer();
        renderer.setSize(window.innerWidth, window.innerHeight);
        document.body.appendChild(renderer.domElement);
        var geometry = new THREE.CubeGeometry(1,1,1);
        var material = new THREE.MeshBasicMaterial({color: 0x00ff00});
        var cube = new THREE.Mesh(geometry, material); scene.add(cube);
        camera.position.z = 5;
        function render() {
            requestAnimationFrame(render);
            cube.rotation.x += 0.1;
            cube.rotation.y += 0.1;
            renderer.render(scene, camera);
        }
        render();
    </script>
</body>
</html>

 

分享到:
评论

相关推荐

    使用three.js绘制3d图表(柱状图,饼状图,环状图,面积图等).zip

    使用three.js绘制3d图表(柱状图,饼状图,环状图,面积图等).zip使用three.js绘制3d图表(柱状图,饼状图,环状图,面积图等).zip使用three.js绘制3d图表(柱状图,饼状图,环状图,面积图等).zip使用three.js...

    [Three.js] Three.js 学习教程 (英文版)

    [Packt Publishing] Three.js 学习教程 (英文版) [Packt Publishing] Learning Three.js The JavaScript 3D Library for WebGL (E-Book) ☆ 图书概要:☆ Create and animate stunning 3D graphics using the ...

    three.js和高德地图结合引入obj格式模型.zip

    three.js和高德地图结合引入obj格式模型---------------------three.js和高德地图结合引入obj格式模型---------------------three.js和高德地图结合引入obj格式模型---------------------three.js和高德地图结合引入...

    three.weapp.min.js

    three.js适用于微信小程序的压缩版本,因微信小程序有分包2m的大小限制,three.js官方也对three.js进行了压缩处理,提供了压缩版的three.js

    三维模型-three.js-PCD模型文件,用于three.js显示pcd文件

    适用于three.js显示pcd模型文件,找不到pcd文件

    元宇宙初探React+Three.js制作3D全景漫游.zip

    元宇宙初探React+Three.js制作3D全景漫游.zip元宇宙初探React+Three.js制作3D全景漫游.zip元宇宙初探React+Three.js制作3D全景漫游.zip元宇宙初探React+Three.js制作3D全景漫游.zip元宇宙初探React+Three.js制作3D...

    three.js前端使用3D模型引入

    import './three.js-master/build/three.js' import './three.js-master/examples/js/loaders/OBJLoader.js' import './three.js-master/examples/js/loaders/MTLLoader.js' import './three.js-master/examples/js/...

    Three.js入门指南(Three.js教程) Three.js开发指南

    第 1 章介绍 Three.js 和 WebGL 的背景资料,并通过简单的例子帮助读者实现第一个Three.js 应用。 第 2 章介绍照相机的设定。 第 3、4、5 章分别介绍几何形状、材质和网格,即如何在场景中添加物体。 第 6 章介绍...

    threejs教学课程文档.zip

    01 Three.js简介 02 初始化Three.js项目 03 编写HelloThreejs 04 添加一些自适应 05 Three.js基础之图元 06 图元练习示例 07 图元之3D文字 08 Three.js基础之场景 09 Three.js基础之材质 10 Three.js基础之纹理 11 ...

    three.js. 3D机房项目

    使用three.js开发的3D机房项目

    课程作业基于three.js开发的一款3D智能眼镜展示源码.tar

    课程作业基于three.js开发的一款3D智能眼镜展示源码.tar课程作业基于three.js开发的一款3D智能眼镜展示源码.tar课程作业基于three.js开发的一款3D智能眼镜展示源码.tar课程作业基于three.js开发的一款3D智能眼镜展示...

    Three.js模型包

    Three.js模型包,包含各种示例使用模型

    Three.js打造智慧工厂.zip

    本资源是我自己的课程:three.js打造智能饲料加工厂 项目的源代码,课程地址:https://edu.csdn.net/course/detail/36327

    three.js实现3D全景看房

    three.js实现3D全景看房(移动端)。 three.js的基本使用(入门阶段),全景自动展示,以及手动拖拽滑动控制房屋方向角度。

    three.js 源码

    three.js 源码,web 3d开发,学习简单,可以做3d库房,3d游戏。

    three.min.js 最全的版本

    three.min.js 最全的版本

    threejs-inspector, 用于调试 three.js的Chrome devtool扩展.zip

    threejs-inspector, 用于调试 three.js的Chrome devtool扩展 Three.js-检查器three.js 检查器是 Chrome devtool的扩展名。 它允许你在网页中查看 Three.js 场景。 你可以从 Chrome 网上商店安装 Three.js Inspector ...

    Three.js实战常用技巧

    分享课程——Three.js实战常用技巧视频教程,课程一共12章,140多节,结合了很多实战案例,课程主要针对three.js实际开发中常用的一些技巧进行讲解,提供有配套的源码和文档资料下载!希望对那些想提升Three.js技能...

    three.min.js多版本集合

    three.js是WebGL的一个重要开发工具。three.js的版本升级更新比较频繁,不同版本的有些语法是有差别的。本资源包括了r64版本至r87的所有版本,方便大家下载使用。

Global site tag (gtag.js) - Google Analytics