1.首先我们接下来要用到三个库

import * as THREE from "three";
// 导入轨道控制器
import { OrbitControls } from "three/examples/jsm/controls/OrbitControls";
// 导入动画库
import gsap from "gsap";
// 导入dat.gui
import * as dat from "dat.gui";
import { color } from "dat.gui";

2.添加场景元素


// 1、创建场景
const scene = new THREE.Scene();// 2、创建相机
const camera = new THREE.PerspectiveCamera(75,window.innerWidth / window.innerHeight,0.1,1000
);// 设置相机位置
camera.position.set(0, 0, 10);
scene.add(camera);// 添加物体
// 创建几何体
const cubeGeometry = new THREE.BoxGeometry(1, 1, 1);
const cubeMaterial = new THREE.MeshBasicMaterial({ color: 0xffff0001 });
// 根据几何体和材质创建物体
const cube = new THREE.Mesh(cubeGeometry, cubeMaterial);

3. 将几何体添加到场景中

scene.add(cube);

4.接下来就需要渲染器才能让它显示出来


// 初始化渲染器
const renderer = new THREE.WebGLRenderer();
// 设置渲染的尺寸大小
renderer.setSize(window.innerWidth, window.innerHeight);
// console.log(renderer);
// 将webgl渲染的canvas内容添加到body
document.body.appendChild(renderer.domElement);

5.如果没有其他需求直接输出就算完成了

renderer.render(scene, camera);

6.接下来是三维显示,用到的是轨道控制器

//添加轨道控制器
const controls=new OrbitControls(camera, renderer.domElement);
//通过render函数让静止的正方体呈现立体性
function render(){renderer.render(scene, camera);//每一帧都要渲染requestAnimationFrame(render);}
//初始化render
render();

使用three建立一个正方体相关推荐

  1. 怎样快速画出一个正方体_小学数学非常有效的“画图”解题法,快速解题的“金钥匙”...

    小学阶段的数学主要培养的是孩子的逻辑思维能力,是从形象思维逐步过度到抽象思维的过程,如果在小学阶段没有将基础打牢,那么等孩子上初中后面对更复杂的学习内容,就会变得更吃力. 在小学数学中,"画 ...

  2. 建立一个php 基础类

    在些PHP文件的时候,一般首先都是要先写一下基础类: 主要包括以下几个方面: 1.服务器的链接:包括主机,用户名,密码 2.数据库的选择:要操作哪个数据库 3.字符集的设置:设置什么样的编码 4.查询 ...

  3. 用matlab自己搭建bp神经网络,怎样在matlab里建立一个BP神经网络模型?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用以下的数据怎样在matlab里建立一个BP神经网络模型?求高手帮忙!!最好是有详细步骤以及代码 年份 WTI(美元/桶) 2007-1 54.26 20 ...

  4. bulma.css_如何建立一个? 具有Bulma CSS的特斯拉响应页面

    bulma.css by ZAYDEK 由ZAYDEK 0-60 in 1.9s? (0-60 in 1.9s ?) 如何建立一个? 具有Bulma CSS的特斯拉响应页面 (How To Build ...

  5. linux用户在哪个文件夹,LINUX中用命令成功建立一个用户后信息会记录在哪个文件中...

    LINUX中用命令成功建立一个用户后信息会记录在哪个文件中 发布时间:2007-07-28 10:14:57来源:红联作者:MPiops 增加用户帐号后 新建用户的命令十分简单,在命令行下使用 use ...

  6. 建立一个按年龄排序的有序链表,每个结点包括学号、姓名、性别、年龄。建立一个新的结点,通过年龄将此结点插入到链表中去,使之仍然有序

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p143 7.1.2 上级实训内容 [实训内容12]建立一个按年龄排序的有序链表,每个结点包括学号.姓名 ...

  7. 吴恩达:如何建立一个成功的人工智能创业公司

    # 吴恩达:如何建立一个成功的人工智能创业公司 # 很多初创企业的失败都来自于产品制造,因为他们的产品没人想要.我本身倾向于结果以及客户驱动的商业模式.只有当客户决定给你的产品伸大拇指,还是小拇指的时 ...

  8. 周鸿祎谈抢票:技术推动建立一个高效的公平社会

    <周鸿祎谈抢票:技术推动建立一个高效的公平社会>,原文链接:http://news.cnblogs.com/n/170178/ 分享自:博客园Android客户端(http://andro ...

  9. bat 删除文件_利用电脑文本文档建立一个简单方便的删除文件的小程序

    删除文不需要的文件或者资料,是日常工作中必定会遇到了. 各种的杀毒软件或者防护软件都具备删除文件的功能,例如360.腾讯电脑管家.这些操作起来其实也不是太麻烦! 不过呢!今天来和大家分享一个更简单的方 ...

  10. 建立一个Web项目及一些错误解决办法

    培训之前,先自学一波,写一个从Hello World,然后记录一下每天学习Java Web的过程:东西很多,有用的会写大量解释,希望能最终学完 然后搞定这门语言吧. 1.配置tomacat:点击win ...

最新文章

  1. [转载] 别人的心得感悟
  2. org.apache.activemq.transport.InactivityIOException: Cannot send, channel has already failed
  3. 【集训队作业2018】围绕着我们的圆环
  4. 项目管理风险控制及注意事项
  5. error: ‘to_string’ is not a member of ‘std’———已解决
  6. Scikit-Learn 机器学习笔记 -- MNIST
  7. 算法训练 猴子分苹果c语言,算法训练 猴子分苹果
  8. mysql存储number_DUMP函数--Oracle是如何在内部存储NUMBER类型的数据?
  9. recyclerview的数据刷新(下拉刷新和自动加载更多)以及添加提示语(例如:“数据已加载完毕”)
  10. 识别浏览器的JavaScript引擎的方法
  11. mysql生成百万条数据_mysql 快速生成百万条测试数据
  12. STM32程序的烧录方式 与 ISP一键下载
  13. 我国家庭计算机最快方式,选择哪种方式上网对家庭电脑更实惠,更快速?
  14. 做SEO优化第十二步:网站优化推广方案
  15. 评量子论的两本科普书籍
  16. Win7 + VirtualBox 安装 MacOS X 10.9 Mavericks 操作步骤
  17. java excel进度条_导出excel 用easyui显示进度条(也适用于其他框架遮罩层,进度条)...
  18. 带省略号的比喻句_带有省略号的句子
  19. git三板斧--Linux
  20. 电脑系统重装篇7:使用GHO镜像文件安装系统(OneKey)

热门文章

  1. Foxmail发送邮件,发送邮件工具类
  2. 【sql】SQL3 查找当前薪水详情以及部门编号dept_no
  3. 求解会议安排问题 C++实现
  4. 深度linux卡在logo,记录一次深度deepin开机卡logo解决方案
  5. 2018-3-28 摩尔定律
  6. 程序员工资真的高吗?
  7. js中html5修改字体大小,jquery设置字体大小插件
  8. 缺少msvcr100.dll,小编教你丢失msvcr100.dll真正解决方法
  9. 开发网页微信登入获取微信用户信息
  10. css写字体浮雕效果,使用CSS3的text-shadow制作浮雕文字阴影和多重文字阴影效果-网站程序网...