游戏开发论坛

 找回密码
 立即注册
搜索
查看: 14318|回复: 14

网游UI解决方案的选择(CEGUI/MYGUI/Hikari/Scaleform/...)

[复制链接]

2

主题

7

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2010-8-26 16:50:00 | 显示全部楼层 |阅读模式
作者:鸣·铭 日期:2010-05-29
字体大小: 小 中 大
网游UI解决方案的选择
作者 鸣·铭
转载请注明出自http://www.mobilegamebase.com

    由于新项目动工,UI方面需要确定方向,所以最近纠结于各种解决方案的选择。以下是对各方案的比较,仅供参考,希望对同样纠结于此的朋友有所帮助:)

1.沿用当前的UI
    公司是从2D游戏起家的,2D游戏本身就相当于一套庞大的UI,所以这方面有所积累。这套UI系统至少是经过几十万玩家测试,稳定性自然不必说,而且移植到 3D游戏后,绕过Ogre,使用DX直接绘图绘文字,速度非常快,而且文字可以轻松实现多种字体,以及加粗、斜体、下划线等效果,所以继续沿用似乎是比较好的选择。
    但是它同样存在问题,因为一方面UI脚本机是我们自己实现的,当时为了跨平台(移动设备)没有使用Lua,phyon等,所以脚本像汇编写起来也比较困难。另外框架的设计不太好,为了实现方便,把部分逻辑带了进来,使得后续项目在使用时有较多障碍(这也是我放弃这套UI的主要原因)。

2.CEGUI



    CEGUI 是老牌的开源界面库了,最新版本是0.7.1,完全免费,也是Ogre官方推荐使用的界面库,Ogre1.6及以前的版本,都是内置支持的。使用它的商业游戏也非常多,比如天龙八部,火炬之光,仙剑四等。这也就证明CEGUI确实强大,可以完全达到商业应用级别,而且相关资料非常丰富,至少不用担心某个功能无法实现,因为你能碰到的问题,网上基本都有解决方案,经过这些大作的证明,就不要怀疑了:)。
    但是功能强大是有代价的,就是它太庞大、复杂了,上手很困难。这些大作没有一个不修改CEGUI的,也就是说要真正用起来,或者说要用的好,还是要做点事的。那需要做多少事呢?不清楚。
    PS: 选择CEGUI的另一个好处是网上有流传的天龙八部的源代码,大概是天龙08或09年早期的版本,其中包含一套比较完善的CEGUI,比如中文显示,中文输入,字体颜色,表情,自适应窗口等都已实现,并且做了优化,效率上不用太担心,毕竟天龙用下来是没问题的。所以使用CEGUI碰到问题时,有现成的东西可以参考,非常难得。不过这个版本的CEGUI是0.4版的,0.7版CEGUI做了大量优化,还用老版本觉得有点太老了……(我没有具体测试过,不清楚 0.7版效率到底提高了多少),而且这个项目也相当于也处在无人维护的状态,如果有问题或者要新增功能可能要自己解决。

3. Ogre SDKTray
    从Ogre1.7开始就不再内置支持CEGUI了,转而使用Ogre自己的SDKTray,“tray”是在ogre的overlay和material的基础上实现的,使用很容易理解和使用,但目前它还只是个半成品,无法应用到商业游戏中。

4.QuickGUI



    最新版本10.1,专为Ogre写的UI库,支持Ogre1.7,比起CEGUI来说,小巧了很多。
但是很遗憾,至今还有没有编辑器(作者的Blog上说正在开发,但是还没有发布),要靠手动编写xml文件,?灏 ??gre社区里从来没有人推荐使用这个。我只是简单看了下,感觉像是作者练手的项目(个人观点)。

5.Hikari




    Hikari 可以让你使用Flash制作界面,最新版本0.3,完全免费,大家知道Flash动画是非常流行的,如果将Flash应用到游戏中,一定很拉风!Hikari就实现了这个功能,通过Flash.ocx将swf渲染成Ogre的Texture,然后你就可以任意操作这个Texture了,正是因为如此,Hikari支持Flash的所有版本,不存在兼容性问题。因为Flash本身就支持多国语言,所以中文显示也没有问题。可以把界面开发的大部分内容放到Flash那边,从而使客户端简洁很多(简单就是美啊)。
    但是Hikari最致命的问题的效率太低,它使用的是Flash的 ocx,先将动画内容渲染到DC上,然后拷到Texture中,所以很慢,而且慢的是第二步,使得Flash优秀的脏矩形优势无法发挥,根本无法应用到商业游戏中。我做了个动画,30张图片随机飘动,1023x768的窗口,使Flash占满,Release版只能跑到15帧(集成显卡),这还没有显示任何文字呢:(
出自www.mobilegamebase.com
6.Scaleform




    Scaleform 跟Hikari的作用是一样的,都是用Flash来做游戏界面,不同的是Scaleform非常牛X,它的效率很高,可以说是最强游戏界面解决方案了!而且对亚洲语言显示和输入都完美支持。目前最新版本是3.2,据说4.0将支持Actionscript 3.0, 并全方位支持3D UI。超过600款游戏使用Scaleform做界面,比如超大作StarCraft II,Crysis,Fable II,Civilization IV,Halo Wars,Princes of Persia,Mess Effect 2,Prototype,Resistance 2,Splinter Cell等。
    心动了吧,可惜Scaleform是收费的,而且授权费相当的高,3.X版的目标售价是每一款游戏 2.5万美金。如果你不在乎钱的话,这绝对是不二之选,在乎钱的话,这是二B之选。PS:有不少商业引擎已经将Scaleform集成进去了,比如 Gamebryo,Unreal3等,如果你不用Ogre,买了商业引擎也爽了~~
出自www.mobilegamebase.com
7.ogreSwf/vektrix
    Hikari 效率太低,Scaleform太贵,ogreSwf/vektrix就是出来解决这个矛盾的。ogreSwf跟Scaleform一样都由开源的 gameSwf发展起来,Scaleform开始商业化,ogreswf继续开源,后来ogreswf项目停掉了。2010年ogreSwf的作者重起了该项目,在原来的基础上改进并改名为vektrix,2010年4月发布了新的demo,可能是SourceForge的原因,我下的demo文件无法解压,又觉得vektrix目前还无法达到Scaleform的高度,所以后来就没有再试了。

8.Awesomium



    Awesomium 的功能有点类似Hikari,只不过它是将网页渲染成Texture,而且效率方面也做的比较好。Awesomium 采用了目前业界速度最快的浏览器内核webkit和v8,其实是把Chrome内核嵌入到了里面,同时还很好地支持flash,可以通过 javascript使游戏和网页交互。该项目最初也是开源的,后来商业化了,但是不太贵,最便宜的版本只要400多美金。
    Awesomium 的效率之所以高,估计也是脏矩形方面做的好,我把上面那个动画嵌到网页中,用Awesomium打开,帧数马上就下来了,所以还是不能做UI,但是游戏中的帮助页面则可以考虑用这个。Awesomium也不方便根据网页内的内容做半透明效果,也就是网页中部分半透明很难实现,全透明,也就是镂空效果则可以通过模板实现。
出自www.mobilegamebase.com
9.MYGUI



    MyGUI最新版本3.0.1,是俄罗斯人写的,要么没有注释,要么注释是俄文的,而且相关的资料实在是太缺乏了,虽然小修改一下可以支持中文显示,但是效果太差了,根本不能用,更别说多种文字,多种效果了,目前也没有什么商业游戏是用这个库做的。
    但我最终选择了这个UI库。
    就像MYGUI的介绍一样“MyGUI - fast, simple and flexible GUI.”这确实是一个,高效,轻便,灵活的库。首先它的设计很好,所以即使没有注释,也不难理解。换肤的设计避免了CEGUI里的很多中间层,使用要简单很多,资源文件的管理也要清爽(清楚+爽)一些。没有使用ogre的overlay,用底层直接画了,效率比CEGUI要高。 LayoutEdit,ImageSetEdit等比CEGUI的要好用的多,CEGUI的工具经常当掉- -。中文显示可以模仿CEGUI去做,我已经完全实现,效率并不低,完全可以接受。
    载入layout文件后返回一个窗口的vector,你可以自己写一个类似BaseLayout的类去管理,然后像MYGUI一样大量用C++委托做回调函数,就可以把各个Dialog分开去写,就像写 MFC的Dialog一样,这一点做的实在太好了。如果再学一点CEGUI,把Lua脚本集成进去,载入layout文件时把窗口注册到lua中,这样就可以在脚本里写逻辑了,客户端-UI-脚本,很清晰。
    为什么没有商业游戏使用MYGUI呢?MYGUI比较稳定的版本2.2.3是09年10月份发布的,是少要1年才能有游戏出来,火炬之光是09年11月上市的,在开发的时候MYGUI还很不完善,以后一定会有不少游戏使用MYGUI:)
    跟使用CEGUI一样,MYGUI也要做大量修改才能用到游戏中,但我觉得是少比CEGUI好改一点>_<。我目前也刚做到登录,选人界面,大部分功能尚未开始,真正的问题可能还在后面,但到目前为止还是对MYGUI挺满意的,这也只是我个人的选择,诸位看官还请三思!



文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: UIUI MYGUIMYGUI OgreOgre
原文地址:http://www.mobilegamebase.com/blog/article.asp?id=33

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2010-8-26 17:59:00 | 显示全部楼层

Re:网游UI解决方案的选择(CEGUI/MYGUI/Hikari/Scaleform/...)

今早刚好看了这篇文章,咋这巧涅。。。

14

主题

127

帖子

133

积分

注册会员

Rank: 2

积分
133
发表于 2010-8-26 19:05:00 | 显示全部楼层

Re:网游UI解决方案的选择(CEGUI/MYGUI/Hikari/Scaleform/...)

开来MyGUI比CEGUI有前途啊

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2010-8-26 20:53:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2010-8-28 01:29:00 | 显示全部楼层

Re:网游UI解决方案的选择(CEGUI/MYGUI/Hikari/Scaleform/...)

貌似scaleform现在有统一商业引擎的趋势

34

主题

629

帖子

629

积分

高级会员

Rank: 4

积分
629
发表于 2010-8-30 09:16:00 | 显示全部楼层

Re:网游UI解决方案的选择(CEGUI/MYGUI/Hikari/Scaleform/...)

搞不懂Adobe为什么会这么闹别扭,出个硬件渲染版,干掉WPF真是轻而易举的事

2

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2010-12-20 17:30:00 | 显示全部楼层

Re: 网游UI解决方案的选择(CEGUI/MYGUI/Hikari/Scaleform/...)

推荐一款专门用于游戏研发的跨平台界面引擎:DinoUI。
它包含一套成熟的界面引擎和一套完全所见即所得的编辑器。
界面引擎提供大量的现成控件和功能,能帮助您轻松完成各种复杂的交互,包括角色状态(Buff),技能栏、包裹、装备等。
编辑器能不但全部所见即所得,而且还提供类似于Flash的动画编辑功能,让您轻松制作各种常见的界面动画效果,有了这套编辑器,能让您的程序员只专注于真正的游戏逻辑,不需要为界面上的表现浪费时间和精力。

如果您或您的团队使用过CEGUI,那么还能给您一些数据:
它能够帮助您的项目在界面方面的研发工作量减少大约70%。
它比用CEGUI来开发界面,相同的功能,能减少大约3/4的程序代码量,能减少20~30个人月的研发时间。
它比CEGUI的效率要高至少一倍。
以上数据来源于实际案例,我们的其中一个客户,原先3个人使用CEGUI做了半年的工作,后来项目改用DinoUI,同样的三个人只用了不到一个月就完成了原来同样的功能。相关的代码从2万多行减少到不到4千行,界面渲染效率提高了2倍多。
如果您想了解更多的特性,请访问我们的官网:
http://www.dinoui.com
在上面可以下载到编辑器和几个范例来做一些初步的体验,范例里边包括一个使用DinoUI引擎制作的《魔兽世界》的演示例子。

联系方式:
email: dinoui@163.com

11

主题

190

帖子

255

积分

中级会员

Rank: 3Rank: 3

积分
255
发表于 2010-12-20 20:25:00 | 显示全部楼层

Re:网游UI解决方案的选择(CEGUI/MYGUI/Hikari/Scaleform/...)

推荐几个适用于OpenGL的跨平台GUI,Guichan,PicoGUI, GLAM,GLUI, libnui,Clutter,GLGooey,Right Brain,GLFW

ps: 有的需要搬梯子

-----------------
欢迎光临我的博客 http://www.thecodeway.com

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2010-12-20 23:47:00 | 显示全部楼层

Re:网游UI解决方案的选择(CEGUI/MYGUI/Hikari/Scaleform/...)

我选择C++/C#/F# ---- 直接写个UI库

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
发表于 2010-12-21 09:11:00 | 显示全部楼层

Re: Re:网游UI解决方案的选择(CEGUI/MYGUI/Hikari/Scaleform/...)

instemast: Re:网游UI解决方案的选择(CEGUI/MYGUI/Hikari/Scaleform/...)

我选择C++/C#/F# ---- 直接写个UI库


what the hell is F#? Some kind of joke?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-7 15:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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