Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Frostbite model tools (Battlefield, Battlefront and others)

Post questions about game models here, or help out others!
mono24
double-veteran
double-veteran
Posts: 840
Joined: Sat Nov 06, 2010 12:27 am
Has thanked: 436 times
Been thanked: 235 times

Re: Frostbite model tools (Battlefield 1, Battlefront 1, 2)

Post by mono24 »

eyewee wrote:Well, first I used Bf4 Sbtoc Dumper by Frankelstner
Before you begin make sure to delete what you already dumped to start from scratch.

This is the script you need to make it work, viewtopic.php?p=116879#p116879 but it will be a bit tricky so you have to do the following.
Make sure your paths are set correctly here:

Code: Select all

bf4Directory=r"X:\YOUR PATH\Need for Speed(TM) Rivals"
outputfolder="X:\YOUR PATH\NFSR_dump"
On these two lines make sure there is small "p" not capital "P" on PatchedCatName like this patchedCatName, and do not change anything else:

Code: Select all

catName=bf4Directory+"\\"+r"Data\cas.cat" #use "" or r"" if you have no cat; doing so will make the script ignore patchedCatName too
patchedCatName=bf4Directory+"\\"+r"Update\Patch\Data\cas.cat" #used only when tocRoot contains "Update"
On the next two lines you first run the script like this, to extract updates/patches first:

Code: Select all

tocRoot=bf4Directory+"\\"+r"Update\Patch\Data\Win32"
##tocRoot=bf4Directory+"\\"+r"Data\Win32"
Now you replace the whole resTypes from here:

Code: Select all

resTypes={
    0x5C4954A6:".itexture",
    0x2D47A5FF:".gfx",
    0x22FE8AC8:"",
    0x6BB6D7D2:".streamingstub",
    0x1CA38E06:"",
    0x15E1F32E:"",
    0x4864737B:".hkdestruction",
    0x91043F65:".hknondestruction",
    0x51A3C853:".ant",
    0xD070EED1:".animtrackdata",
    0x319D8CD0:".ragdoll",
    0x49B156D4:".mesh",
    0x30B4A553:".occludermesh",
    0x5BDFDEFE:".lightingsystem",
    0x70C5CB3E:".enlighten",
    0xE156AF73:".probeset",
    0x7AEFC446:".staticenlighten",
    0x59CEEB57:".shaderdatabase",
    0x36F3F2C0:".shaderdb",
    0x10F0E5A1:".shaderprogramdb",
    0xC6DBEE07:".mohwspecific"
}
With an up to date one like this:

Code: Select all

resTypes={
    0xC6DBEE07:".AnimatedPointCloud",
    0xD070EED1:".AnimTrackData",
    0x51A3C853:".AssetBank",    
    0x957C32B1:".AtlasTexture",
    0x428EC9D4:".BundleRefTableResource",
    0xAFECB022:".CompiledLuaResource",
    0xF04F0C81:".Dx11ShaderProgramDatabase",
    0xBCC7FB86:".Dx11Texture",
    0xE565EB15:".DxShaderDatabase",
    0x10F0E5A1:".DxShaderProgramDatabase",
    0x5C4954A6:".DxTexture",
    0x85AC783D:".EAClothAssetData",
    0x387CA0AD:".EAClothData",
    0x85EA8656:".EAClothEntityData", 
    0x70C5CB3E:".EnlightenDatabase",
    0xE156AF73:".EnlightenProbeSet",
    0x59CEEB57:".EnlightenShaderDatabase",
    0xC6CD3286:".EnlightenStaticDatabase",
    0x5BDFDEFE:".EnlightenSystem",
    0x59C79990:".FaceFXResource",
    0xEF23407C:".FifaPhysicsResourceData",
    0xE36F0D59:".HavokClothPhysicsData",
    0x4864737B:".HavokDestructionPhysicsData",
    0x91043F65:".HavokPhysicsData",
    0xEB228507:".HeadMorphResource",
    0x9C4FAA17:".HeightfieldDecal",
    0x0DEAFE10:".IesResource",
    0xC78B9D9D:".ImpulseResponse",
    0x36F3F2C0:".IShaderDatabase",
    0xC417BBD3:".ITexture",
    0xAD1AC4FD:".LargeParticleCloud",
    0x86521D6C:".LinearMediaAsset",
    0x5E862E05:".LocalizedStringResource",
    0xBA02FEE0:".MeshAdjacencyResource",
    0xC611F34A:".MeshEmitterResource",
    0x49B156D4:".MeshSet",
    0x1091C8C5:".MorphTargetsResource",
    0x31E779A2:".MovieTexture",
    0xB2C465F6:".NewWaveResource",
    0x30B4A553:".OccluderMesh",
    0xC664A660:".PamReplayResource",
    0x8D9E6F01:".PcaComponentWeightsResource",
    0x41759364:".PhysicsResource",
    0x52EE0D39:".PlayerPresetResource",
    0x3B9D1688:".PSDResource",
    0x319D8CD0:".RagdollResource",
    0x3568E2B7:".RawFileData",
    0x41D57E10:".RenderTexture",
    0x7AEFC446:".StaticEnlightenDatabase",
    0x2D47A5FF:".SwfMovie",
    0x6BB6D7D2:".Terrain",
    0x15E1F32E:".TerrainDecals",
    0xA23E75DB:".TerrainLayerCombinations",
    0x22FE8AC8:".TerrainStreamingTree",
    0x6BDE20BA:".Texture",
    0x9D00966A:".UITtfFontFile",
    0x1CA38E06:".VisualTerrain",
    0xEFC70728:".ZoneStreamerGrid",
}
Now you run the script and extraction will start and once it stops and it will show this in the last line:

