3D赛瓦号——整装待发!

随着岁末将至,twaver开发团队依旧马不停蹄,3d产品功能持续更新,新特效和功能目不暇接。现在,我们就利用一些新功能,制作一个全新“赛瓦号”飞船,大家看一下仿真程度是否有质的不同?

385

网页3d技术正在快速发展,3d可视化技术目前大热,不但是目前整个IT业中的技术热点,也是互联网、投资界的热门话题。各种3d虚拟仿真技术纷纷出现,对twaver这类底层3d展示引擎产品需求量也迅速加大,要求也不断上升。网页3d应用要求开发更加简单方便、效果更加逼真,twaver也在不断满足开发者这一需求。

要让3d场景更加真实,一个核心技术就是处理好“光线”。光线直接将外接实物的各种信息带入眼睛,模拟好光线的处理,3d场景就会更加真实。光线的处理一般有透视、反射、折射等。

386

让美工或程序员准备大量的高清贴图,并不现实,也不能完全解决真实度的问题。对于光线的反射,还需要直接用算法和一些辅助贴图进行实时计算和模拟。下面介绍几种常见的用法。

环境贴图

环境贴图,是指一个物体在一个环境中,对四周环境贴图的反射。例如,下面的一个球在一个完全空白的空间,它只是发出或反射一些灯光照射来的白光而已:
387

我们如果设置合理的材质和反光强度,会让它看上去更生动一些:
388

但是它依旧没有对环境的场景有什么更细致的反应。例如一个光鲜亮丽的汽车放在站台上,它会对头顶的灯光和俯身触摸油漆的看客有清晰的反射。这时我们可以使用环境贴图:

var envmap=['posx.jpg','negx.jpg','posy.jpg','negy.jpg','posz.jpg','negz.jpg'];
node.setStyle('m.envmap.image',envmap);
 

上面准备了6张环境贴图,分别对应环境立方体中的6个面,并设置给这个node对象。这样,node就会把这个环境给反射出来。
389
这看上去像一个剥了皮的皮蛋。通过下面的参数,可以进一步控制环境贴图的反射比例:

node.s({        
  'm.reflectRatio': 0.4,
});

 

390
折射,还可以配合透明来叠加投射效果。两者结合,可以做出既反射、又投射的“气泡”效果。当然这种情况要有背景参照物才能把“透明”观察的更清楚。为此我们添加一个天空盒环境。例如:

var skybox = new mono.Cube(10000,10000,10000);
skybox.setStyle('m.texture.image',['posx.jpg','negx.jpg','posy.jpg','negy.jpg','posz.jpg','negz.jpg']);
box.add(skybox);
 

391
合理利用环境反光,可以让物体显得更加精致、逼真,有光泽。

高光反射

接下来再看高光反射的问题。我们假设一个物体有贴图、有纹理,但是没有高光反射。那么它看上去将是这样的:
392
是不是显得很“呆”?因为材质是’basic’,没有反光效果,就没有光泽变化,就像一张平面上的画,没有立体感。可以修改材质的类型为’phong’增加反光:

node.s({
  'm.type': 'phong',
});
 

这样就有了反光:
393
生动多了。不过还是没有“高光”,材质感觉不是很“光亮、精致”。可以进一步设置白色高光:

node.s({
  'm.specular': 'white',
});
 

一些局部位置对光有了更强烈的反应,更加真实了:
394
更进一步,如果我们希望物体外表一些特定区域有高光反光,其他区域暗淡,该如何处理?我们可以使用specular map贴图进行控制。例如我们把上面模型中的蓝色区域作为“玻璃窗户让它有更强烈的反光,设置了specular map后的效果会有进一步变化:

node.s({
  'm.specularmap.image': 'specularmap.jpg',
});
 

395
现在的效果是,“该亮的地方亮、不该亮的地方不亮”。“哪里亮、怎么亮、亮不亮”,我们都可以通过上述手段进行精确的控制。

法线贴图

