热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

three.js画一个3D立体的正方体教程

web前端|js教程javascript,three.js,正方体web前端-js教程Three.js是一个3DJavaScript库,基于右手坐标系,可以创建简单或是比较复杂的三

web前端|js教程three.js画一个3D立体的正方体教程
Javascript,three.js,正方体
web前端-js教程
Three.js是一个3DJavascript库,基于右手坐标系,可以创建简单或是比较复杂的三维图形并应用丰富多彩的纹理和材质,可以添加五光十色的光源,可以在3D场景中移动物体或是添加脚本动画等等。本文介绍了利用three.js如何画一个3D立体的正方体的方法,需要的可以参考下。
亿了2.0源码,ubuntu命令设置共享,python下载爬虫步骤,php讨厌,www 2000 seolzw
简介
c 抢票软件源码,vscode登录有什么用,ubuntu 装显卡驱动,openwrt安装tomcat,c sqlite增加,网页设计模板源码,独立服务器和云服务器的区别吗,登录注册界面插件,uniswap 前端框架,爬虫的歌,php文件压缩,晓泉seo,springboot公共组件,网站二维码官方生成器,vb6网页源码,金融集团网站模板,discuz管理员为什么登陆不了后台,织梦怎么修改页面,web 库存管理系统,yes风购物导航程序 安装lzw
three.js 是一款WebGL框架,WebGL可以让我们在canvas上实现3D效果。实现3D效果在国内来说还算是比较新的东西,可供查阅的资料也不多。这篇文章仅是一个入门篇,介绍如何绘制一个3D正方体。
会务系统源码,Ubuntu文本模式 退出,tomcat7w怎么打开,爬虫标签元素获取,php运行的服务器,怎么seo服务lzw
Three.js中的基本概念

Three.js包含3个基本概念:场景(Scene)、相机(Camera)和渲染器(Renderer)。

场景就是需要绘制的对象,相机代表取景的视角,渲染器是绘制的载体(可以挂靠到浏览器的DOM元素中),

也就是我们通过相机拍摄场景然后绘制到目标介质中去。

创建场景、相机和渲染器

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 );

上述代码首先创建一个场景,然后创建一个PerspectiveCamera(立体感的相机),接着创建了一个WebGL的渲染器(注意Three.js也支持非3D的Canvas 2D的渲染器),然后挂靠为HTML文档body的DOM子元素。

介绍完毕,首先奉上实现的效果图:

three.js画一个3D立体的正方体教程
这就是实现的效果图,还是挺有立体感的吧?

绘制前的准备

写代码前,要先下载最新的three.js框架包,引入自己的页面。

具体实现过程

准备一个canvas画布

这个画布是我们展现整个3D正方形的画布,也就是上图那个黑色的方框。

#canvas { width: 400px; height: 300px; border: 1px solid red; margin: 50px auto; display:block; }

明确绘制思路

接下来的绘制过程会涉及到多个概念:canvas、scene、camera、renderer。

为了能更好理解绘制过程的代码和有助于记忆,我们先来理解这几个概念:

假设我们现在正在旅游的途中,看到了一个很唯美的画面,想把这个3D世界记录下来

这个唯美的场景就是scene,我们用相机camera拍摄下来形成照片

为了能看清楚这个照片,我们把这个照片放置在一个画布canvas上

最后,我们再用renderer修饰渲染一下

这样,我们就能成功展现这个3D世界了。

【程序还是很贴近生活哒


推荐阅读
author-avatar
月色清朗
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有