网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 网管学堂 > 多媒体 > Director > 在Shockwave 3D中添加混合效果  

在Shockwave 3D中添加混合效果

2006-04-29  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏

   如果想要在3D场景中创建类似透视和光影这样的炫目效果,那么就不能忽略物体间的“添加混合”特性。许多顶级游戏经常利用这一特性来增强相应范围内图形的表现方式,例如武器的发射和爆炸。虽然许多Texture的附加选项都能够模拟各种材质的混合,但是Shockwave 3D的当前版本对此并不支持。

   幸运的是,我们可以通过另一种方法来“实现”这一特性。由于得到了大多数渲染引擎的支持,本文所描述的这项技巧已经被许多商业程序所使用,而你也只需对样本影片中的“additive blending”行为进行少许改动,就能够将其使用在自己的Shockwave 3D世界中。

观看演示

网管联盟bitsCN@com

 

网管网www_bitscn_com

使用方法

   首先,把“additive blending”行为复制到自己的影片中,然后将其拖拽到相应的3D角色上。

   如果现在播放影片,将不会有任何事情发生,因为并没有标记相应的Shader。我们应该给需要使用的Shader重命名,注意其名称必须包含“Additive”字样,这样才能够被行为识别并转换成为“additive blending”。

   现在播放影片,检测其能否正常工作。如果不行的话,先检查一下样本影片能否正常工作。如果还不行的话,非常不幸,你的机器可能不支持这项技巧。

工作原理

   虽然Shockwave 3D的当前版本并不支持物体间的“添加混合”,但却支持Shader Texture层之间的“添加混合”。因此为了能够实现物体间的“添加混合”,我们可以使用一个包含alpha通道的Texture,同时保持包含需要混合的Texture的那一层下为空。

   由于许多3D图形卡都支持多通道Textrue,为了实现上述功能,应该使用空白Texture,以利于低层Shader的显示;其效果取决于3D图形卡能够同时处理的Texture的数目,并可以根据渲染模式进行调整。

   下面的Lingo代码用于检测3D图形卡能够处理的Texture的数量,此命令的含义请参考程序里的相关注释。

getrendererServices (). gethardwareinfo ()[ # textureUnits]
网管网www_bitscn_com


补充说明

   1. 这项技巧在某些图形卡上无法正常工作(例如DirectX 7模式下的Radeon 9700)。在这些图形卡上将会看到红色Texture的效果非常不好。为了避免这一点,应该确保alpha通道为“fallback”状态,并给图形卡提供一个能够使用的alpha通道(至少能够提供类似的效果)。注意,这项技巧支持非正式的“nextShader”命令。

   2. 由于使用的是“Texture Reference”而非“Shader Reference”,因此这项技巧无法与粒子系统一起使用。

   3. 因为需要3D图形卡在屏幕上进行额外的绘制,所以影片本身的速度会受到一些影响。

   4. 由于Shockwave 3D本身对半透明物体的处理问题,这项技巧需要渲染一些额外覆盖物。如果Shockwave的下一次更新能够对半透明物体提供更好的支持,这项技巧将能够实现更为复杂的可视化效果。

TAGs效果   混合   添加   能够   支持   图形   这项   Texture   技巧    
 上一篇:Director Lingo应用之repeat with   下一篇:Director 如何检测演员的载入进度
在Shockwave 3D中添加混合效果 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: