ThingJS 和three.js对比开发太空漫游技术!3D 可视化

WebGL:BabylonJSThreejs、LayaboxJS、SceneJSThingJS比较 目前3d技术发展十分迅速,最初是WebGL,这是一种3d绘图协议,它将JavaScriptOpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景模型了,还能创建复杂的导航数据视觉化。 阅读详情

ThingJS 3D用来增加视觉效果,给人以更加直观,真实的感觉。

ThingJS 3D框架简化了开发工作,面向对象和模块化的特点使得网页代码更加易于管理和维护,并且提供近200个官方示例,直接获取API能力,不需要基于3D概念进行开发,适合3D商业项目快速生成!距离您的业务仅一层之隔,是非开发者也容易理解的一种应用方法。

Three.js是更为底层的3D渲染器,提供各式各样的3D开发概念,例如材质、网格、shader、灯光,逐一进行定制化开发,要求程序员要有清晰的设计思路,尤其是在3D对象类的定义上。
在这里插入图片描述

今天一并总结常见的3D开发概念及其使用方法,包括:(1)第一人称漫游;(2)图片纹理;(3)子类与层级关系;(4)线段处理;(5)粒子系统。对于这些内容的解释和说明,我们在脚本文件中穿插进行,看看three.js和ThingJS实现过程中有何区别?

第一人称漫游

它允许用户通过键盘或鼠标对场景进行巡游控制,ThingJS平台通过第一人称行走控件实现。和three.js的代码量相比,显然更加轻量化。