Code: Select all

>>>
You go back to the script and make this modification ONLY to extract the Data folder to finalize the whole game dump assets:

Code: Select all

##tocRoot=bf4Directory+"\\"+r"Update\Patch\Data\Win32"
tocRoot=bf4Directory+"\\"+r"Data\Win32"
And everything should be dumped nicely, once you see again in the end this line you know its done:

Code: Select all

>>>
eyewee wrote:Now, what shall I do to get the 3d files with coordinates (talking about 3d map files)? As I've seen here viewtopic.php?f=10&t=7679&start=75
with nfs the run, map files have coords in the name of the file, which will be quite easy to just use these coords and put every piece in its place in order to assemble the entire map in 3ds max (or blender if not?).
As far as I know there are no coordinates in any file names for NFSTheRun, if I remember correctly the EBXs hold coordinates for some of the assets not sure about the actual map geometry, but I as well would like to have all NFS games as a map extracted for modding/art rendering and all those good stuff, until that's possible we use what we have already workable.
eyewee
n00b
Posts: 14
Joined: Fri May 11, 2018 7:46 pm

Re: Frostbite model tools (Battlefield 1, Battlefront 1, 2)

Post by eyewee »

mono24 wrote:
This is the script you need to make it work, viewtopic.php?p=116879#p116879 but it will be a bit tricky so you have to do the following.
Unfortunately, I'm getting this error :

Code: Select all

Chunks0.toc
D:\JEUX - GAMES\NFSR_dump\chunks\0080f1b8dce08bc320ef072a0ec6a849.chunk

Traceback (most recent call last):
  File "D:\JEUX - GAMES\FrostBite Tools\XENTAX V2\BF_Four_Python_Scripts\dumper.py", line 403, in <module>
    main()
  File "D:\JEUX - GAMES\FrostBite Tools\XENTAX V2\BF_Four_Python_Scripts\dumper.py", line 400, in main
    dump(fname,outputfolder)
  File "D:\JEUX - GAMES\FrostBite Tools\XENTAX V2\BF_Four_Python_Scripts\dumper.py", line 231, in dump
    casHandlePayload(entry,chunkPathToc+hexlify(entry.elems["id"].content)+".chunk")
  File "D:\JEUX - GAMES\FrostBite Tools\XENTAX V2\BF_Four_Python_Scripts\dumper.py", line 375, in casHandlePayload
    LZ77.decompressAndWriteUnknownFile(catEntry.filename,catEntry.offset,catEntry.size,outPath)
  File "C:\Program Files (x86)\Python2.7.4 32bit\lib\ctypes\__init__.py", line 378, in __getattr__
    func = self.__getitem__(name)
  File "C:\Program Files (x86)\Python2.7.4 32bit\lib\ctypes\__init__.py", line 383, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function 'decompressAndWriteUnknownFile' not found
I think it might be due to something in my python program or library?
You do not have the required permissions to view the files attached to this post.
mono24
double-veteran
double-veteran
Posts: 840
Joined: Sat Nov 06, 2010 12:27 am
Has thanked: 436 times
Been thanked: 235 times

Re: Frostbite model tools (Battlefield 1, Battlefront 1, 2)

Post by mono24 »

eyewee wrote:Unfortunately, I'm getting this error :

Code: Select all

