TWaver3D特效系列之环境映射

随着TWaver3D的快速发展,越来越多的各种功能都在不断加强,包括性能的极大提升(可以参考这里),3D编辑器的易用性和功能持续增强(欢迎大家申请试用),各种特效的增加,特效是本文的主角。 对于UI技术的不断发展和越来越挑剔的用户,各种特殊的效果已经变成了一种必不可少的需求了;或许你正在为客户提出的需求而苦恼,不过不用担心,用TWaver3D正好可以解决这些苦恼。

用时下流行的一句话说:有TWaver3D,就是这么任性。

本文要讲的是环境映射。

如果你不理解什么是环境映射,也没有关系,其实你就可以把这个效果想象成现实世界中得镜子,镜子可以把周边的环境映射出来,而且随着观察角度的不同,映射的内容也不同。在TWaver3D中,实现并不难,几行代码即可。如下,我们先放一个天空盒,代码很简单,用cube加六张贴图即可:

var skybox = new mono.Cube(5000,5000,5000);
skybox.setStyle(‘m.side‘,‘back‘);
skybox.setStyle(‘m.texture.image‘,[‘./images/posx.jpg‘,‘./images/negx.jpg‘,‘./images/posy.jpg‘,‘./images/negy.jpg‘,‘./images/posz.jpg‘,‘./images/negz.jpg‘]);

然后在天空盒里面增加一个小的cube,并设置环境映射

var cube = new mono.Cube(200, 200, 200);
cube.setStyle(‘m.envmap.image‘,[‘./images/posx.jpg‘,‘./images/negx.jpg‘,‘./images/posy.jpg‘,‘./images/negy.jpg‘,‘./images/posz.jpg‘,‘./images/negz.jpg‘]);

把skybox和cube都增加到场景中,最终的效果如下:


(gif图片较大,刚开始加载的时候有点卡,请耐心等待)
在实际应用中,这种技术可以实现镜子,有反射效果的地面,墙面等。

当然在很多情况下,真实的物体的表面并不是完全光滑的,而是粗糙的,比如一些建筑物外面的粗糙的毛玻璃等,在TWaver3D里面要实现这种效果,只需要对表面的法线向量加上扰动即可,实现也很简单,准备一张扰动的图,一句代码即可:

cube.setStyle(‘m.normalmap.image‘,‘../demo/images/normalmap.png‘);

最终的效果图:

当然,如果你觉得上面的扰动比较大,可以通过下面的参数调整:

  cube.setStyle(‘m.normalScale‘,new mono.Vec2(0.05,0.05));

改动后的效果图:

最后来个实际例子:

时间: 2024-10-10 05:39:28

TWaver3D特效系列之环境映射的相关文章

TWaver3D特效之高光反射

前篇我们介绍了TWaver 3D的环境映射特效,下面我们接着给大家分享高光反射特效. 高光反射定义了物体上的某一区域比其他地方更反光.在高光反射的贴图中,黑色区域的反射率为0(完全不反光),白色区域的反射率为100%(完全反光).这在现实的生活中,也是随处可见,比如一个生锈的物体用低光,而一个抛光的金属应该用高强光:手表上的表盘比表带应该更反光:人的嘴唇应该比皮肤有更强的高光,而皮肤应该比纯棉衣服更反光.加上了这种高光效果后,会是3D物体更加真实,更加生动. 接下来我们就来讲解一下如何在一个模型

Windows界面编程第十二篇 位图显示特效 飞入效果与伸展效果

分享一下我老师大神的人工智能教程吧.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net 转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/8696726 欢迎关注微博:http://weibo.com/MoreWindows Windows界面编程之位图显示特效系列目录: 1. <Windows界面编程第九篇位图显示特效交错效果> http:/

CG资源网 - Maya教程

