如何提取仙剑奇侠传4的模型

虽然这里是提取的仙剑4模型,但是对其他仙剑游戏也同样使用

 

1.使用NinjaRipper从正在运行的游戏中提取。

 

这种方式理论上可以提取任何游戏的场景和模型,包括单机游戏和网络游戏。其原理是直接读取游戏加载到内存中的模型和场景,然后转存出来。

 

首先当然要有仙剑的游戏,然后下载【NinjaRipper】。大家可以从我的网盘下载:【链接】 密码:xpgn。下载好的压缩包解压到任意目录下,里面有下面几个文件。 

 

 

提取游戏所用的软件分为X64和X86两种,因为我们的仙剑4游戏为X86的,所以进入X86文件夹,并点击【NinjaRipper.exe】运行程序。上面红框框起来的.ms文件是3Dmax的脚本,在后面将提取之后的模型导入3Dmax的时候会用到。 

 


 

打开程序后,点击图中所示位置,找到仙剑4的游戏程序,就是名称为【PAL4.exe】的可执行文件。

 

 

 

这里如果不知道仙剑4的游戏程序的位置,可以右键点击仙剑4的图标,然后点击弹出菜单的最下方的属性,

  

 

在弹出的属性窗口中,目标这一栏里显示的就是仙剑4游戏程序的位置,或者你也可以点击下面的【打开文件所在的位置】按钮在文件夹中打开仙剑4的安装路径,然后根据图中所显示的文件路径在NinjaRipper中打开PAL4.exe.

 

 
 

 

找到PAL4.exe之后,点击打开,回到NinjaRipper程序的界面。 

 

 
 

此时【1】显示为PAL4.exe的路径。【2】所示的位置显示的是提取后的文件存储到何处,我们可以点击【2】处的【...】按钮选择我们觉得方便的 路径。不改也可以。点击【3】处所示的【Browse】按钮可以直接打开这个文件夹查看提取的结果。

 

 

 

左下角的【Settings】按钮点击之后可以弹出这个设置面板,这里可以设置我们提取模型时所用的按键,对于仙剑4我们不需要进行任何改动。在提取的时候只需要按下F10即可。

 

 

 

此时我们点击【1】处所表示的【Run】按钮,会自动打开仙剑4的游戏界面,我们仍然与平时一样进行各种操作,只是在游戏加载的时候会比平时稍微慢一点。比如这里,我想提取【太平村】的游戏场景和人物,那么我直接点击【旧的回忆】,然后读取太平村那边的存档。

 

 

 

在这里提示一下,为了方便大家提取自己喜欢的场景,推荐大家下载一份仙剑4的完整存档,这样可以直接加载存档之后快速进行提取。这里附上百度云的链接: 密码:x1c4

 

存档下载之后包含Save1和Save2两个文件夹,直接打开压缩包,将Sava1中的所有文件 复制到PAL4.exe相同路径下的Save文件夹中即可。需要注意的是这样会丢失你之前的所有存档,如果你不想丢失存档,就需要把从前的所有存档备份起来。

上面的步骤只是在我们原有的存档无法直接到达想要的游戏场景的情况下才需要进行操作,对我来说,因为我重新下载了仙剑4游戏,所以要想能够直接到达【太平村】,只能去下载存档,否则还要一下以下玩儿到太平村。如果你有太平村的存档,那就直接可以跳过这一步骤。

 

在到达想要进行提取模型的场景后,在英文输入法的状态下直接按下F10,开始提取模型,提取模型的过程中,游戏会卡住,提取模型完成之后恢复正常。此时,可以退出仙剑4游戏,打开文件夹查看提取之后的文件。如果之前没有更改输出路径的话,文件路径默认为PAL4相同路径下,通过在NinjaRipper中点击Browse按钮可以直接打开文件夹。

 

 
 

图中所示即是提取之后的文件所在的目录,成功提取之后,这个文件夹的尺寸会变得非常大。

 

 

 

进入此文件夹后,有一个以【你运行PAL4的时间】+【PAL4.exe】为文件夹名称的子文件夹,如果退出仙剑程序之后再打开程序并进行截取,就会生成另一个文件夹,两个文件夹的时间不相同。此时我们进入这个文件夹。

 

 

 

这里的文件夹是每次你按下【F10】按键,都会生成一个文件夹,NinjaRipper会把你按下按键时候,游戏内的所有物体,贴图等都存储在这个以【你按下F10的时间】+【PAL4】为文件夹名的文件夹内。 


 

 

 

