Apple 一直是被模仿的对象,现在手机上的 UI 明显的比起 Windows Native 的 UI 要炫的多,旋转,3D UI,动画 效果等。无意间查找到经典的 Apple CoverFlow 效果,一查原来连维基百科里都有记录,
也发现也有人使用 OpenGL 在 Windows 上实现了:如下:
国内的:http://blog.csdn.net/beidoustudio/article/details/4090806
国外的:http://sourceitsoftware.blogspot.com/2008/06/coverflow-update.html还有 Android 上的 Wave Launcher 程序的效果:
http://ultimatefaves.com/
意识到,现在软件的 UI 和用户体验也越来越重要了,手机上的 UI 实现明显比 Native 的方法简单很多,而传统的 MFC 又显得太过于臃肿,手机平台 Android/iPhone 底层应该是封装了不少,自己写上层代码简单很多,但自己在 Windows 上用 Native 方法实现底层,除了 3D 库如 D3D/OpenGL 之外,还需要考虑和思考很多问题1:如何做出比较炫的动画,实现更好的人机交互,最简单的,如 360 桌面(虽然我觉得是很傻的软件),把手机上的桌面弄到 Windows 上,最直观的例子,当用户点击翻页,1,2,3 时,如何使翻页的效果更加平滑?更加舒服?我想直接用 MoveWindow 肯定不行。问题2:有哪些比较经典特效实现,Apple 也好,Android 也好,游戏中的特效也好,我主要指 UI 这块的,比如 Apple 经典的 CoverFlow(惭愧直到今天才知道有这个名词),还有哪些更多的名词,有相应平台上的实现代码就好,最好有人在 Windows 上做过移植。问题3:需要使用 Native C/C++ 实现,而不是 WPF(据说 Windows 8 要抛弃 WPF 了),底层的渲染库不重要 DirectX/OpenGL 这个不是很重要,重要的是思路。现在 UI 要新的变革了我想,至少要实现移动设备上的 UI 效果的话,传统窗口方式肯定不行,这么多窗口,别的不说刷新就弄死你,Windows 8 还没出来,Windows 8 的 Jupiter。大家能否一起讨论下?
也发现也有人使用 OpenGL 在 Windows 上实现了:如下:
国内的:http://blog.csdn.net/beidoustudio/article/details/4090806
国外的:http://sourceitsoftware.blogspot.com/2008/06/coverflow-update.html还有 Android 上的 Wave Launcher 程序的效果:
http://ultimatefaves.com/
意识到,现在软件的 UI 和用户体验也越来越重要了,手机上的 UI 实现明显比 Native 的方法简单很多,而传统的 MFC 又显得太过于臃肿,手机平台 Android/iPhone 底层应该是封装了不少,自己写上层代码简单很多,但自己在 Windows 上用 Native 方法实现底层,除了 3D 库如 D3D/OpenGL 之外,还需要考虑和思考很多问题1:如何做出比较炫的动画,实现更好的人机交互,最简单的,如 360 桌面(虽然我觉得是很傻的软件),把手机上的桌面弄到 Windows 上,最直观的例子,当用户点击翻页,1,2,3 时,如何使翻页的效果更加平滑?更加舒服?我想直接用 MoveWindow 肯定不行。问题2:有哪些比较经典特效实现,Apple 也好,Android 也好,游戏中的特效也好,我主要指 UI 这块的,比如 Apple 经典的 CoverFlow(惭愧直到今天才知道有这个名词),还有哪些更多的名词,有相应平台上的实现代码就好,最好有人在 Windows 上做过移植。问题3:需要使用 Native C/C++ 实现,而不是 WPF(据说 Windows 8 要抛弃 WPF 了),底层的渲染库不重要 DirectX/OpenGL 这个不是很重要,重要的是思路。现在 UI 要新的变革了我想,至少要实现移动设备上的 UI 效果的话,传统窗口方式肯定不行,这么多窗口,别的不说刷新就弄死你,Windows 8 还没出来,Windows 8 的 Jupiter。大家能否一起讨论下?
用 Web UI 来做,那么 Web UI 可以和 Native 混合使用吗,比如上面说的 CoverFlow,图片加载用 Native 方式,旋转的效果使用 Javascript 来做,这样可以吗?
就是为了做这个买的OPENGL的书 ... 结果还木做完就放弃了 呵呵
目前UI的趋势是界面表现部分和功能部分分开,具体的讲,界面部分多采用Script进行设计,如JavaScript、HTML 5或ActionScript...等,而功能部分多采用C/C++等合适的Native的实现方式;当然也可以像Android一样完全采用JavaScript的形式;这样做的原因是使UI界面设计部分的门槛降低 ----- 及甚至一个美术设计师即可以完成UI的设计;
这样设计的最大优势是各尽其职、各自发挥自己的特长,我并不赞同由程序人员去进行UI设计 ----- 这不是他们的专长;这方面实际Adobe的Flash作得非常不错,只是从长远的发展上来看,我更看好HTML 5;Window 8中的Blend事实上也是这样思路的体现;事实上这样其后台涉及的知识面要比传统UI更为复杂:高效的图形渲染技术(动态)、虚拟机技术(如JIT技术等)....目前,我也是正在进行这方面的研究,有时间欢迎交流 ---- 我的观点未必正确。目前我的详细进展可以看我的Blog:blog.csdn.net/tomsoftSee: http://hi.csdn.net/attachment/201107/6/0_13099608735ZQi.gif
http://blog.csdn.net/jameshooo/article/details/6340623。看起来研究这个的方向还是对的,只是缺乏推广细胞。3D那玩意儿是用起来爽心、看起来倾心、说起来动心、做起来闹心啊。以我过来人的眼光看楼主贴的几个图,第一个图是假3D,模拟的,后面两个图是真3D。
啊,完蛋了完蛋了,真是高手如云啊,发现好些人早已经实现了,都是牛人啊!to tomsoft:我昨晚后来想想,其实采用Script进行设计的话,如果我需要自己渲染一些 3D 的效果的话,恐怕做不到吧。to redui:你是牛人啊,我早就注意到你的资源啦,哈哈,雨寒工作室,是吧!
额,我层次不够和你讨论了,我是刚接触 3D 了,用 OpenGL 的,最近由于工作的需要才开始学习,因为需求比较高,所以在不断的找资料,有个同事在带我了,我们也是需要实现 3D 渲染的库,而且封装的要够实用,够易用才行,具体的实现也不是我说了算,我也水平不够了
先做一些资料查找和思考,再继续深入
两年没启动过我的gentoo了,不止现在更新如何了,
compiz fusion稳定性有改进没 o(∩_∩)o...
做个通用性的3D界面库,至今没有发现成功的。并且对于使用的人,门槛也太高了。界面引入脚本这种相对门槛比较低的技术,对于使用的人,也是一种麻烦。大部分使用界面库的人,也仅仅是会用mfc做个对话框工程。那么,商业的界面库的使用门槛,也应该定义在这一级别,甚至低于这一级别。否则作为技术含量过高的界面库,除了作者,就没人会用了。这正是好多优秀的界面库,不成功的原因。
再多说几句,基于贴图并不是简单的设计。现在国内市场上,几个商业的界面库,基本都是你说的这种基于贴图的库。界面和功能分开,和使用mfc还是脚本没有任何关系。那种复杂的界面技术,一定要由国际上比较牛的几家公司开发(像微软、google这种),才能引领程序员去使用。个人即使开发出来,也没有任何用处。像wpf这种技术,即使是微软,都推广的不是很成功。
说的很好,大家一起讨论交流下!LibUIDK 作者嘛,呵呵,都是牛人!
http://hi.csdn.net/attachment/201110/13/6157840_131848106887Zx.png
使用 QT?我说的是 Native 的,不能依赖于其它的 FrameWork!
现在还有3D的 GIS 楼主可以看一下。
这个是趋势
要native的你就找个第三方的UI库用吧,或者要求不高的话自己写一个,也不见得有多难。
嘿嘿,我在30楼结束时提到wpf了。可是wpf不太成功,用c#的话,可以考虑,使用托管C++,有点那个。------------------------------------------------------------------------
另外有些人担心Script的执行效能偏低,这里解释如下:多数UI解释型的Script就已经足够了,除非希望界面层作更为复杂的逻辑工作 ----- 如甚至变态的一定要自己去用Script渲染图形(因为我底层支持自绘);为了应对这样的需求,新版本已经计划加入JIT的支持(使用ECMA262标准);因此,我不认为这样效能还有问题 ----- 至少应对UI是没有问题了。当前我的程序有几个部分组成:图形渲染层(当前支持软件渲染和硬件加速的渲染)、Script处理、其他杂项----如XML、Video/Audio/Image Codec等的支持;未来重点除了Script效能的提升外,支持硬件加速的图形渲染将是主要工作(矢量、Filter....)
因为我自己是做嵌入系统的,因此我的程序主要刻意会去注意跨平台,因此,我不可能使我的程序依赖与MFC或GDI+、DirectX等技术;为了实现跨平台的需要,在软件渲染版本我会实现抗锯齿、Color Dither及其他所有的矢量渲染 ---- 这样在不具有硬件加速的情况下,即使只有FrameBuffer,我的程序也可以保证顺利执行;
对于,是不是使用静态图形,同样我认为也是需求不同 ---- 因为我是做消费类得嵌入系统,用户需要的是够Cool、够炫的应用,如果只是像PC一样只是Show一张静画我相信很难满足客户的需求;事实上我早期也是在PC上进行界面设计的,从Window95开创图形界面到现在,PC上的界面没有太多的变换---毕竟PC仍是以更为专业的形式对人,而非一个纯消费类产品 ---- 所以还是应用层面不同;但这种局面在PC游戏上已经有所改变,如ScaleForm设计的UI就绝不会只有几张静画,其中可能会嵌入视频等等;而且在Windows 8中,针对UI设计,微软提供了Blend软件----这个个人感觉就是一个早期的Flash MX,所以您说的情况已经在变;
最后,我非常赞同您说的话,个人搞UI设计“凶多吉少”,但我喜欢作技术,至少我希望我Happy,如果能赚到钱更好;
给大家一个视频:http://www.scaleform.com/videos/video.php?vid=gfx4
目前已知的有至少800个著名的游戏是使用Flash技术,包括大家熟悉的星际、虚幻...等等当前我在进行这方面的研究(实际已经有几年时间了),大家可以在我的Blog中看到最新的状况;当然我也很期望和大家进行交流