Maya中mentalray灯光渲染终极训练视频教程 http://www.cgtsj.com/cg/f/vx3627/index.html Maya无人机建模制作训练视频教程第一季 http://www.cgtsj.com/cg/f/vx3626/index.html Maya动作捕捉关键帧技术视频教程 http://www.cgtsj.com/cg/f/vx3625/index.html Maya与PS材质绘制技巧视频教程 http://www.cgtsj.com/cg/f/vx3561/i

JQ特效开发系列——鼠标移入时div高度和颜色发生变化 animate

需要展示的jQuery效果: 同一级别下有5个div,当鼠标移上任意一个div的时候,该div背景颜色和高度都发生变化,移出时背景颜色和高度都恢复为原来设置的样式,高度的变化过程是渐变,背景颜色的变化在高度变化之后进行. 基本结构样式代码: <style> * { margin: 0; padding: 0; } html,body { height: 100%; } .main div{ width: 800px; height: 80px; margin-bottom: 10px; bac

Cocos2d-x 系列五之三大特效

1.场景切换新建一个类ImageScene #ifndef IMAGESCENE_H #define IMAGESCENE_H #include <iostream> #include <cocos2d.h> USING_NS_CC; class ImageScene : public Layer { public: virtual bool init() { Sprite *s = Sprite::create("HelloWorld.jpg"); Size

亿格瑞 A系列完美显示 ASS 特效字幕 特效字幕 和播放外挂字幕的方法

亿格瑞 A系列完美显示 ASS 特效字幕 特效字幕 和播放外挂字幕的方法 亿格瑞 A列播放器有着比其他厂家型号的机完美支持 ASS 特效字幕的优势.不过要想完美显示需先把常用 特效字幕的优势.不过要想完美显示需先把常用 的字库拷贝到机器内指定目录.现在就详细介绍如何操作(A5 A6 A10 A10PRO A10PRO A11 所有型号方法通用) 首先播放器要和电脑同时接入相同的网络内.推荐有线进行操作. 打播放器 的电源开机.过大约2分钟后打开电脑的网络. 亿格瑞的播放器以:ANDRO/ID_X

JavaScript 特效三大系列总结

一. offset系列 1. offset系列的5个属性 1. offsetLeft : 用于获取元素到最近的定位父盒子的左侧距离 * 计算方式: 当前元素的左边框的左侧到定位父盒子的左边框右侧 * 如果父级盒子没有定位, 那么会接着往上找有定位的盒子 * 如果上级元素都没有定位,那么最后距离是与body的left值 2. offsetTop : 用于获取元素到最近定位父盒子的顶部距离 * 计算方式:当前元素的上边框的上侧到定位父盒子的上边框下侧 * 如果父级盒子没有定位,那么会接着往上找有定位

前端追着设计砍系列的9个超酷网页特效

俗话说啊,一入前端深似海啊,小编在入门前端之前,看见酷炫的网页效果,都会佩服一下设计师.直到入了前端这个坑,现在一点开网页或者是啥app,再看到这些脑袋里想的都是这些布局,动画特效是如何实现的,完全已经越过了美的观赏....这也算是职业病? 下面我们就来欣赏一些让前端攻城狮一看就想举起80米的大刀去追砍设计师的网页设计~ 的 看完上面的这些网页设计,有童鞋感慨,这才是前端啊,我们做那只能叫静态页面.....另外小编也十分想求一份源码膜拜膜拜.... via 优秀网页设计

Silverlight &amp; Blend动画设计系列六:动画技巧(Animation Techniques)之对象与路径转化、波感特效

当我们在进行Silverlight & Blend进行动画设计的过程中,可能需要设计出很多效果不一的图形图像出来作为动画的基本组成元素.然而在设计过程中可能会出现许多的问题,比如当前绘制了一个椭圆,但是在动画中仅仅只需要椭圆的一半或是更多更少的部分用作与动画元素,这时候就需要对椭圆对象进行相应的处理才能满足我们的需求,那到底该怎么做才能实现最终想要的效果呢?本篇将介绍在Microsoft Expression Blend中进行动画设计的一些常用的功能点和动画设计技巧. 一.转换对象为路径 将一个