Jump to content
DerPopo

Unity Assets Bundle Extractor

Recommended Posts

wasnt that already known atleast its the same for the loadscrees and menu screen.

 

You are talking about the texture issue in v1.7 where it needed to be flipped vertically and the RGBA channels swapped. He fixed that problem in v1.8 and it is no longer an issue. He even mentioned it in his updated post:

 

Fixed exported texture's direction (converting Unity's 'bottom to top' to 'top to bottom')

 

If you use v1.8 or v1.8b to export one of the textures that had an issue before (e.g. loading screen, pimps logo or UI atlas) then it now exports correctly. You can also tell the mesh textures are correct as anything with text now reads correctly (e.g. the badge on the fat zombie cop reads "7D2D Chief Huenink Police").

 

7DtD-Fat-Zombie-Cop-Badge.png

 

There are two new problems that I am talking about in my posts above:

 

1) UVs need to be flipped/mirrored vertically (so it is the same problem that the textures had where Unity stores it bottom to top)

2) UVs are not correct in most of the rigged meshes (they are a large top or side plane projection instead of being laid out in the 0 to 1 space)

Share this post


Link to post
Share on other sites

I noticed that the UV channels sometimes have stream set to 1 and offset set to 0. In case of an example mesh (back_wheel from 7dtd's minibike), it detects 40 bytes per vertex (3 position, 3 normal and 4 tangent floats). The remaining 'streamed' 8 bytes (uv coordinates) seem to be at the end of the vertex data buffer.

Share this post


Link to post
Share on other sites

Many thanks DerPopo... somehow I missed your post (only noticed it now a week later heh).

 

I will check it out again.

 

Cheers!

Share this post


Link to post
Share on other sites

It doesn't work perfectly for all meshes right now because I was a bit confused about where the UV data begin. If there is such a file that looks almost but not completely correct, you can add it with a text editor, search for a line starting with "f" and add "vt 0 0" once (or twice if it isn't better) before it and do that for all submeshes in that file. Then only the last or the two last UV coordinates will be wrong but the rest should be correct.

I will look into fixing that soon.

Share this post


Link to post
Share on other sites
It doesn't work perfectly for all meshes right now because I was a bit confused about where the UV data begin. If there is such a file that looks almost but not completely correct, you can add it with a text editor, search for a line starting with "f" and add "vt 0 0" once (or twice if it isn't better) before it and do that for all submeshes in that file. Then only the last or the two last UV coordinates will be wrong but the rest should be correct.

I will look into fixing that soon.

 

Ok thanks for the information. So far I have not noticed a problem with the UVs with this new update.

 

7DtD-Zombie-Dog-3ds-Max-UVs.png

 

I have found another issue though: if I try and extract the file called "WoodenDoorController" (AnimationController... path ID 5595) the program exits.

 

Would REALLY like to see that file extract as I am working on adding an opening and closing garage door. I can use "Export Raw" fine but "Export Dump" causes the program to stop responding for a minute, then it will show the file dialog, go through the motion of saving and instantly exit without any error. The file it creates is 0 bytes.

 

The same thing happens if I try and "Export Dump" any of the AnimationController files. Funny thing is, if I create my own asset file with an AnimationController in it then your program extracts it fine.

 

Thanks again for your work on this program. :)

Share this post


Link to post
Share on other sites

It seems like there were some changes to the AnimatorController type between 5.0.1f1 and 5.2.0f3 and neither of both databases seem to have the correct type for 7dtd's Unity version. I'll create a type database for it.

I will look into adding my tool that generates the type database from a player .exe to the next release (or into a separate zip because it relies on injecting a .dll into the player which might look like a virus to some anti-virus programs).

Share this post


Link to post
Share on other sites
It seems like there were some changes to the AnimatorController type between 5.0.1f1 and 5.2.0f3 and neither of both databases seem to have the correct type for 7dtd's Unity version. I'll create a type database for it.

I will look into adding my tool that generates the type database from a player .exe to the next release (or into a separate zip because it relies on injecting a .dll into the player which might look like a virus to some anti-virus programs).

 

Yesterday I got my animated garage door working. It is based on the devs DoorSecure class and uses their AnimationController states and parameters (i.e. IsOpen and OpenTrigger).

 

7DtD-Door-AnimationController-1-Small.png

 

I can confirm that there is some difference in Unity with the AnimationController from v5.1.1 to v5.2.0... when I created the AnimationController in v5.1 and added it to my prefab it worked great. Took the same Unity package, built it on v5.2 and the game crashes.