AttributeError: function 'decompressAndWriteUnknownFile' not found
I think it might be due to something in my python program or library?
Well, you are using a python version between 2.7.3 32bit and up to latest build which is 2.7.15 32bit, which is good, so just uninstall it completely, then install it back but in full in its default location, seems that something is wrong with python installation, might be because its inside Program Files and might have a permission issue, so to avoid speculating just do a full default re-install, otherwise the extraction should have been very smooth.

And about NFSTR, from your screenshot I immediately recognized the extraction was made with the Frostbite.bms script by Luigi, which is NOT recommended as well, that script can NOT extract SuperBundles/BluprintBundles such as in NFSTR, all of those in your screenshot are SuperBundles that have a lot of assets that needs to be dumped.
And they look like this after proper extraction, the rest of the assets are of course spread out in they're designated location such as EBXs, MeshSets, Textures etc etc etc, only Havok data is in the 885 folders as you can see.
Image
eyewee
n00b
Posts: 14
Joined: Fri May 11, 2018 7:46 pm

Re: Frostbite model tools (Battlefield 1, Battlefront 1, 2)

Post by eyewee »

mono24 wrote: and might have a permission issue, so to avoid speculating just do a full default re-install, otherwise the extraction should have been very smooth.
Now, everything is fine, successfully extracted all the game, and now, how shall I extract the game mesh and these map files so I could start working with an already textured meshes?
mono24 wrote:And about NFSTR, from your screenshot I immediately recognized the extraction was made with the Frostbite.bms script by Luigi, which is NOT recommended as well, that script can NOT extract SuperBundles/BluprintBundles such as in NFSTR, all of those in your screenshot are SuperBundles that have a lot of assets that needs to be dumped.
And they look like this after proper extraction, the rest of the assets are of course spread out in they're designated location such as EBXs, MeshSets, Textures etc etc etc, only Havok data is in the 885 folders as you can see.
You'r right, and as I see, every folder indicates the mesh coordinates in the 3d world? I couldn't find these coords in payback, for instance, even if NFSPB can be opened with FrostyTools...
mono24
double-veteran
double-veteran
Posts: 840
Joined: Sat Nov 06, 2010 12:27 am
Has thanked: 436 times
Been thanked: 235 times

Re: Frostbite model tools (Battlefield 1, Battlefront 1, 2)

Post by mono24 »

eyewee wrote:how shall I extract the game mesh and these map files so I could start working with an already textured meshes?
Now what you want specifically does not exist, such as an already textured meshe conversion, the only thing that I have working on my end is for meshes ONLY, UU3D.
And everything has to be done manually, every texture every material, you name it.
I can pretty much help with extraction as I already did, but the textures, the meshes conversion etc etc, your on your own, I never found a specific conversion tool for a lot of the Frostbite games unfortunately.

Try and do a forum research for the following:
for textures look for: Batch_Itexture_Converter, there are many out there for various Frostbite games try and see what works.
for meshes look for: Chunk and Mesh file management tool or MeshFile_Type_Reader, see what you come up with, there used to be some 3dsMax scripts to work with the games but limited, see if you can find anything, I never dealt with that so I don't know what works.
eyewee wrote:You'r right, and as I see, every folder indicates the mesh coordinates in the 3d world? I couldn't find these coords in payback, for instance, even if NFSPB can be opened with FrostyTools...
Those sector/section coordinates or if I can even call them that, are for the HavokPhysicsData, has nothing to do with the actual meshes themselves, those that are more knowledgeable can correct me if I am wrong, I personally only found some coordinates inside EBX files, this is a bit more complex even for me.
Of all the Frostbites games I dumped only NFSTR and MOHW has those kind of folders.

PS: The Frosty Editor developer works on supporting the NFSRivals games among others, and hes working on loading full levels inside the Editor for the supported Frostbite games, but he said he is not decided yet if he will allow full level conversion to known formats such as fbx, obj/mtl, dae etc.
eyewee
n00b
Posts: 14
Joined: Fri May 11, 2018 7:46 pm

Re: Frostbite model tools (Battlefield 1, Battlefront 1, 2)

Post by eyewee »

mono24 wrote: And everything has to be done manually, every texture every material, you name it.
I can pretty much help with extraction as I already did, but the textures, the meshes conversion etc etc, your on your own, I never found a specific conversion tool for a lot of the Frostbite games unfortunately.

