开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:2106

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 188|回复: 2

[韩宇飞] Scaleform试用报告

[复制链接]  [移动端链接]
3偶尔光临
205/300
排名
15560
昨日变化
854

22

主题

27

帖子

205

积分

Rank: 3Rank: 3Rank: 3

UID
67815
好友
8
蛮牛币
830
威望
0
注册时间
2015-1-12
在线时间
64 小时
最后登录
2018-2-25

专栏作家

QQ
发表于 2018-2-10 14:26:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
本文首发于知乎专栏:MACK的游戏开发笔记,欢迎各位关注。
11年写的一篇Scaleform试用报告,当时尝试的原因是觉的UI系统开发慢,开发效率低,美术觉得UI编辑器比较简单实现不了期望的各种效果。其实我们自己实现的UI编辑器还是很易用的,UI底层的效率也非常高,当然Flash肯定更强大。不过最后在做了这篇测试报告之后,最终还是没有使用,主要原因还是成本太高了美术还得重新学Flash开发,另外还有些更高层的原因。最后我们扩展了UI编辑器,也对UI底层做了深度优化表现也非常好。在开发过程中,相互之间的信任真的非常重要。

By mackhan, 2011/8/19

目录
XY目前的需求... 1
集成Scaleform的必要性及好处... 2
Scaleform特性分析... 2
美术... 3
制作:... 4
优势:... 5
程序... 5
Scaleform整合... 6
开发方式... 7
内存和性能测试... 7
需要开发的工作... 9
结论... 9


XY目前的需求
目前XY的UI都是通过XY自己编写的UI编辑器产生的,编辑器导出的资源和配置数据最终在客户端解析并实现一些UI逻辑。从美术开发方面来说,相对Scaleform强大的Flash编辑器功能简单使用起来不是很方便,美术编辑好UI之后还需要客户端程序实现相应的UI,不能所见即所得。从客户端开发方面来说,客户端需要实现大量UI逻辑,并且为了达到美术需要的效果需要和美术策划大量交互反复调试,并且通过程序实现的逻辑容易出错效率较低,不如Flash编辑器可视化编辑快捷。从最终效果上来说,现有的UI功能比较简单没有动画编辑等功能,无法满足美术和策划的需求,无法实现高品质的效果表现。

集成Scaleform的必要性及好处
1. 相对于XY自己开发的UI编辑器,Flash无疑更强大成熟和直观高效。美术通过只需要简单的拖拽,配置关键帧就可以快速实现复杂的UI效果。
2. 美术在编辑器中可以时时看到最终效果所见即所得,而使用目前的方式美术无法在编辑器中看到最终效果,必须等程序员整合到客户端并且很多UI逻辑需要通过客户端实现,迭代一次成本非常高。
3. Flash编辑器足够强大,可以实现很多目前UI编辑器实现不了的效果,也不会像现有UI编辑器那样为了增加功能而频繁更新版本,稳定可靠。
4. 减少客户端程序开发周期,使用可视化的编辑方式取代繁重的逻辑代码编写。
5. 实现现有UI所不能实现的效果,例如UI特效,UI动画,矢量缩放等。

Scaleform特性分析
Scaleform 作为一家视频游戏行业领先的用户界面解决方案提供商,产品已应用于600多个游戏产品。Scaleform GFx充分利用了Adobe Flash工具集的强大功能,提供了一种开发方法可以最快速度开发功能强大且身临其境的用户界面环境,并进行工作流程的优化,实现客户价值。使用Scaleform完整的解决方案,用户能够设计、开发和部署各种互动内容,无需花费过多时间、精力和金钱在创建定制工具上面。
Scaleform提供一整套SDK,Scaleform本身没有提供UI编辑器,只提供Flash文件的加载,解析,播放等功能和Flash的一些插件和工具。Scaleform完全依赖Flash编辑器,只要会使用Flash就可以快速高效的开发UI,而Flash本事足够强大相关资料也非常丰富,减少了用户的学习成本。
美术
1. 基于时间轴的操作。
类似AfterEffect和Premiere的基于时间轴的序列编辑界面。
2. 基于组件的编辑数据、参数组织方式。
每个组件可以直接在界面中拖拽长度、位置。可以在属性界面中通过图形化的表现来修改每个参数的值。每个组件占据主视口中的一行,被选中激活的组件的编辑接口在主视口下方,这样的界面设计非常利用编辑。支持直线和曲线参数编辑。
制作:
1. 内容管线
2. 快速集成
3. 快速开发

