位置: 编程技术 - 正文

Three.js基础学习教程(three.js菜鸟教程)

编辑:rootadmin

推荐整理分享Three.js基础学习教程(three.js菜鸟教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:three.js中文教程,three.js 教程,three.js stl,three.js入门指南,three.js入门指南,three.js 入门,three.js 入门,three.js入门指南,内容如对您有帮助,希望把文章链接给更多的朋友!

一、Three.js官网及使用Three.js必备的三个条件

1.Three.js 官网 actually be able to display anything with Three.js, we need three things: A scene, a camera, and a renderer so we can render the scene with the camera.)

大致意思是使用three.js可以实现任何显示的东西,必须满足三个条件: a scene场景、a camera相机、a renderer渲染器. 三者缺一不可。

二、使用Three.js必备三个条件(a scene场景、a camera相机、a renderer渲染器)之间的关系 

如上图所示,来说明a scene场景、a camera相机、a renderer渲染器三者之间关系[/code]

1.场景scene是一个物体的容器【通俗理解装东西的嘛】,开发者可以将需要的角色放入场景中,例如苹果,葡萄。同时,角色自身也管理着其在场景中的位置。

2.相机camera的作用就是面对场景,在场景中取一个合适的景,把它拍下来。【可以想象成人的眼睛】

3.渲染器renderer的作用就是将相机拍摄下来的图片,放到浏览器中去显示

三、通过上述理论来实践官网案例

效果图如下

官网案例实现源码

通过官网案例不难发现,camera照相机默认的观察方向是屏幕的方向(z轴负方向),当变化坐标以后,就要将照相机指向原点,才能观察到物体

z轴负方向???因此这里很有必要说说三维坐标(如下图)

照相机指向原点???来说说相机camera相机(很重要!!想象一下人看不到东西是什么感觉).

Three.js基础学习教程(three.js菜鸟教程)

案例中采用透视相机(从视点开始越近的物体越大、远处的物体绘制的较小的一种方式、和日常生活中我们看物体的方式是一致的。)

var camera = new THREE.PerspectiveCamera(fov, aspect , near,far)

new THREE.PerspectiveCamera(fov, aspect , near,far) 透视相机视野角:fov 这里视野角(有的地方叫拍摄距离)越大,场景中的物体越小,视野角越小,场景中的物体越大纵横比:aspect相机离视体积最近的距离:near相机离视体积最远的距离:far

综上,相信结合上述三维坐标、相机图理解相机、就应该变得很简单咯哦.接下来接着修改上述案例(说明 后面案例鼠标滚动放大缩小、三维旋转都是基于相机来实现的)

四、将官网案修改且设置相机朝向及相机位置

利用[lookAt]方法来设置相机的视野中心。 「lookAt()」的参数是一个属性包含中心坐标「x」「y」「z」的对象。

设置相机的上方向为正方向y轴 camera.up.x = 0; camera.up.y = 1/*相机朝向--相机上方为y轴*/; camera.up.z = 0;

五、实现旋转立方体

旋转动画原理相机围绕y轴旋转,不断修改相机x、z轴位置,并且保持场景中的物体一直再相机的视野中,实时将相机拍摄下来的图片,放到浏览器中去显示

实现效果图如下所示

旋转立方体——案例源码

至此完毕,附上个人绘制思路流程图

【参考资料】

使用3D引擎threeJS实现星空粒子移动效果

使用3D引擎threeJS实现星空粒子移动效果 three.js是JavaScript编写的WebGL第三方库。提供了非常多的3D显示功能。Three.js是一款运行在浏览器中的3D引擎,你可以用它创建各种三维场景,包括了摄影机

Bootstrap table使用方法汇总 bootstrap-table是在bootstrap-table的基础上写出来的,专门用于显示数据的表格插件。而bootstrap是来自Twitter,是目前最受欢迎的前端框架。Bootstrap是基于HTML、

js 毫秒转天时分秒的实例 实例如下所示:formatDuring:function(mss){vardays=parseInt(mss/(***));varhours=parseInt((mss%(***))/(**));varminutes=parseInt((mss%(**))/(*));varseconds

标签: three.js菜鸟教程

本文链接地址:https://www.jiuchutong.com/biancheng/369814.html 转载请保留说明!

上一篇:three.js实现3D视野缩放效果(three. js)

下一篇:使用3D引擎threeJS实现星空粒子移动效果(3d引擎开发)

  • 应该如何
  • 股东投资的钱放在哪里
  • 减少注册资金的理由有哪些
  • 技术开发免征增值税吗
  • 无形资产摊销为什么计入管理费
  • 员工收到现金工资怎么写收据
  • 通用机打发票怎么红冲
  • 固定资产遭受自然灾害账务处理
  • 地下建筑物应该怎样缴纳城镇土地使用税?
  • 给供应商付款怎么做分录
  • 拆迁补偿款使用范围
  • 纳税人发生纳税义务,未按照规定
  • 简易计税项目是所有发票都是普票吗
  • 关税完税价格包含关税吗
  • 有2处收入要交个税,自己如何去交个税
  • 增值税开票资料没有电话可以吗
  • 支付给供应商的现金属于什么活动
  • 房产评估增值部门有哪些
  • 进项税额进成本
  • 华为鸿蒙系统耗电量快吗
  • 公允价值变动损益在利润表哪里
  • linux如何安装
  • win10 批量安装软件
  • 社保退回的工伤怎么赔偿
  • 差额征税的项目有哪些
  • 其他应付款很多
  • 接受捐赠的固定资产可以入账依据是哪些?
  • from origin ‘null‘ has been blocked by CORS policy: Cross origin requests are only supported for ...
  • thinkphp错误日志目录
  • 外贸企业进料加工复出口退税政策
  • php编程获取音频信息
  • 其他营业账簿印花税减免政策
  • 进货开了发票也写了购销合同要交印花税吗
  • 水利建设基金按季度缴纳
  • ieee下载论文
  • 出资入股是什么意思
  • 浪漫编程代码
  • php怎么变成txt
  • 传统结算工具的不足有
  • 现金流量的折现值
  • 关于实收资本的表述中,不正确的是
  • 不同会计制度资产负债表金额不一样
  • 个人所得税换了电脑后,重新录入,离职的人也要录入吗
  • mongodb进阶与实战下载
  • 个人独资企业法主要内容
  • 社保代扣代缴的规定
  • 安装SQL2005的实训体会
  • 营业执照办理税务登记需要什么资料
  • 车间设备折旧费计入产品成本吗
  • 什么是金融资产和金融负债
  • 固定资产超过多少入账
  • 应收账款贷方余额应与什么科目合并后填入报表
  • 服务业收入的会计分录
  • 装修费用怎么结算
  • 财务建账应关注哪些内容
  • 联合账簿是备查账簿和序时账簿的结合
  • 消费税的科目设置在哪里
  • windows vista 版本
  • rancheros github
  • u盘和移动硬盘和固态硬盘的区别
  • win10 10月更新
  • spybotsd.exe - spybotsd 是什么文件进程
  • mac如何中文输入法
  • centos安装详细
  • win7小技巧
  • Linux中的stat命令使用简介
  • linux openfoam
  • opengl教程48讲
  • python中random模块用法
  • javaweb开发技术有哪些
  • unity的vs
  • monkey命令大全
  • android事件处理方式有几种
  • 控制游戏类型
  • ajax实现无刷新
  • 年收入12w
  • 全资子公司和全资子企业的区别
  • 水库淹没区耕地补偿标准
  • 低收入个人所得税
  • 衡阳地税局的地理位置
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设