icedream 210 Report post Posted October 20, 2013 (edited) The Python File Format Interface (简称 PyFFI ),是用 Python 编写的开源数据库,用来处理分结构的二进制文件:简单:在 Python 环境下读取、写入、修改复杂的二进制变得非常简单方便!当前,PyFFI支持 NetImmerse/Gamebryo NIF 格式与 KFM 格式,CryTek 的 CGF 格式,FaceGen 的 EGM 格式,DDS 格式,和 TGA 格式。全套:许多3D游戏所需要的工具,如optimizers(优化), stripifier, tangent space calculator, 2d/3d hull algorithms, inertia calculator、以及通用文件编辑器QSkype(使用PyQt4),都包括在内。模块化:高度模块化,这意味着不论是扩展已有的功能,或者添加对新格式的支持,都变得更方便下载 · Download源地址:SourceForge载点 | Github载点几个湮没PyFFI资源:湮没本体模型PyFFI优化、湮没官方DLC优化一体包,更多资源请搜索PyFFI需求 · Requirements需要 Python,如果想使用QSkope的,你还需要 PyQt4。安装 · Installing你会发现下载那边有两个版本pyffi-py3k:给 Python 3.x 使用的pyffi:给 Python 2.x 使用的如果你还是不明白究竟是该下载哪个版本,那我们推荐的是下载 pyffi ,同时的,你还需要下载并安装 Python 2.7.3如果你下载的是 pyffi-py3k,则你需要下载安装的是:Python 3.2.3下载 PyFFI 的安装程序时,建议下载 .exe 格式的。注意事项:vista/win7/win8 用户因为 UAC 问题不要把程序安装到 C:\Program Files 下卸载 · Uninstalling如果你是使用 .exe 安装的程序,可以到系统控制面板卸载;如果你是使用压缩包手动安装的程序,可以删掉安装目录以及 C:\Python27\Lib\site-packages\pyffi 或者 /usr/lib/python2.7/site-packages/pyffi。功能介绍 · Features上面已提到 PyFFI 含有许多的功能,其功能主要是通过脚本来实现的,这些脚本通常叫做 Spell。PyFFI提供许多可用的spells,其中最重要的就是优化(Optimize),除此之外,还有一些常见的的,比如Modify_makefarnifModify_texturepathModify_collisiontypeModify_ScaleanimationtimeModify_reverseanimation我们只要懂得 Optimize 就够了工作原理 · How It WorksOptimize的工作原理:移除mesh文档中重复/空白/不需要的数据,从而减轻GPU的负荷使用说明 · Usage把你要优化的文件放到 PyFFI\utilities\toaster\in 内运行 oblivion_optimize.bat等待运行完毕,优化好的文件会放到 PyFFI\utilities\toaster\out 内如果你要打包文件成 BSA 的话,请参考下面使用实例的介绍使用实例 · ExamplePyFFI优化原版BSA:备份好原版BSA;用OBMM的 BSA broswer(BSA浏览器) 功能将BSA解压到 PyFFI\utilities\toaster\in 目录下运行 oblivion_optimize.bat 开始优化打开OBMM的 BSA creator(BSA创建器) 工具。添加 PyFFI\utilities\toaster\in 文件夹。添加 PyFFI\utilities\toaster\out 文件夹。单击 Creat,创建BSA使用OBMM的 Reset BSA timestamps(重置BSA时间戳) 重置BSA的修改时间如果你遇到了原版mesh文件名空格丢失的问题,可以使用此插件:PyFFI-Optimized Vanilla Meshes Patch.esp>>几个要点:1)第一要点是BSA解压的位置要正确,不要手动移动文件或者复制,否则空格会丢失;2)另外一点需要注意的是添加 in 和 out 文件夹而不是仅添加 out 文件夹常见问题与解答 · FAQ问:对pyFFI过的mesh再pyFFI安全吗?答:安全,虽然这样做效果并不大的问:旧版pyFFI运行导致了某个mesh损坏,用新版pyFFI能修复这个损坏的mesh吗?答:不能,pyFFI不能修复任何损坏了的mesh问:为什么pyFFI增大了mesh的体积,优化不是表示缩小体积吗?答:对于2.1.6版本,很多优化工作都是通过triangulation(提高性能,但增大体积)而不是stripification(提高性能的同时缩小体积)。 问:pyFFI支持多核处理器吗?答:支持,pyFFI会利用多核处理器来运行。 问:pyFFI支持64位Python吗?答:支持64位系统,但不支持64位的Python 问:会有视觉上的质量损失吗?答:不会,PyFFI只移除重复和空白内容。 问:有什么mesh我不能用PyFFI的吗?答:有一些mesh会出问题,但认真按 使用说明 操作一般不会出问题。 问:为什么要使用PyFFI?答:事实上,不强求你使用。不过,如果你是材质制作者,材质处理者等,或者你想要获得更好的Oblivion性能,你就应该尝试一下了。新版的PyFFI会在性能上有实质性的提高,所以对你的mesh(包括原版BSA里面的meshes)进行pyffi优化是强烈建议的。 Edited October 2, 2015 by icedream 1 Share this post Link to post Share on other sites