优势:
1. 成熟的UI界面,学习成本低
2. 快速创建和扩展组件
3. 所见即所得,无缝和我们现有引擎集成

程序
1. 灵活的内存管理。可以使用用户统一的内存管理方式,也可以使用自带的高效内存管理方式。
2. 可以非常方便的实现跨平台和多国语言版本。
3. 功能强大的性能分析工具,可以使用客户端实时远程分析UI系统的CPU,GPU,Memory的性能消耗。
4. 多样性的C++和脚本通信方式,可以通过消息机制,API绑定机制以及灵活的数据格式便捷的实现C++和脚本之间的通信。
5. 原有客户端代码中50%左右的代码都是UI逻辑,使用Scaleform可以借助Flsh的可视化编辑快速实现相应的UI逻辑减少客户端开发周期和难度,并且可以实现更好的效果。

Scaleform整合
目前已经和美术制定了一些基本的规范,在客户端整合了Scaleform4.09版本。实现了加载并渲染FlashUI,C++和Flash脚本以及Flash脚本和C++之间的交互等基本功能,完全替换了创角景UI。

开发方式
客户端目前实现了基于Scaleform的GFxUIPanel类,类似原有UI的GeUIPanel类。移植现在的客户端只需要将原本继承GeUIPanel类的改为继承GFxUIPanel,并移植原有的回调功能到GFxUIPanel的回调函数CallbackImp就可以了。

播放FlashUI只需要实现一下两步就可以播放:
m_pUIPanel = NiNew
GFxUIPanelCreateCharacter(gPanelInfo);
m_pUIPanel->Load();

内存和性能测试
1. 测试Scaleform的MMORPG的UI
Demo的性能参数和DP数,使用GFx的内部性能分析工具进行性能分析:
分析结果如下:
实际使用中当我们打开Flah播放器时windows任务管理器中显示占用了26M内存,播放Demo时增长到52M左右。
2. 测试轩辕中创角景的性能参数和DP数,使用AMP和GPA进行性能分析:
无UI:
现在的UI:
使用Scaleform(192个DrawCall,1743次StageChange):

可见,使用Scaleform的UI使用了13个DP,现在客户端的UI使用了36个DP。但是因为Scaleform的UI还非常不全,功能很不完整,这里的测试仅供参考,需要等待后期完整的UI进行测试。

需要开发的工作
1、 整合Scaleform到轩辕客户端;建立好C++和脚本的通信机制,建立起FlashUI的管理机制,可以加载显示FlashUI;与现有客户端框架整合,在方便的取代原有的UI。目前已经完成。
2、 Flash和Scaleform插件的安装和学习,AS3.0脚本的掌握;使用Flash开发UI的框架和流程的建立;在AS脚本中和C++实现互动。目前已经完成。
3、 更多UI的替换和功能实现, 例如动态调整分辨率和UI缩放,不同面板之间控件拖曳和交互,UI层级顺序,新老UI兼容等,这些还需要在今后的工作中继续完成。

结论
Scaleform是一套非常强大和高效的UI框架系统,使用Scaleform我们可以减少UI的开发周期和实现更好的效果,值得使用。


[发帖际遇]: SilentLion 在论坛发帖时没有注意,被小偷偷去了 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

7日久生情
4159/5000
排名
78
昨日变化

0

主题

812

帖子

4159

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
13925
好友
0
蛮牛币
15
威望
0
注册时间
2014-2-9
在线时间
1043 小时
最后登录
2018-2-26
发表于 2018-2-12 16:42:10 | 显示全部楼层
学习学习!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1

回复

使用道具 举报

7日久生情
1655/5000
排名
4711
昨日变化
26

0

主题

1195

帖子

1655

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
219676
好友
0
蛮牛币
1643
威望
0
注册时间
2017-7-12
在线时间
202 小时
最后登录
2018-2-26
发表于 2018-2-12 18:15:27 来自Mobile--- | 显示全部楼层
谢谢分享

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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