光滑没有一丝杂质的油漆,看上去有点假。有一些杂质、纹理的效果更加真实。利用贴图纹理可以实现这样的效果,例如皮革材质。但它比较呆板:不会随着光线的移动而改变对环境的光线反射变化。现在我们用normal map这一技术来代替图片纹理,看是否更简单、效果更好。

node.s({
  'm.normalmap.image': 'normalmap.jpg',
});
 

396
怎么样,“皮革”一样的纹理效果立刻就出来了,而且比美工制图更加简单方便。

如果觉得皮革纹理波动有点大,可以通过控制法向干扰的比例进行调节。下面我们把干扰调节低一点:

node.s({
  'm.normalScale': new mono.Vec2(0.1,0.1),
});
 

干扰只启动10%。看看效果:
398
皮革会平滑、柔和一些,不粗糙,但纹理依旧清晰可见。如果是我们买LV的包包,一定会选择这种材质而不是前面的粗糙材质。

即使不用任何贴图,也可以产生效果不错的纹理,如下图中的带雕刻效果的金属圆柱:
402

哦对了,差点忘记了将以上环境映射、高光、贴图几个伎俩同时并用,看看效果。
403

最后再加上玻璃头盔、天空盒,整个场景就完整了:
386

最后,大家就跟着我们这趟赛瓦号,出发踏上3d探索之旅吧!
386

408

30行Python代码实现3D数据可视化!非常惊艳! 回顾 2D 作图 用赛贝尔曲线作 2d 图。此图是用基于 Matplotlib 的 Path 通过赛贝尔曲线实现的,有对赛贝尔曲线感兴趣的朋友们可以深入了解一下。在 matplotlib 中,figure 为画布,axes 为绘图区,fig.add_subplot()、plt.subplot() 方法均可以创建子图。以下是作图实践。 importmatplotlib.pathasmpath importmatplotlib.patchesasmpatches importmatplotl... 阅读详情

相关推荐

RoboCup3D仿真2019年国赛TC笔记

内容部分参考了学姐的博客http://www.cnblogs.com/ansersion/p/4050308.html 以下为本人第一次参加国赛过程中的TC经验总结: 首先介绍一下一些基本的情况: 任务需求 TC的主要任务就是负责比赛进行,比赛一般分为以下几个环节 比赛环境配置 赛程安排 上传代码 比赛并记录比分 根据结果评出排名 这里主要介绍技术相关的要点,在开始前我们先了解一...

Wistral的博客 3310

TWaver3D入门探索——3D拓扑图之绽放的小球花

这样一簇绚烂丰满艳丽多姿的3D小球花,要多少代码才能完成?其实不足百行,您信吗?下面咱就看一下具体实现过程,让您分分钟学会用TWaver HTML5制作3D拓扑图。 搭建3D空间 首先为花簇的绽放建一个展示的舞台。接触过TWaver2D的都知道,box、network是必不可少的,但对3D场景来说,还远远不够。一是要添加镜头位置,确定我们在什么角度和距离进行观察;...

weixin_30360497的博客 474

用java自己动手写彩票福彩3D缩号工具