这样我们如果有多个想要进行提取的场景,只要游戏里进入场景,并按一次【F10】,再进入另一个场景,重复以上步骤,就可以一次提取多个游戏场景,每个游戏场景对应于这里的一个文件夹。进入文件夹之后,会看到很多以.rip与.dds为后缀的文件,.rip为提取得到的模型,.dds为模型的贴图。


模型到此为止算是提取出来了,然而是以NinjaRipper自己的格式存储的。获得模型只是第一步,接来下我们要使用3D Max来处理我们的模型。

 

我的目的是使用提取之后的模型制作游戏,有些人的目的可能只是提取之后摆个姿势截个图观赏,但是无论是那种需求,都需要用到3D Max。一般做美工的都有这个软件,初次尝试的同学也停下来,去安装一个3Dmax,然后继续跟着教程走。这个不需要3Dmax的使用经验,我自己也是一点都不懂3Dmax,只是用3Dmax来导入模型而已,完成导入之后就会导出到其他的软件来进行处理。 

 

 

 

 

在3dMax下面导入我们刚才看到的那些.rip模型,就需要用到我们之前提到的在【ninjaRipper解压目录】下面的【ninja_ripper_import_1.3.ms】插件了。它的作用就是把NinjaRipper的文件格式转化成3Dmax能够识别的格式,之后我们就可以在3Dmax中进行处理了。

 

此时,你可以将这个【.ms】文件复制到【桌面】等你觉得方便查找的位置,然后打开3dmax程序。同样是3dsMax2016版本的同学可以按照下图找到【运行脚本】选项,使用其他版本的人可能菜单位置有所不同,可以根据自己的版本自行查找【运行脚本】的位置,点击弹出查找脚本的对话框。 

 

 

 

 

如果刚才你没有把这个脚本复制到其他更方便查找的地方,那就层层查找到NinjaRipper的解压路径下,打开这个文件,会弹出下图所示的对话框。

 

 

 

 

 

这里在文件夹中找到存储我们提取模型结果的文件夹,以我提取的结果为例,场景中所有的模型都在这些以Mesh_XXXX.rip为格式的文件中,假如我只对某一个物品感兴趣,那么没办法,只能讲这些文件全部导入3Dmax之后才能进行选取。所以如果你想用这个方法提取一个主角的模型,那你最好让主角走进一个室内的场景或者是相对小的场景再进行截取。而我是在太平村外面进行的截取,所以此时太平村里所有的物品,房屋,地形,人物等,都被我提取了下了,所以提取之后.rip文件的数量也达到了1000个,这样在导入3dMax的时候就会非常慢。

 

 

 

 

如果你只想打开单个文件,那么点击【Single】,这里我想导入所有的【.rip】文件,所以选中【Group】,然后点击右方的【...】按钮查找存储【.rip】文件的路径,也就是我们在之前看提到的每次按下【F10】创建的那个包含有.rip与.dds文件的文件夹。

 

 

 

 

这里我们选中的是我根据我第二次按下【F10】时的场景创建的文件夹,然后点击确定打开文件夹。我这里所有Mesh_xxxx.rip中,最小的文件编号为Mesh_0000.rip,最大的编号为Mesh_1001.rip,所以在【RipFileNums】我们填写【0000-1001】,也就是从第一个文件一直到最后一个文件。

 

你根据你.rip文件的编号来确定,自己所填写的数字,注意在最小编号和最大的编号之间用【-】分割开就行。填写完毕之后,点击【IMPORT】按钮,模型就开始导入到3Dmax中了。根据你要导入的【.rip】文件的数量不同,导入的时间也不同,等它完成就好,期间你可以看到界面上不断出现新的线框模型。导入之后的模型是已经贴好贴图的模型,就可以直接在3DSmax中处理成自己想要的结果了。模型提取完毕之后,再进行一些处理就能够用到自己的游戏里。

 

 

 

 

游戏中固定不变的物品提取的效果是很好的,但是游戏中可运动的物体,比如主角,NPC,树木等都会重叠在坐标零点,这样非常不方便进行分离,可以按照之前提到的,在主角走入一个密闭的空间之后再进行提取,这样分离起来的难度要小很多。

 

 

 

 

另外更加方便提取主角等角色的方法,就是我下面将要提到的方法,想要提取这类模型的同学可以继续往下看,下面这个方法提取的场景也比较干净。

提一下,网上其实有现成的资源,搜索一下就能够下载得到,我们是打算随心所欲的提取需要的东西以方便制作,才需要自己提取。

 

这里需要用到两款软件:

1.RPGViewer:用来解压仙剑游戏的资源包。