Try and do a forum research for the following:
for textures look for: Batch_Itexture_Converter, there are many out there for various Frostbite games try and see what works.
for meshes look for: Chunk and Mesh file management tool or MeshFile_Type_Reader, see what you come up with, there used to be some 3dsMax scripts to work with the games but limited, see if you can find anything, I never dealt with that so I don't know what works.
eyewee wrote:You'r right, and as I see, every folder indicates the mesh coordinates in the 3d world? I couldn't find these coords in payback, for instance, even if NFSPB can be opened with FrostyTools...
Those sector/section coordinates or if I can even call them that, are for the HavokPhysicsData, has nothing to do with the actual meshes themselves, those that are more knowledgeable can correct me if I am wrong, I personally only found some coordinates inside EBX files, this is a bit more complex even for me.
Of all the Frostbites games I dumped only NFSTR and MOHW has those kind of folders.

PS: The Frosty Editor developer works on supporting the NFSRivals games among others, and hes working on loading full levels inside the Editor for the supported Frostbite games, but he said he is not decided yet if he will allow full level conversion to known formats such as fbx, obj/mtl, dae etc.
I've talked to these genious frosty editor developpers on discord, it seems to be quite impossible to get the coordinates...at least, more than 20%, everything else is hidden, as u've said, in this havok data. In fact, they are working on a map editor tool inside frosty editor, but until then, there'll be no coordinates to recreate the map. The only thing is to wait cause otherwise I'll certainly get a huge difficulty, extracting every single coordinate for every single 3d object. However, I could still use some of the 3d object for any useful purpose.
mono24
double-veteran
double-veteran
Posts: 840
Joined: Sat Nov 06, 2010 12:27 am
Has thanked: 436 times
Been thanked: 235 times

Re: Frostbite model tools (Battlefield 1, Battlefront 1, 2)

Post by mono24 »

eyewee wrote:I've talked to these genious frosty editor developpers on discord, it seems to be quite impossible to get the coordinates...at least, more than 20%, everything else is hidden, as u've said, in this havok data. In fact, they are working on a map editor tool inside frosty editor, but until then, there'll be no coordinates to recreate the map. The only thing is to wait cause otherwise I'll certainly get a huge difficulty, extracting every single coordinate for every single 3d object. However, I could still use some of the 3d object for any useful purpose.
If I've learned anything so far from all of this research over the years is that, its not impossible, it just takes a certain mind and set skills to do it, and most of us do not have those, and some who do have it, are not interested in going that deep, and those who do, it takes time, and for good reason.

But until then at least you have two tools to get geometry/meshes from NFSTR and NFSP, so better something than nothing.
They're made/posted by daemon1 here in one of these pages of this thread, have a look at them and see if it works for your purpose.
Flandyn
n00b
Posts: 12
Joined: Mon Oct 12, 2015 2:06 pm
Been thanked: 1 time

Re: Frostbite model tools (Battlefield 1, Battlefront 1, 2)

Post by Flandyn »

Every time I use Fb_SWBF_mesh.exe, it gives me this error:

Code: Select all

G:\dumps\swbf\UFBE\bundles\characters\rebel\hero_gunslinger_hansolo>Fb_SWBF_mesh.exe hero_gunslinger_hansolo_mesh.MeshSet

Unhandled Exception: System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at FB_faceposer.FB_faceposer.Main(String[] args)
I've tried dumping the files using UFBE and the python scripts, but I still get the same error.

When using Fb_SWBF_faces.exe, it gives me this error instead:

Code: Select all

G:\dumps\swbf\UFBE\bundles\res\characters\heads\heads_hansolo_01>Fb_SWBF_faces.exe "heads_hansolo_01_mesh 375fbc8c4e11f775 0022000000000000800100009000c000.mesh"

Unhandled Exception: System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
   at System.IO.BinaryReader.FillBuffer(Int32 numBytes)
   at System.IO.BinaryReader.ReadUInt64()
   at ?????????????????????????????????????????.?????????????????????????????????????????(String[] )
How do i fix this?
daemon1
MEGAVETERAN
MEGAVETERAN
Posts: 2647
Joined: Tue Mar 24, 2015 8:12 pm
Has thanked: 65 times
Been thanked: 2871 times

Re: Frostbite model tools (Battlefield 1, Battlefront 1, 2)

Post by daemon1 »

you're doing something wrong. Read how to use the tool again.

i dont have the game, so i can't check the file you mention
Flandyn
n00b
Posts: 12
Joined: Mon Oct 12, 2015 2:06 pm
Been thanked: 1 time

Re: Frostbite model tools (Battlefield 1, Battlefront 1, 2)

Post by Flandyn »

I've fixed the fb_swbf_faces.exe error, but now it gives me this even though I have copied all the .assetbank files in the game into the tool's folder:

Code: Select all