Share this post


Link to post
Share on other sites
It seems like there were some changes to the AnimatorController type between 5.0.1f1 and 5.2.0f3 and neither of both databases seem to have the correct type for 7dtd's Unity version. I'll create a type database for it.

I will look into adding my tool that generates the type database from a player .exe to the next release (or into a separate zip because it relies on injecting a .dll into the player which might look like a virus to some anti-virus programs).

 

Yesterday I got my animated garage door working. It is based on the devs DoorSecure class and uses their AnimationController states and parameters (i.e. IsOpen and OpenTrigger).

 

7DtD-Door-AnimationController-1-Small.png

 

7DtD-GarageDoorNew1-1-Small.jpg

 

I can confirm that there is some difference in Unity with the AnimationController from v5.1 to v5.2... when I created the AnimationController in v5.1 and added it to my prefab it worked great. Took the same Unity package, built it on v5.2 and the game either crashes or won't load the block.

  • Like 1

Share this post


Link to post
Share on other sites
Created a Unity 5.1.1p3 type database for A12.5. The download link is on the thread post.

 

Thankyou VERY much DerPopo... it works great as the file that previously could not be extracted (WoodenDoorController) now extracts.

 

As for the UV issue: found a mesh earlier (engine_small) that had problems, made the edit as you suggested and then it was fine except for one stray UV vert (just as you also mentioned).

 

Again, thanks for your work.

Share this post


Link to post
Share on other sites

UABE supports imports to .assets files (for Texture2D, TextAsset and MovieTexture). If you want to modify a bundle file, you first have to export the .assets file and import the modified one back in.

Share this post


Link to post
Share on other sites

How I can use this tool to extract all textures as png? It is very hard to select each file and click on plugins -> save as png ...

I hope you have an option for extract all data :)

Share this post


Link to post
Share on other sites
There is a new type database (classdata_0E) which was created from Unity 5.2.0f3 mainly because the texture formats aren't compatible. For 7dtd, the old type database (classdata_0E.5.0.1f) is required. Just replace classdata_0E with the old one and it should work.

 

I tried this and it keeps crashing as Matite posted.

 

I have tried the 1.7 64 bit, the 1.8c 64 bit, and done what you suggested yet it still crashes.

 

I got the textures from resources.assets and not sharedassets0.assets

 

 

Vote h0tr0d 2016 -- an asset to humanity

Share this post


Link to post
Share on other sites

Alpha 13 uses a Unity 5.2 build so you now need the newer type database. It seems to work for textures.

There seem to be some more changes so I might have to make an update soon.

Share this post


Link to post
Share on other sites

yeah, I used all 3 to try... one worked once and I got the Textures out of the resources.assests..now none work:)

 

 

Vote h0tr0d 2016 -- give me 3 steps mister

Share this post


Link to post
Share on other sites

Is it possible to edit text asset in mainData with this tool. I opened mainData file (it opens in Info mode) and I am able to explore it and export assets from it but I can't figure out how to change asset in mainData or import asset to mainData. I tried UAE but it doesn't find all the assets in mainData. If its not possible to edit/import to mainData with this tool, is there another tool that can do it?

Edited by ivailogeimara (see edit history)

Share this post


Link to post
Share on other sites

Nvm. Figured it out. I was confused because when I clicked save, it made 1.6G file but mainData is 3M. Then however I found that it opened all the assets in the directory where mainData is for some reason.

Share this post


Link to post
Share on other sites

It does open all .assets files in the folder because mainData references these. mainData contains the directory names for many assets which improves the names shown.

Share this post


Link to post
Share on other sites

V1.8.1 has been released. It supports Unity 5.3 bundles and adds compression options for the class databases (LZMA is used by default).

Unity 5.3 seems to have renamed mainData by globalgamemanagers (the file without an ending) in case you wonder where mainData is.

Share this post


Link to post
Share on other sites

V1.9 has been released. There now is an improved 5.3 bundle support, a new type database bundle file format, support for many new texture file formats and more.

 

MSVC++ 2013 redistributable is required for the support of mobile compressed textures. The program will still work as usual if it isn't installed but will show a warning message (instead of "msvcr120.dll is missing", which would suggest to go to some untrustworthy dll download site).

Edited by DerPopo (see edit history)

Share this post


Link to post
Share on other sites

I don't use your program and have no idea how it works but from just reading the posts I can (sort of :)) tell how much work you are putting in to it and fixing the problems people are having.

I salute you and your efforts to make this game better than it already is.

 

 

(You can't see me but I am saluting)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...