The last couple of weeks, I spent some time playing ARK Survival Evolved. It is a great survival game, featuring some prehistorically based creatures which are simply STUNNING. The detail is amazing ingame, and in general the game graphics are simply EPIC.
The game was made in Unreal Engine 4, and afaik the company offers the full dev kit for modders to start creating and adding new stuff in the game. The game has an amazing potential on modding, and its up to the modders imagination to make the game even more beautiful than it already is.
Enough with the info 😛
As i mentioned the game was made in UE 4. UE 4 uses .uasset files which is obviously a binary and of course undocumented file format which is used by the engine to store literally everything. From textures, models and materials, to shaders, icons and skeletons. The good thing is that through the dev kit one can have access to all the stuff through the UE4 engine software. The bad thing about this is that its a 42 GB download + 4 GBs for the engine and of course this is the easy way, which of course nobody likes. There is also another tool called UE Viewer which unfortunately does not support any of the game files so far, although it is supposed to support UE 4 stuff…
So once again what I did was to quickly investigate the container format. It looks like it has a proper structure but it is not that easy to determine precisely because of the tons of different content that the asset contains. Fortunately i quickly figured out about the polygons formats and the texture formats and i am able to manually export textures and models out of those files (didn’t even bother examining other asset files).
Most textures are 2048×2048 size, but on the large creatures the game uses 4096×4096 textures. Its obvious that on quite crowded regions within the game, the vram is going to explode xD. You’ll need a really good GFX card in order to take advantage of the full game. Otherwise the 1024×1024 and 512×512 mipmaps will always work xD. The texture assets are quite consistent by providing all the possible mipmaps out of one image and in terms of the file format, for some reason the low res mipmaps are explicitly defined near the start of the file, and afterwards the highest 4 or 5 mipmaps are stored like they would normally do in a dds texture.
As for the models, they seem to provide 4 different LODs for each model in the game. The model assets should be containing mesh splits as well, but i wasn’t able to detect how this is done so far. Locating the vertex/uv/indices buffers was quite easy and this was how i managed to get the models into blender.
So here are some renders i did from some of the creatures i extracted:
You can notice some seams, on the pics above, its not a mistake or something. Those areas are probably overlapping during the animation, so they look normal ingame.
I can get pretty much all of them, but i just got what i thought it would be cool for now 😛
PS: If someone downloads those 42 GBs let me know because i want to cross check some stuff 😀