2.PAL4_3D_View:用来查看解压之后的模型和场景等资源。

3.NinjaRipper:用PAL4_Role/Scene查看单个模型,单个场景的情况下,直接用上面同样的方法提取模型。

附上这几款软件的百度云连接:

1.RPGViewer:链接 密码:ew2g

2.PAL4_3D_View:链接 密码:4j9x

下面详细开始操作:

 

 

解压之后又有两个【.RAR】压缩包,将两个压缩包分别解压之后,将【RPGViewerSupportFile】中的所有文件拷贝到【RPGViewer.exe++2】文件夹中。然后在【RPGViewer.exe++2】中找到【RPGViewer.exe】双击开始运行程序。

 

按照图示的路径找到【仙剑4】,点击打开,然后选择仙剑4的安装路径。

 

 

点击CPK前的【-】号展开包结构,解释一些包结构:

PALActor.cpk中存储的是所有游戏角色的模型,如四个主角以及各个NPC。

Palobject.cpk中存储的是游戏中的各种物品,如矿石,装备等。

Palweapon.cpk中存储的是所有武器的模型。

Scenedata.cpk中是所有的小地图。

UI.cpk中是所有的界面元素,如主角们在对话时候的小头像等等。

 

 

通过在左侧选中相应的包,然后点击图中红框标出的按钮,就能够在右侧查看包内所包含的所有图片,从而推断出包中的内容。

\PALWorld\CombatWorld\下的所有场景为战斗场景,即主角们站桩打怪的场景。

\PALWorld\下,m开头的包为迷宫场景,q开头的包为城镇场景,如琼华派,青鸾峰,太平村等。

现在我们需要解开包,才能提取到其中的内容。

 

在左侧选中想要解包的.cpk包,然后按照上图的找到解包选项。选择想要进行解包的路径之后,开始把包内所右的资源都解压到所选的路径中,这个过程可能也会稍微卡顿。如果知道自己想要提取的模型的名字,可以点击【高级】,然后选择自己所需要的资源导出。在这里我想要所有的资源,所以选择了全部解压。解压之后会获得很多文件夹,我解压的角色模型,所以获得了包括四个主角的多种时期服装的模型文件夹,如107梦璃的文件夹:

 

 

【.dff】为renderWare引擎的模型格式,【.png】为角色的贴图,【.anm】为角色动画文件。

 

 

 

 

事实上由于仙剑4采用的Renderware引擎与GTA同样的引擎,所以GTA所用的大量工具经过修改就可以直接读取仙剑4的模型和动画,但是因为其中涉及到复杂的编程等知识,所以我们还是先从简单的入手。

此时需要用到第二款软件了,【PAL4_3D_View】解压后

 

PAL4_Role用来浏览主角等模型,即以【.dff】为结尾的文件模型。PAL4_Scene用来浏览游戏场景,即以【.bsp】为后缀的文件。

此时以我提取的模型为例,首先,将【PAL4_Role】中的文件复制到解压的根目录下

 

然后将想要进行查看的模型【.dff】文件从【101】等开头的子文件夹中复制出来,放到【PAL4_Role.exe】相同的文件夹下

 

用记事本打开【clmpview.ini】

 

第一行改为你刚才复制的.dff文件的文件名,比如这里是【107】

第二行改为你想要浏览的动画的路径,动画为存储在你的模型相同的文件夹下的【.anm】文件。这个要包含路径,比如你浏览的是【101.dff】,那么你需要修改第二行为【101/C01.anm】

当然实际的动画名字要查看文件夹内实际的情况。

然后便可以打开【PAL4_Role.exe】查看模型。

使用PAL4_Scene浏览场景的时候也是类似的步骤,每次都需要修改【clmpview.ini】文件中的数据。然后重新打开【.exe】查看场景。

 

做了这么多的步骤之后,我们最终可以算是得到了一个很干净的场景,只要用我们此前介绍的方法,使用NinjaRipper进行提取就可以了,步骤如下:

 

点击【...】按钮选中我们存放解包之后的模型的文件夹,选中【PAL4_Role.exe】(当你提取场景的时候就是PAL4_Scene.exe),然后点击【Run】,NinjaRipper将把它看做一个普通游戏,后续的步骤跟前面提到的一样。在查看模型的界面中按下【F10】之后,模型将被存储到【PAL4_Role.exe】根目录下。

 

 

 

 

然后只需要按照上面的步骤,将这个干净的模型导入到3dMax中去就可以了。

 

posted @ 2016-11-23 16:36  北风Z  阅读(4727)  评论(2编辑  收藏  举报