11RIA 闪客社区 - 最赞 Animate Flash 论坛

搜索
查看: 5004|回复: 12
上一主题 下一主题

[特效 & 粒子] 【半原创】来一个高大上的Stage3D水晶台球(有源码)

[复制链接] TA的其它主题
发表于 2019-2-28 10:13:09 | 显示全部楼层 |阅读模式

【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 TKCB 于 2019-2-28 10:16 编辑

转载:9RIA游戏开发者社区(天地会)
作者:iloveas(原天地会大神)

demo


之所以说半原创,是因为这个游戏或者说特效是uu70的原创,只不过他写的时候Stage3D还没出来,所以他的核心代码都基于PixelBender,现在Adobe似乎弃用了这东东,新版的FP跑PixelBender的代码很卡(至少桌面版播放器是这样)

iloveas在这里只是充当一个格式工厂的角色,把PixelBender代码移植到了Stage3D上,在此灰常感谢uu70提供的源程序

PixelBender版的代码使用了tan和atan2这两个函数,然而Stage3D的agal并不支持这俩函数,所以tan需要通过sin/cos来实现,至于反正切,那更是蛋疼,因为agal压根儿就没有反三角的概念,因此通过y和x求出角度在agal上要根据实际情况写很多的判断

在此要感谢另一位大神——式神,他通过法线贴图的思路完美巧妙地解决了这一难题,在iloveas的demo里你也会看到这样的一个BitmapData,思路就是在AS3里用反正切计算好,然后作为颜色setPixel到BitmapData,再作为纹理上传到显卡上

虽然解决了反正切的难题,但agal写起来仍然相当蛋疼,PixelBender一行能搞定的代码,在agal里可能要20行,并且很难调试,多数情况下只能脑补。幸运的是,接下来,我发现这种玻璃球的变换本质跟DisplacementMapFilter也很像,既然如此,我就在法线贴图思路的基础上实现出了自己的置换图滤镜(有点像Starling的那个了),agal代码简化了不少,发上来大家应该就更好看懂了

源文件注释都写好了,特别是agal的部分已经写的足够详细,如果感觉还有疑问,或者想更进一步讨论的话,欢迎加群371259465,这里的朋友都很热心滴~~

最后就是源文件了,为了让更多的人看到,我继续设置内个,你懂的,嘿嘿
第一个源文件,扭曲变换全用agal,代码很蛋疼
第二个用法线贴图分担了一部分,代码可读性和执行效率都高了不少


源文件下载

游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 1银子 +10 贡献 +1 收起 理由
TKCB + 10 + 1

查看全部评分

发表于 2019-2-28 10:15:36 | 显示全部楼层
【11RIA 闪客社区,评分公示】:
是否有价值:一般(银子 +10  贡献 +1)
是否原创:否
是否翻译:否
如对自己的评分有疑问,则咨询版主、管理员等。
回复

使用道具 举报

发表于 2019-2-28 10:18:01 | 显示全部楼层
赞一个赞一个
回复

使用道具 举报

发表于 2019-4-1 20:57:49 | 显示全部楼层
欣赏点赞!
回复

使用道具 举报

发表于 2019-4-1 21:38:50 | 显示全部楼层
欣赏朋友佳作!
回复

使用道具 举报

发表于 2019-4-2 12:46:40 | 显示全部楼层
大神厉害了
回复

使用道具 举报

发表于 2019-4-3 02:11:48 | 显示全部楼层
赚点银子,下载资源
回复

使用道具 举报

发表于 2019-4-4 11:24:23 | 显示全部楼层
666666666666666666
回复

使用道具 举报

发表于 2019-4-9 10:04:55 | 显示全部楼层
不错,真厉害,
回复

使用道具 举报

发表于 2022-2-3 08:37:22 | 显示全部楼层
下载学习,感觉分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)



快速回复 返回顶部 返回列表