G:\dumps\swbf\UFBE\bundles\characters\heads\heads_hansolo_01>Fb_SWBF_faces.exe vu_heads_hansolo_01.ebx
Asset not found in asset banks (2)
As for the fb_swbf_mesh.exe error, I can't seem to fix that. I could send you the files i'm trying to convert if you'd like.

EDIT: Fixed.
raven154
ultra-n00b
Posts: 2
Joined: Thu Aug 09, 2018 9:25 pm

Re: Frostbite model tools (Battlefield 1, Battlefront 1, 2)

Post by raven154 »

mono24 wrote:
satan0w wrote: ok i try this but if mazda dont have skeleton what i must?
i go to bundles ->vehicles ->player ->car_mazda_rx7spiritr_2002 and all files for mazda in this folder
Image

https://imgur.com/a/QNX9W
Well now that I know what is your talking about, its already been answered, here:
viewtopic.php?f=16&t=17236&p=138712#p138712

BUT, from what I can see in your image, something went wrong with your extraction, there are no .MeshSet extracted to work with, .MeshSet is needed for geometry.
What did you extract it with?
.MeshSet is in the "res" folder... And how to connect it?
mono24
double-veteran
double-veteran
Posts: 840
Joined: Sat Nov 06, 2010 12:27 am
Has thanked: 436 times
Been thanked: 235 times

Re: Frostbite model tools (Battlefield 1, Battlefront 1, 2)

Post by mono24 »

raven154 wrote:.MeshSet is in the "res" folder... And how to connect it?
Well, as it was already posted in the NFS Payback thread you follow those instructions and you will get what you want.
What exactly is that you didn't understand? You have to be a bit more specific in order to help more efficiently.
If you follow the instructions in the link in your quote you'll get meshes/geometry converted just fine.

And try to stay on one thread, wondering around asking questions all over makes a mess.
spectrum
ultra-n00b
Posts: 7
Joined: Sat Oct 27, 2018 4:22 pm
Has thanked: 3 times

Re: Frostbite model tools (Battlefield 1, Battlefront 1, 2)

Post by spectrum »

mono24 wrote:But until then at least you have two tools to get geometry/meshes from NFSTR and NFSP, so better something than nothing.
They're made/posted by daemon1 here in one of these pages of this thread, have a look at them and see if it works for your purpose.
Hello. I've been trying to extract the meshes and textures from NFSTR for some time now. Using QuickBMS and its scripts (frostbite.bms and nfstr_blueprintbundle.bms) works properly, but as I've seen from your reply above, it is not recommended. With that I tried to get some of the Battlefield dumpers to extract the game files, got a few results. The most recent that I could find was from 2014, althought it still give me some errors and I'm unable to get any file working properly.

I've started to look for a Battlefield tools after reading your reply here: viewtopic.php?f=10&t=7679&start=105

So, I'm not sure if the source of my dump is just outdated or if it is something else. In that case, would be possible to link me to the lastest updated dumper scripts?
mono24
double-veteran
double-veteran
Posts: 840
Joined: Sat Nov 06, 2010 12:27 am
Has thanked: 436 times
Been thanked: 235 times

Re: Frostbite model tools (Battlefield 1, Battlefront 1, 2)

Post by mono24 »

spectrum wrote:would be possible to link me to the lastest updated dumper scripts?
No need to (plus there are no updated scripts anymore), simply use Daemon's UFBE tool and select the SWBF2 option for the game and your good to go.

Note, to make it all extract fast, use a different HDD for extraction than the one your game resides.
After you selected the game and where to extract, select SWBF2
Then click scan Bundles, click ok after done, then click scan CAS/CAT also click ok after done
Also make sure you tick all option besides (show assets names with full path)
now hit DUMP and wait till it extracts/dumps everything.
spectrum
ultra-n00b
Posts: 7
Joined: Sat Oct 27, 2018 4:22 pm
Has thanked: 3 times

Re: Frostbite model tools (Battlefield 1, Battlefront 1, 2)

Post by spectrum »

mono24 wrote:
spectrum wrote:would be possible to link me to the lastest updated dumper scripts?
No need to (plus there are no updated scripts anymore), simply use Daemon's UFBE tool and select the SWBF2 option for the game and your good to go.

Note, to make it all extract fast, use a different HDD for extraction than the one your game resides.
After you selected the game and where to extract, select SWBF2
Then click scan Bundles, click ok after done, then click scan CAS/CAT also click ok after done
Also make sure you tick all option besides (show assets names with full path)
now hit DUMP and wait till it extracts/dumps everything.
Thanks for the info about UFBE.
However, trying to click on the "scan Bundles" gives me an EndOfStreamException. Am I missing something that I should have installed before?
Post Reply