前段时间公司给了一个新需求就是写一个装修室内3D全景效果图,于是开始我的three.js开发之旅。
创新互联是一家专注于成都网站设计、做网站与策划设计,辽宁网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:辽宁等地区。辽宁做网站价格咨询:18982081108
作为一个前端小白,突然接触three.jswebgl除了懵逼还是懵逼,不过作为一个技术人对于挑战也许就是软件开发中真正的乐趣,至少不会埋头调试一遍又一遍重复的页面数据,上上下下左左右右BABA......简直枯燥到极点。不过three.jswebgl不得不说给我打开了新的世界,接下来我就简单讲述一下我的学习之旅。
Three.js 是一款运行在浏览器中的 3D 引擎,是JavaScript编写的WebGL第三方库,可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象,three.js内部也是webgl的封装,封装了大量了webgl API ,让比较繁琐的webgl更加简便。
WebGL(全写Web Graphics Library)是一种3D绘图协议,它让可以让开发进一步去了解图形渲染,Webgl是JavaScript和OpenGL ES 2.0合并出来的升级版,通过webgl可以让前端开发者们脱离开css渲染,可以了解更加底层的渲染,WebGL也可以为HTML5 Canvas提供硬件3D加速渲染,webgl是通过系统显卡来在浏览器里更流畅地展示3D场景和模型,加入shader(着色器)来对图形渲染,学习webgl需要具备相应的图形学算法,属于目前图形渲染开发的高级技术之一。目前webgl也运用在游戏,视频特效,包含untiy3D也是集成webgl。
three.js中主要由摄像机 ,场景 ,渲染器 , 资源加载器,素材组成
webgl中的所有东西都是基于摄像机去展示的,可以利用摄像头的视角形成对3d视图观测视角,比如鱼眼视角,从而就让我们可以在平面图上可以开发出真实场景的3D视图。接下来我们看看怎么用three.js创建一个摄像机:
摄像机有了但是为了让景物可以更好的展现,这时候我们就需要一个展示景物的场景,three.js也为我们封装好了,如下所示可以创建一个场景:
渲染器是webgl的渲染启动开关,他可以调用render方式把场景渲染到摄像机。
three.js加载资源不同我们常见的html一样,直接通过src属性加载,而是通过TextureLoader.load来加载资源。
素材常见的包含网格,灯光等许多元素下面我就举个例子
通过这次基于three.js的webgl全景图开发之旅为我对视图渲染打开了一道新的大门,不过webgl的厉害之处还有很多很多是我还未涉及到了,以后还需要更加努力了。
最近接触了 nestjs ,发现这个项目也用到依赖注入。
和公司现在运行的老项目很像。
主要由 zazeninjector + koa + typeorm 组成
通过装饰器 autoinject 进行装饰
比如 在 account_facade 用到, account_service:IAccount.AccountService 则直接作为 account_facade 这个方法的参数即可
熟悉 java 的人看起来,会感觉就像 spring boot 那一套,但并不是完全像
相比公司老项目,nestjs 相对更为智能,创建新的模块也更为方便些。
会出现如下文件及选择
包管理工具具体用哪个就看个人习惯了
会出现 Hello World!
nestjs 还提供了很多功能。会一点点了解。虽然不大可能用于公司现在的项目了。但是后续了解nestjs 的实现,玩一玩还是可以的
在看 backbone.js 之前看了两本 js 的书,都是讲面向对象的 javascript 的,可以作为前置教程:
Pro Javascript Techniques // 一本比较老一点的书,作者是 John Resig
Javascript Web Applications // 这个是 Spine.js 的作者写的,里面也简单介绍了
这时候,只要写一点简单的例子,就应该可以入门了,还有一些其它的教程和例子,都是从各自的角度来讲,比如:如何和 Rails 整合之类的,可以之后再看。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款