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

用Zotero+B站Kimi,我如何把一篇顶会论文快速做成组会PPT(含完整提示词)

本文介绍如何利用Zotero和Kimi快速将顶会论文转化为组会PPT,提升学术汇报效率。通过Zotero的文献管理插件和Kimi的AI提炼技术,实现从论文阅读到PPT生成的全流程自动化,帮助研究者在90分钟内完成高质量汇报准备。

weixin_30955617的博客 499

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

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

白玉无冰 1264

基于紫光同创FPGA的adf网表文件使用和黑匣子设置

这个时候就可以选择将你的网表文件给到他使用,就是相当于把你的功能模块封装成了一个黑匣子一样,只有外部端口,没有内部代码;,在TOP层的子模块声明里面需要加上/*synthesis syn_black_box */进行黑匣子设置,此时子层 adf 文件作为黑盒是不会综合的,在 device map 时会将顶层综合结果与子层 adf 文件合并传递至布局布线阶段;这些都设置完毕后呢,就可以对工程进行编译和综合了,综合完毕后会生成一个.adf的网表文件,我们要使用的就是这个文件;我这里是把两个子模块的添加了哈;

H2061722的博客 966

Widar3.0复现日志(DFSExtractionCode)

需要使用的matlab基本功能

XiaoQiXiaoWei_J的博客 2437

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

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

csdn_xmj的博客 1398

HUAWEI华为荣耀MagicBook MateBook B D E X 13 14 16 笔记本MateStation台式机原装Win10出厂Windows11系统

HUAWEI华为MateBookX原装出厂系统恢复原厂系统,型号:MACHC-WAE9LP、EUL-W29P、MACHR-W19L、MACHR-W29、MACHD-WFE9、MRGF-16、MACHR-W19BL、MACHD-WFE9Q、WT-W19、Mach-W19、Mach-W29、WT-W09、WT-W19、MACH-W29等。HUAWEI华为MateBookE原装出厂系统恢复原厂系统,型号:PAK-AL09、GK-W7X、GK-G58、GK-W76、DRC-W76等。

QQ17855069的博客 17万+

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

手把手教你学simulink(40.1)--水力发电场景示例:基于 Simulink 的抽水蓄能电站水力发电

项目背景抽水蓄能电站是一种重要的储能技术,广泛应用于电力系统的调峰填谷、频率调节和备用电源。它通过在电力负荷低谷时将水从下水库抽到上水库储存,在电力负荷高峰时释放水进行发电,从而实现电能的高效利用。与传统的水电站不同,抽水蓄能电站可以在短时间内快速响应电网的需求,具有良好的灵活性和可靠性。本项目旨在使用 MATLAB/Simulink 模拟一个完整的抽水蓄能电站的水力发电过程,包括水泵-涡轮机系统、发电机、水道系统、控制系统等,并实现对电站的精确控制,确保其在不同工况下都能稳定运行。

MHD0815的博客 886

基于Jeecgboot3.9.0的vue3版本前后端分离的flowable流程管理平台

基于Jeecgboot3.9.0的vue3版本前后端分离的flowable流程管理平台

宁波阿成的博客 902

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

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

fk3dpx的博客 989

实战落地!Python抓取股票历史数据:开盘/收盘/成交量全维度爬取(附数据清洗+可视化)

股票历史数据抓取的核心是“数据准确性+完整性”,网页爬取适合小批量、个性化需求,API调用适合批量、标准化需求。多市场数据抓取:适配港股(00700.HK)、美股(AAPL)的抓取逻辑;高频数据抓取:抓取分钟级、小时级行情数据,用于短线量化策略;财务数据扩展:抓取市盈率、市净率、净利润等财务指标,结合价格数据做基本面分析;量化策略回测:将清洗后的数据接入Backtrader、VNPY等量化框架,验证策略有效性。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1740
上一篇: 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、付费专栏及课程。

余额充值