// 添加控件
var ctrl = null;
var gui = null;
function add_control() {
   
   
	if (ctrl) {
   
   
		return;
	}

	app.camera.position = [0, 10, 0];// 起始位置 就是摄像机位置, 不设置就会在摄像机位置直接开始
	ctrl = app.addControl(
		new THING.WalkControl({
   
    // 参数可以动态修改
			walkSpeed: 0.02, // 行走速度
			turnSpeed: 0.25, // 右键旋转速度
			gravity: 29.8, // 物体重量
			eyeHeight: 1.6, // 人高度
			jumpSpeed: 10, // 按空格键 跳跃的速度
			enableKeyRotate: false, // 默认不开启键盘控制旋转
			useCollision: false, // 默认不开启碰撞检测
			useGravity: true // 默认开启重力
		})
	);

图片纹理

在真实的3D场景中,模型是有纹理的,而不仅仅是只有颜色值,Three.js通过ImageUtils.loadTexture方法使用图片纹理对3D模型进行贴图,使得模型更接近真实。例如,MeshLambertMaterial(朗勃面)是一种很常用的材质,它将使用漫反射的方式引用前面的纹理图片,最终效果还与光线有关;另外一种常用的材质是MeshPhongMaterial,它可以产生镜面效果。
ThingJS中提供直接贴图的方式来实现模型纹理,建模师只要导入类似于照片效果的图形,简单实现模型的纹理,虽然无法实现three.js那样的细节定制化,仍旧可以改变参数来接近实景效果。

// 设置摄像机位置和目标点
	app.camera.position = [24.642510549459775, 
ThingJS开发使用感受 出于为了实现有关厂区的数字孪生项目,断断续续使用ThingJS平台开发一年左右,做一个使用感受的总结。在编码方面,笔者的编码方式博客中的描述基本一致:“由于平台提供的代码编码端体验不佳,我们不得不先在本地进行开发,再将相关代码复制到在线平台,而调试修改代码也是如此繁琐”。个人感觉至少现阶段的ThingJS还是比较适合去做一些简单的业务场景、数据交互简单的项目,类似于大屏展示,这种纯数据展示;如果要实现一个较为庞大复杂的业务场景时,就不太方便,开发难度也会随之增加。 阅读详情

相关推荐

ThingJS | 3D可视化开发框架,一站式数字孪生

ThingJS是一个基于WebGLThree.js的开源3D JavaScript库,用于创建交互式的3D场景应用程序。它提供了丰富的功能工具,使开发人员能够简单而高效地构建各种类型的3D应用。ThingJS支持导入各种3D模型格式,并提供了各种渲染效果交互功能,例如阴影、光照、碰撞检测等。

云散的博客 3113

JavaScript实现点击按钮切换网页背景色的方法

主要介绍了JavaScript实现点击按钮切换网页背景色的方法,涉及JavaScript基于鼠标事件动态操作页面元素样式的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

基于WebGL无插件虚拟场景漫游关键技术(完整版)ThingJS

#三维可视化##3D开发# WebGL, ThingJS3DSMAX 虚拟场馆漫游技术构建 基础组件 加载三维模型 实现虚拟漫游 渲染优化 如果要构建一个具有交互性拓展性的沉浸式漫游场景,常用到3DSMAX、three.js等软件技术,学习门槛较高;ThingJS可视化组件更加轻量化,B/S架构下的3D可视化应用构建更轻松,为不少企业客户降低了项目开发成本。 WebGL、ThingJS3DSMAX技术实现 WebGL是一种浏览器支持的3D绘图技术,无需下载插件,有跨平台跨终端的特性。如今广泛

ThingJS的博客 2552

数字孪生——thing.jsthree.js

本文讲了thing.jsthree.js对比及它们的应用

smile_hahahaxixi的博客 7370

WebGL技术研究:Threejs、SceneJSThingJS等框架优缺点对比分析

WebGL技术研究:Threejs、SceneJSThingJS等框架优缺点对比分析。WebGL研究(包括BabylonJSThreejs、LayaboxJS、SceneJSThingJS等框架的特性、适用范围、支持格式、优缺点、相关网址)。

VR观察 ——专注AR/XR//MR/VR技术研究与应用探索! 2万+

js实现椭圆轨迹_ThingJS three.js官方示例对比 3D 可视化

ThingJS的观察位置是由相机(Camera 类)来为三维场景指定的。ThingJS 3D框架简化了开发工作,面向对象模块化的特点使得网页代码更加易于管理维护,并且提供近200个官方示例,直接获取API能力,不需要基于3D概念进行开发,适合3D商业项目快速生成!距离您的业务仅一层之隔,是非开发者也容易理解的一种应用方法。Three.js是更为底层的3D渲染器,提供各式各样的3D开发概念,例如...

weixin_28835551的博客 664

js 点击button切换颜色_ThingJS three.js官方示例对比 3D 可视化

ThingJS的观察位置是由相机(Camera 类)来为三维场景指定的。ThingJS 3D框架简化了开发工作,面向对象模块化的特点使得网页代码更加易于管理维护,并且提供近200个官方示例,直接获取API能力,不需要基于3D概念进行开发,适合3D商业项目快速生成!距离您的业务仅一层之隔,是非开发者也容易理解的一种应用方法。Three.js是更为底层的3D渲染器,提供各式各样的3D开发概念,例如...

weixin_39707693的博客 376

js 点击button切换颜色_ThingJS three.js开发示例对比,让开发早点下班回家!3D 可视化...

ThingJS 3D框架简化了开发工作,面向对象模块化的特点使得网页代码更加易于管理维护,并且提供近200个官方示例,直接获取API能力,不需要基于3D概念进行开发,适合3D商业项目快速生成!距离您的业务仅一层之隔,是非开发者也容易理解的一种应用方法。Three.js是更为底层的3D渲染器,提供各式各样的3D开发概念,例如材质、网格、shader、灯光,逐一进行定制化开发,要求程序员要有清晰的...

weixin_39860064的博客 128

js相对视口的高度_ThingJS three.js开发示例对比,让开发早点下班回家!3D 可视化...

ThingJS 3D框架简化了开发工作,面向对象模块化的特点使得网页代码更加易于管理维护,并且提供近200个官方示例,直接获取API能力,不需要基于3D概念进行开发,适合3D商业项目快速生成!距离您的业务仅一层之隔,是非开发者也容易理解的一种应用方法。Three.js是更为底层的3D渲染器,提供各式各样的3D开发概念,例如材质、网格、shader、灯光,逐一进行定制化开发,要求程序员要有清晰的...

weixin_31630667的博客 150

全景虚拟漫游技术实现(three.js vs ThingJS) Javascript 3D开发 前端 物联网 webgl 三维建模 3D模型 虚拟 全景

三维建模无非就是通过专业技能加工成立体图形,使之图形成为直观、易懂,容易判读的立体图件。对于开发者来说,选择一个好的3D开发框架,在全景虚拟漫游场景上实现3D动效,ThingJS vs three.js开发性能资源投入将会如何呢? three.js优势 Three.js是大多数开发者首次接触的WebGL 3D库,Threejs库的出现解决了底层的渲染细节复杂的数据结构,可以支持如一个房间级别,或一个楼层级别的渲染,或符合特殊要求的大量同类模型的渲染。 开发性能 对 WebGL进行了封装,提供了更高层的渲

ThingJS的博客 2258

js 判断支持webgl_基于WebGL无插件虚拟场景漫游技术如何构建?ThingJS

#三维可视化##3D开发#WebGL, ThingJS3DSMAX虚拟场馆漫游技术构建基础组件加载三维模型实现虚拟漫游渲染优化如果要构建一个具有交互性拓展性的沉浸式漫游场景,常用到3DSMAX、three.js等软件技术,学习门槛较高;ThingJS可视化组件更加轻量化,B/S架构下的3D可视化应用构建更轻松,为不少企业客户降低了项目开发成本。WebGL、ThingJS3DSMAX技术实现W...

weixin_39806948的博客 141

WebGL框架对决:BabylonJSThreejs、LayaboxJS、SceneJSThingJS深度评测

本文深度评测了五大主流WebGL框架(BabylonJSThreejs、LayaboxJS、SceneJSThingJS)的核心特性适用场景。通过渲染能力实测、开发体验对比实战案例解析,帮助开发者根据项目类型(游戏开发、产品展示、工业可视化等)选择最佳框架,并分享性能优化技巧。BabylonJS在渲染质量游戏开发中表现突出,而ThingJS在工业可视化场景具有独特优势。

weixin_29235923的博客 242

6款免费数字孪生工具深度横评:从Three.js到Unity,新手到专家的选型指南

数字孪生作为连接物理世界数字空间的关键技术,其核心在于通过数据驱动实现虚实映射交互。其技术原理通常涉及三维可视化、实时数据接入、仿真分析业务逻辑集成,旨在构建一个动态、可计算、可预测的虚拟副本。这项技术的价值在于能够实现预测性维护、流程优化沉浸式培训,广泛应用于智慧城市、工业制造、建筑信息模型(BIM)等领域。对于开发团队而言,选择合适的工具是项目成功的第一步。本文聚焦于**物联网数据可视化****BIM模型集成**等核心需求,深入剖析了包括ThingJSThree.js、Unity在内的六

weixin_30983965的博客 334

智慧园区 | Web端3D平台的选型评估

本文系统分析了Web端3D平台的评估框架,提出需从技术性能、开发效率、生态能力、成本控制战略匹配度五个维度进行综合考量。重点对比了主流平台的特性:Three.js灵活但学习曲线陡,Babylon.js功能全面,Cesium专长地理空间应用,ThingJS适合国内智慧园区项目。建议根据具体需求、团队能力预算选择最合适的平台,强调通过POC验证实际表现,并综合考虑开发周期、许可费用等总成本。最终推荐:定制化项目选Three.js/Babylon.js,地理相关选Cesium,快速交付国内项目选ThingJS

m0_73690786的博客 970

全面汇总版的3D行业生态图谱

(比如你是做工业设备展示、建筑漫游、Web可视化),我可以按场景推荐工具链格式组合。:地理空间渲染,支持 WGS84 坐标 3D Tiles。:封装式 Web3D 平台,适合物联网孪生场景。:完整 Web3D 引擎,支持 PBR、VR。:通用 WebGL 渲染库,适合数据可视化。:开源建模、动画、渲染、格式转换。:工业CAD建模,输出工程格式。:高保真渲染,虚拟现实影视。:云游戏 GPU 实时渲染。:专业影视游戏建模工具。:开源游戏引擎,轻量灵活。:建筑家居设计实时渲染。

ylz_yg的博客 363

WebGL 数字孪生项目开发

WebGL 是目前实现“网页端数字孪生”的主流底层技术。它允许你在浏览器中直接调用 GPU 性能,实现大场景、高精度的 3D 渲染,而无需用户安装任何插件。以下是 WebGL 数字孪生项目开发的。

zhaoyin0335的博客 654

ThingJS Threejs3D开发框架

ThingJS可支撑数十栋建筑的园区级应用,可支持从地球到城市、园区、建筑、楼层、房间、最终到物联网设备的渲染性能负载,支撑物联网可视化的轻量开发Three.js是大多数开发者首次接触的WebGL 3D库,Threejs库的出现解决了底层的渲染细节复杂的数据结构,终于将复杂的底层细节抽象出来。外链——ThingJS是更为上层的抽象,不用关心渲染、mesh、光线等复杂概念。ThingJS封装了对模型交互事件的API、对模型的操作及层次关系,一个个具体的模型抽象把初学者从复杂的3D概念中解放出来。

kunwen123的博客 700

轻松3D创业!ThingJSThree.jsUnity 3D技术剖析帖

游戏开发Unity 3D是比较有名气的平台,脚本文档保留着JS相关的资料,JS何去何从?ThingJSThree.jsUnity 3D彻底来剖析一下。 基于WebGL周边衍生了众多的第三方库,其中Three.js属于开发应用,做了一定的渲染细节封装,ThingJS则封装更多对模型的操作,力求让更多无3D开发经验的人员上手。以Unity 3D为代表的OpenGL出现更早,开发者可以在Unity 3D平台上构建各种ARVR互动体验,同时可以发布WebGL版本。下面基于开发体验、场景资源用户技能等三大维

ThingJS的博客 2032
上一篇: NASA样本实验室之3D渲染图,一分钟搭建教程!3D 可视化 ThingJS
下一篇: ThingJS: 做一个数据可视化项目的难点在什么地方?3D 可视化 three.js
ThingJS_小锘
博客等级 码龄6年 169粉丝 254原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值