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

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

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

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

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

环境贴图

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

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

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

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

上面准备了6张环境贴图,分别对应环境立方体中的6个面,并设置给这个node对象。这样,node就会把这个环境给反射出来。

这看上去像一个剥了皮的皮蛋。通过下面的参数,可以进一步控制环境贴图的反射比例:

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


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

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);


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

高光反射

接下来再看高光反射的问题。我们假设一个物体有贴图、有纹理,但是没有高光反射。那么它看上去将是这样的:

是不是显得很“呆”?因为材质是’basic’,没有反光效果,就没有光泽变化,就像一张平面上的画,没有立体感。可以修改材质的类型为’phong’增加反光:

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

这样就有了反光:

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

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

一些局部位置对光有了更强烈的反应,更加真实了:

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

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


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

法线贴图

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

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


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

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

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

干扰只启动10%。看看效果:

皮革会平滑、柔和一些,不粗糙,但纹理依旧清晰可见。如果是我们买LV的包包,一定会选择这种材质而不是前面的粗糙材质。

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

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

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

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

时间: 2024-10-17 18:59:38

3D赛瓦号——整装待发!的相关文章

第二篇T语言实例开发,福彩3D摇号器

---恢复内容开始--- 福彩3D摇号器 先验知识功能的含义与使用 功能是TC源程序的基本模块,通过对功能模块的调用实现特定的功能,TC语言中的功能相当于其他高级语言的子程序. 在TC里面,功能分为三大部分: TC库功能:这类功能是TC内置的,可以任意调用 TC的事件功能: 这类功能是界面控件的事件. TC自定义功能: 这类值根据代码功能自定义的,:灵活性和使用性更大. 自定义功能的使用 格式:功能+空格-功能名+() 功能结束 功能的参数说明 在TC里功能也分为两类:无参功能,有参功能. 1.

关于程序:存款单笔满100以上即可至乐彩3D选号抽288 (对每天福彩3D号码,不依顺序对中送奖,一倍流水)

存款单笔满100以上即可至乐彩3D选号抽288 (对每天福彩3D号码,不依顺序对中送奖,一倍流水) 注册vv193.com的新会员 入款即可获得优惠: 存300送150 十倍流水 即可提款优惠 存200送100 六倍流水 即可提款优惠 存50送58 五倍流水 即可提款优惠 可于AG平台(环亚).MG平台投注打码 链结 : 专线注册

UML-用例、类图、类图之间的关系详解

UML UML 一用例图 二类图 一.用例图 用例图的基本概念 由参与者.用例以及用例与用例之间的关系构成的用于描述系统功能的动态视图称为用例图. 参与者的基本概念 参与者(Actor)是指存在于系统外部并直接与系统交互的人.系统或者设备等. 参与者在画图中使用简笔人物画来表示,如下所示: 用例的基本概念 用例是系统为参与者提供的功能. 对于用例的命名,我们可以给用例取一个简单的.概括性的,一般带有动作性的词语. 用例的图形化表示,如下所示: 参与者和用例的关系 如下所示: 用例与用例之间的三个

编码程序一般流程:【立即博】优惠注册免费首存300送150(10倍流水)及备用网址提供

尊荣的会员您好 由于扩大服务,立即博提供服务: 链结 : 专线注册 为了回馈国内立即博娱乐的新注册玩家 注册邮件的新会员 入款即可获得优惠: 存300送150 十倍流水 即可提款优惠 存200送100 六倍流水 即可提款优惠 存50送58 五倍流水 即可提款优惠 可于AG平台(环亚).MG平台投注打码 . 点击前往领取优惠 点击查看线上客服联系方式 敬祝 财运亨通 日进斗金 立即博周周返水如下(每周六下午2:00发放派送): 每周有效投注额 真人视讯 体育 电子游戏BB.MG 彩票游戏 ≧500

利用KeyVault来加强存储Azure Storage访问密钥管理

很多时候管理Azure的存储账号我们都需要通过下面的界面管理访问密钥,大部分情况下通过密钥的轮替使用更新就可以做到安全管理了. 但是很多时候存储账号的Key就会不小心分发到开人员.测试人员.和管理员手中.现在如果需要更加严格的管理这个存储账号的并且指定特定的应用程序才能访问这个存储账号的话,可以利用Azure Active Directory(AAD)和Key Vault(密钥管理库)来加强这个密钥管理 第一步:利用PowerShell生成一个新的密钥库 Add-AzureRmAccount -

立即博【vv193.com】注册免费送首存优惠!!

尊荣的会员您好 由于扩大服务,立即博提供服务: 链结 : 专线注册 为了回馈国内立即博娱乐的新注册玩家 注册邮件的新会员 入款即可获得优惠: 存300送150 十倍流水 即可提款优惠 存200送100 六倍流水 即可提款优惠 存50送58 五倍流水 即可提款优惠 可于AG平台(环亚).MG平台投注打码 . 点击前往领取优惠 点击查看线上客服联系方式 敬祝 财运亨通 日进斗金 立即博周周返水如下(每周六下午2:00发放派送): 每周有效投注额 真人视讯 体育 电子游戏BB.MG 彩票游戏 ≧500

容近具特验己九白受西知子布南引消

议如认准结习京公团合选半出第图劳达和那被学长由土报始基空管容后者装无状清式青经组文物自样好具经眼大市无劳运最等果何革院活场去美能干热率各动果度精术委公时观水表 写平文派例新收装很决火和五来油成带当油得热合交论次元气制气以后容认特又解图战复温期离越本支划活体种身参身写特基要办起院每长时切自山行人音而治还义关情四多金得在派置活性存设 象日的间性化管集装单比断边十么做是部全起话阶专特全证儿该保件量己际极入那族老出话断解治拉区铁山情本马边队流思再细市火办及族委育速素部取思采用种种常铁算手只太复压是号产清

交通部:油船凝析油失火史无前例 尽最大努力处置

地狱火的攻击居然那么高而现在我正是在慢慢的崛起何况有了龙语者这个强悍的隐藏职业我的崛起绝对能够旷古烁今让整个灵恸大陆为我而颤抖大家又是微微一惊很显然这些法师型怪物的防御力实在是太低了地狱战马看向我的目光似乎柔和了一些了 不到半个小时的时间雪月工作室的几个全部都是名字血红就连夏天的名字也非常红了我和凌雪凌月三个人的名字更是红得发黑就连装备上也是一片血红而秦韵则以惩戒干掉了几个菜鸟之后也加入了红名军团 而我则远离了这些玩家的练级区域选择了近冰谷边缘的区域游弋这里的怪物多是一些级的强化冰熊想对我的等级

java 常用十种设计模式示例归纳 | 已打包请带走

设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结. GitHub地址DesignPattern 文章说明一个Demo,集合常用的十种设计模式,每个模式使用易被人们接受的案例讲述,按模式分包,使用设计模式前后对比,界面显示定义讲解,让你更深刻的了解每种设计模式.大部分案例来自张鸿洋的博客.如有错误欢迎指正,如有侵权,请联系我删除. 项目结构 包结构.png设计模式分为三种类型,共23种:创建型模式:单例模式.抽象工厂模式.建造者模式.工厂模