About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Nov

    30

    周末闲着也是闲着么(一个不搞 3D 开发的人如何看 3D 引擎)。

    我第一次看到 Flash 3D 技术是在 2006 年的夏天的一个夜晚,一个朋友发给了我一个使用 Papervision3D(AS2版本的 PV3D)制作的 Flash 360 度旋转的全景案例。但因我个人比较喜欢 2D 唯美的东西,对他的 3D 演示产品并没有表示出很大的兴趣。因为我对 3D 的评价是:一张纸永远包不平一个球

    —— 所以位图材质被贴到模型上的时候,它总是需要以这样或那样的方式被拉伸、缩放、平滑、模糊等等,进行各种像素的插值计算—— 所以3D 即时渲染技术在我的印象中一直都是比较丑陋的。尤其是看到一些游戏角色的模型那些肌肉有棱有角,像个怪兽一样时,这种“丑陋”就会表现的淋漓尽致(我一直比较讨厌轩辕剑后来的那些 3D 版本,其实就是因为游戏里面的 3D 画质跟它们的 2D 宣传画真的是有着天壤之别)。

    在 Flash 加入 Stage3D 之前,PV3D 一直是 Flash 3D 引擎中最简单也是最完整的 3D 引擎,尤其是在 AS2 的时代,几乎国内外所有的 360 度全景展示或 360 环物展示产品都使用清一色的 PV3D。然而由于 PV3D 是基于 CPU 计算的方式,在 Flash 加入 Stage3D 技术后,从此末落(虽然 Papervision3D 曾经想要推出基于 Stage3D 的 PapervisionX 产品,但这么些年过去了至今未发布正式版本,应该算是“流产”了)

    但如果开发者没有任何 3D 基础(注意是没有任何3D基础),并且英语水平很囧,我会推荐从 PV3D 学起,但并不需要深入的学习全部,因为:PV3D 是至今为止拥有唯一完整和系统的中文基础教程的翻译版《Papervision3D Essentials》,这会帮助开发者了解 3D 中的术语是指哪些对象。而其它 3D 引擎除了 《Away3D 3.5 Essentials》,都是没有完整和系统的教程的。如果直接看 DEMO 的演示源代码——没有 3D 基础看 3D 的代码,很可能就像没有 AS 基础的人直接看 AS 源代码一样,可能会花了很多时间仍然看的一知半解,甚至看不懂——因为演示代码本身就是给有基础的人看的,有了基础便会一看就懂。

    我在这个周末大概花了将近3 个小时,通读了一边《Papervision3D Essentials 中文翻译》,既便是像我这样没有 3D 基础的人,再去看 Flare3D 官方提供的演示代码,也是很容易看懂的。然而 Flash 3D 技术并不景气,至少目前来说它并不景气,如果它一直这么不景气,那么类似《Away3D 3.5 Essentials》这样的英文书籍可能永远不会有人去翻译它(这书已经上市有个二三年了,虽然我没有看过它,但我觉的既然它出书了,那么应该是系统的教程)。

    其实开发者们应该都有接触过 Flash 页游,很多都是打着 3D 的口号,但实际上它们往往处在一种“伪 3D ”状态,只有角色是 3D的,而游戏地图往往是 2D,所以是没有景深透视的,不能像那些真正的 3D 端游那样旋转镜头之类的操作。这跟性能有着很大的关系,所以很多页游公司会放弃使用 Flash3D 技术,而采用类似 U3D 这样的技术,而 Flash 3D 页游开发者也会被迫的转到 U3D 之类的技术。

    我并没有真正的使用过 3D 引擎做过实际的项目,只是在看资料时测试过 PV3D 和 Flare3D 的几个示例代码。在查找资料的过程中其实我也发现到国内以 9RIA 论坛为例,在 3D 资料中,Away3D、Flare3D、Alternativa3D 的资料是比较多的,有 3D 牛人们都给他们出了一些单独的案例教程。

    也有国外的开发者对多种 Flash 3D 引擎进行了一个综合性的比较:《On the choice of a Stage3D engine》,有兴趣的可以看看,这位名叫 Arnaud Gatouillat 的作者相比较之下他喜欢 Flare3D。但我更喜欢这篇有针对性的文章Flare3D Vs Away3D in the creation of a simple game》,这个名叫 Emanuele Feronato 的作者提供了 Away3D 和 Flare3D 更具体更详细的比较,并且在最后也倾向于 Flare3D(这位作者将 Alternativa3D 也剔除了,我觉的它应该被剔除,因为 Alternativa3D 这名字也太长了,长到我都不知道怎么读,哈哈!!,所以取个简单易读的名字还是重要的,@_@)

    这两位作者喜欢 Flare3D 的原因有很大的两个共同点:1、帮助文档做的很棒;2、简单易上手(包括编码量也少。所以能用一行代码搞定的事件,别搞好几行;能用简单的名字,就别取那么长的名字。再次哈哈)。我一个没有 3D 基础的人仅仅只是通读了 《Papervision3D Essentials》 的翻译,就能看懂 Flare3D 的那些样例代码,这说明它真的很简单(至少入门真的是很简单)。

    还有一点很重要的是,这些新的基于 Stage3D 的 Flash 3D 引擎,在实际测试的几个案例中都会遇到一个相同的问题:那就是如果用户关闭了 Flash 播放器本身的硬件加速功能,这时候它们的锯齿现象就会变的很严重,并且帧速率也会大大的下降(很多笔记本用户其实都会有一个感受,就是在 Google Chrome 浏览器中如果去观看类似优酷这样的视频,或者玩一些 Flash3D 网页游戏时,显卡风扇会狂转,如果没有显卡风扇甚至可能会因为温度过高而自动关机,甚至莫名奇妙的连同 CPU 的使用率也会升高,CPU 风扇也是狂转。在百度上有很多这样询问的用户,因为我曾经也遇到过这样的情况,所以会不得不关闭 Chrome 播放器的硬件加速功能)。这种特殊情况下其实是不及 PV3D 的,因为 PV3D 从一开始就是基于 CPU 的,它的材质平滑处理、帧速率完全不受播放器是否开启硬件加速的影响。

    也许这篇闲谈跟开头说的有些不一样,既然我觉的这种“非照片级别的实时渲染 3D 技术”是丑陋的,那为什么又要去研究它呢,有一句话叫做:吐着吐着,你就习惯了。

    Nov

    26

    老版本 Flash Player 8.0 下载

    • 0 Comments
    • Miscellaneous

    一些比较老的 Flash 文件基于 AS1 或 AS1.1 在 FlashPlayer 9 以后的版本中播放会有问题,比如类似“金鹰视频教程”系列教程有些进度条用到了 AS1 代码,在网页中放了一半就无法继续播放了,这是因为网页默认 FlashPlayer 会自动升级更新到最新版本。

    所以只要把网页中的 FlashPlayer 播放器控件还原到 8.0 以前的版本就可以,但这样一来就又无法继续播放 AS3 的 Flash 文件,比如优酷,土豆神马的视频就无法观看了。

    一个比较好的方法:将这些在线 SWF 文件用迅雷工具神马的下载下来(最好是能够找到这些资源的离线版本,直接打包下载,否则就算用迅雷一个一个的下载也麻烦),然后在本地就可以用独立的 FlashPlayer 8.0 播放这些 SWF 文件了。

    FlashPlayer8.0 独立版下载: FlashPlayer8.0.rar (解压密码:blog.zinewow.com)

    Nov

    14

    Adobe Flash Builder 4.7 下载地址

    • 0 Comments
    • Miscellaneous
    挺烦那个 Adobe Creative Cloud SetUp 程序的,搞捆绑式安装,被强制安装了 Cloud 也罢,还特么的下载特别慢,搞的电脑也特别卡,还是用迅雷直接下载比较爽:
     
    32 bit:http://trials3.adobe.com/AdobeProducts/FLBR/4_7/win32/FlashBuilder_4_7_LS10.exe
     
    64 bit:http://trials3.adobe.com/AdobeProducts/FLBR/4_7/win64/FlashBuilder_4_7_LS10_win64.exe

    Nov

    7

    1、在远程文件目录显示面板中点击按时间排序(“更改时间”)序列按扭,应用会发生漰溃。

    产生原因:远程文件或文件夹路径中包含了中文或其它特殊字符。

    解决办法:先在只有英文名的目录下点时间排序(一般为根目录),然后再进入其它目录或关掉所有窗口后重新打开。

    2、在线编辑远程文件时,中文字符乱码。

    产生原因:文件使用了UTF-8编码。

    解决办法:到 “工具—全局选项—应用程序助手” 选项卡,去掉【所有包含“查看”命令请求的文件都强制为ASCII(F)】的默认选项对勾。

    Nov

    2

    可能会出现细微的裂缝的情况:如舞台或父对象、目标对象等被缩放了,元件坐标值有小数点(没有整数对齐),元件被斜切矩阵应用了等等都有可能产生这种细微的裂缝。

    在 TexturePacker 中找到“Layout → Extrude”,默认值为 0,将它设为 2 即可(这个工具太赞了)。

    Oct

    22

     

    ShoeBox 是一个基于 AdobeAIR 运行时环的免费工具,主要功能用于制作游戏、UI 等,能够很方便的处理游戏图片、创建位图字体等。

    官方网址:http://www.renderhjs.net/shoebox/

    一篇中文教程:“《利用 ShoeBox 制作位图字体》”

    Oct

    21

    Oct

    21

    Sep

    19

    作为一个天朝人士,不可能不用中文,尤其是在一些商业场所有中文名作为自己的 WIFI 信号本身也有一种广告效益,个人往往也喜欢取一个个性的中文“贱”名。

    但结果发现 iPhone 和 iPad 居然无法搜索到 中文命名的 WIFI 信号,网上搜索了一下之后发现很多人都遇到了同样的情况(至少在 iOS 7.1 是不行)。

    不知道苹果公司 iOS 系统的工程师们有没有看到这么严重的“瑕疵”问题,不知道以后的 iOS 是否为改进。

    Aug

    16

    1、搜索443端口占用情况,并找到进程ID 
    netstat -ano|findstr "443"
    2、找到 PID 为720 (这里可能是其它的值)
    TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 720
    UDP 0.0.0.0:59443 *:* 7584
    3、查找 PID 为 720 对应的进程名
    tasklist|findstr "720"
    4、找到是 QQ 旋风占用,结束掉进程。
    QQDownload.exe 720 Console 1 56,156 K