import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ZhiXuan { public static void main(String[] args) { String bBit = "1,4,5,7,9"; bBit = bBit.rep...

fljinge的博客 1864

TWaver3D直线、曲线、曲面的绘制

插播一则广告(长期有效) MONO哥需要在武汉招JavaScript工程师若干要求:对前端技术(JavasScript、HTML、CSS),对可视化技术(Canvas、WebGL)有浓厚的兴趣基础不好的可培养,基础好的可共谋大事感兴趣的给我发邮件:hr@servasoft.com -----------------------------...

weixin_33919950的博客 459

TWaver for HTML5

TWaver的图形组件库中提供了拓扑组件、地图组件、设备图组件,以及表格、树图、属性表、图表等丰富的通用图形界面组件,为电信运营支撑系统(OSS)的开发提供“一站式”的组件产品和解决方案,是快速设计、开发和部署OSS的利器。

TWaver的3d图形组件库,小demo

TWaver HTML5 3D 制作的demo提供一个3d图形展示的基本代码。TWaver的3d图形组件库,小demo

TWaver可视化编辑器的前世今生(二)3D编辑器

插播一则广告(长期有效) MONO哥需要在武汉招JavaScript工程师若干要求:对前端技术(JavasScript、HTML、CSS),对可视化技术(Canvas、WebGL)有浓厚的兴趣基础不好的可培养,基础好的可共谋大事感兴趣的给我发邮件:hr@servasoft.com -----------------------------...

weixin_34010566的博客 610

twaver 3D机房接口文档

twaver 3D机房接口文档

2017146期计算机开机号,[彩吧]福彩3D17147期开机号103

福彩3D17147期开机号103146期彩吧3D开机号:302——试机号:183——开奖号:549→总结:开机号无下号试机号无下号145期彩吧3D开机号:219——试机号:413——开奖号:945→总结:开机号下9试机号下4144期彩吧3D开机号:315——试机号:241——开奖号:585→总结:开机号下5试机号无下号143期彩吧3D开机号:432——试机号:336——开奖号:698→总结:开机号...

weixin_39590989的博客 1632

基于TWaver实现的3D机房Demo

TWaver是基于WebGL3D一个框架,可以使用其框架进行web3d的开发,这里贴上官方的一个小案例,可以参照使用。

mono-design-v2.1.3

Mono Design 是Twaver一款web端设计工具。Mono Design不仅可以是用Editor快速创建3D机房,而且也可以使用代码创建3D产品。此资源是Twaver提供的一款试用产品

3D视觉引导瓦盖自动装配系统

本系统实现汽车发动机缸体瓦盖的自动化检测、识别、精准定位抓取及安装,通过3D视觉识别和引导技术以及专业机器人实现对不规则工件的整条加工生产线的自动化升级改造,大幅度的提高了发动机瓦盖的装配效率,减少人工成本,为企业带来更多的效益。

GD_KarMing的博客 472

硬件开发实践:高速 PCB 差分信号与时钟同步优化

由两条互补信号线组成(正负极)接收端只关注两线之间电压差共模噪声对两线同时作用,可被抵消。

2501_93174775的博客 393

蚂蚁庄园运动会登山赛!3d项目入门实战!Cocos Creator 3D!

好像没写过3d项目分享,那么就跟着蚂蚁庄园的小鸡一起跳跳跳吧! 效果预览 配置环境: cocos creator 3D 1.0.0 首先是寻找3d资源花费了大半天时间,开发3d游戏不易呀!最终还是向KUOKUO大佬那捞了一只鸡(鸭?)来用了。 由于是第一次写3d项目,摄像机镜头调了多次才达到预想的效果。 还用了一个天空盒,网上找的资源。 实现原理 生成道路是用预制资源,代码动态生成。 c...

白玉无冰 1264

【Codesys】-扫描添加失败,手动添加第三方模块,真·DC模式的高速计数模块

欧姆龙耦合器(NX-ECC201)和高速计数模块(NX-EC0132)单独使用。扫描设备添加到Codesys中,会报错,无法自动添加。记录一下,以防忘记。高速的计数保证了位置的准确性,位置准确就能保证裁切的精度,一切的基础就在这儿了,奈何目前只有欧姆龙和倍福能做到这样的波形。

qq_35316470的博客 1388

手把手教你用Excel自动化处理G14大额风险暴露报表(含211版模板)

本文针对G14大额风险暴露报表(含211版)手工填报效率低、易出错的核心痛点,提供了一套基于Excel VBA的完整自动化解决方案。文章详细讲解了如何构建从数据采集、清洗、关联客户识别、风险暴露计算到自动化校验与归档的完整工作流,并附有可操作的代码示例,旨在帮助银行风控人员大幅提升报表处理效率与准确性。

weixin_29304985的博客 447

Coggle数据科学 | Kaggle赛题解析:CZII 3D 物体检测

有大量的cryoET层析图尚未被充分挖掘。这些已发布的数据中,越来越多的部分以标准化格式存在于cryoET数据门户(cryoetdataportal.czscience.com)中。挖掘这些数据需要自动识别图像中的每个蛋白质分子。即使对于肉眼可识别的蛋白质,这个问题也尚未得到解决。一个通用的解决方案将揭示细胞的“暗物质”,并将促进成千上万的有助于人类健康的发现。

csdn_xmj的博客 1398

T113-S3-官方SDK分区添加

本篇文章将展示如何编译T113-S3的SDK以及在sdk中添加用户自定义分区,让您能够轻松地开始在您的项目中使用T113-S3芯片。T113-S3是一款功能强大的嵌入式处理器,适用于各种应用,包括物联网、工业自动化和智能家居等。T113-S3-SDK是特别为T113-S3芯片设计的软件开发工具包(Software Development Kit)。它包含了一系列用于开发和定制嵌入式应用程序的工具、库和示例代码,方便开发者在T113-S3平台上开展软件开发工作。

flypig has a dream! 2359

python 彩票分析_294期钱哥福彩3D预测奖号:杀号分析

福彩3D第2020293期:奖号为:566,试机号为:676。胆码:福彩3D第2020289期-第2020293期连续5期开出号码分别为:086-418-753-941-566。其中,小号出现了6个,小号走势较冷;偶数号码出现了8个,基本持平;0路号码热出。统计3D历史上已开出的奖号发现,在连续5期开奖号码中:3D在第2020280期-第2020284期分别开出奖号:200-114-511-984...

weixin_39606137的博客 1190

全球建筑物提取数据集(免费下载):微软/GlobalMLBuildingFootprints

这个是GitHub上的开源数据集: https://github.com/microsoft/GlobalMLBuildingFootprints 介绍 必应地图正在世界各地发布开放式建筑足迹。我们从 2014 年到 2021 年间的 Bing Maps 图像中检测到了 7.77 亿座建筑物,包括 Maxar 和 Airbus 的图像。数据可在 ODbL 下免费下载和使用。该数据集补充了我们的其他版本。 包括的地区 执照 此数据由 Microsoft 根据Open Dat..

此星光明博客 6289

安卓App开发 篇三:Android SDK和API

Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳做法、减少模板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者可将精力集中于真正重要的编码工作。hl=zh-cnhl=zh-cnWorkManager 是 Android Jetpack 的一部分,是用于持久性工作的推荐解决方案,适用于需要通过应用重启和系统重新启动来调度的工作,也是后台处理操作的主要推荐 API。立即执行:必须立即开始且很快完成的任务,可以加急,使用和Worker,通过对调用处理加急工作。

生活在别处 1283

又融资了!铼赛智能5年连获5轮,齿科3D打印黑马冲刺全球化

企业自主研发了涵盖Edge系列、Shape系列、P系列的多款齿科3D打印设备,同时自主研发了20余款高性能光敏树脂材料体系,配合完整的后处理解决方案,持续提升齿科3D打印的效率与临床应用价值。2024年,铼赛智能完成超亿元人民币的A++轮融资,由协立投资领投。我始终认为,3D打印不是一个孤立的产业,它更像是一项‘赋能型技术’——就像当年的激光,其真正的价值,在于与各行各业深度融合,解决具体问题,进而激发更广泛的社会创新。“近几年,3D打印行业蓬勃发展,作为从业者,我和很多人一样,既感到兴奋,也感受到责任。

fk3dpx的博客 989

【系统分析师】第6章-基础知识:企业信息化(核心总结)

企业信息化是数字化转型的核心,涵盖战略规划、技术应用和实施路径等方面。关键内容包括ERP、CRM、SCM等系统的定义与实施,以及数据仓库、商业智能等技术的应用。备考系统分析师需掌握信息化战略规划方法(如BSP、SDP)、系统建模工具,并能分析解决信息孤岛等问题。论文可围绕ERP实施、数据仓库应用等主题展开。企业信息化面临组织变革、技术选型等挑战,但能显著提升运营效率和竞争力。

数据知道的博客 6933
上一篇: TWaver 3D作品Viewer查看器
下一篇: TWaver推智能手表挑战华为苹果
subnetwork
博客等级 码龄17年 17粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值