Jump to content

Horizon Forbidden West [PS4/PS5]


Recommended Posts

  • Engineer
Posted (edited)

Horizon Forbidden West tool.

There are versions for PS4 and PS5.
Extracts all (or almost all) characters/robots with skeletons, animations and textures, also static meshes.

e80MFDs.png

zainRq9.png

QvjNQqO.png

 

h2_ps4.7ziph2_ps5.7zip

Edited by id-daemon
added PS5 version
  • Like 3
  • Thanks 3
  • Engineer
Posted (edited)

Asset lists for both PS4 & PS5 versions. Here's how they work:

  • body variants - describe each and every variation of human characters. More than 1000. You can export and combine them to get actual combinations
  • controlled entities - all robots are actially those. Also animals and a few other things. I did not check them all, so some of them are still under question, but all robots are there
  • faces - or heads - self-explanatory
  • outfits - aloy outfits. Hopefully these are all, got them automatically. some may be missing
  • all_assets_ps5 is the main game asset tree partially decoded. It contains useful info about most interesting parts. For example, detailed description of all robots, body variants, and other skeletal meshes

For example, if you need a face or outfit, you just use the number from the list. But if you need to get a full robot, you need to search for its code in all_assets_ps5 file to find its model parts, skeletons, helpers, destructibles etc. Note that there's no such thing as complete robot description in the game. Robot is a combination of its "entity", model, and other parts. Some robots use same entity, but a little different model (such as horse and goat). Some use same model, but spawns with different destructible parts. It all can be found in the tree. Same if you need a body combined, search for its code and get codes for all its parts

An example spawn setup for a robot:

B85
SpawnSetup:
  Entity ---> 55C 7D
  Entitycomponent ---> 4E7 D SkinnedModelResource
  Entitycomponent ---> 55C 43 RagdollComponentResource
  Entitycomponent ---> B80 3 DestructibilityResource
AI context = CONTEXT_ARMADILLO_WALK

In this example, setup tells the game to spawn an entity 55C (which is armadillo), with a ragdoll also from package 55C, destructible parts described in B80, and a model from 4E7.
Ragdoll - will have physics skeleton.
Destructibility resource - will have destructible parts description, or links to where they are.
Model will have main skeleton, helpers, and all meshes:

4E7
SkinnedModelResource:
  Modelpart 4E7 2F
  Modelpart 4E7 9F
  Modelpart 4E7 56
     ....
  Modelpart 4E7 6F
  Modelpart 4E7 1F4
  Modelpart 4E7 118
  SkeletonHelpers 4E7 11F
  SkeletonHelpers 4E7 7F
  SkeletonHelpers 4E7 2BF
  Skeleton ---> 4E7 0

Here we can see that skeleton, helpers, and all parts are in the same package - 4E7, but its not always like that.

hfw_ps4_lists.7ziphfw_ps5_lists.7zip

Edited by id-daemon
  • Like 5
  • Thanks 3
Posted

I sorry but can I ask how to use this tool I out of idea. I have extract the pkg. I have lot of stream file in package folder. What I try is "h2_extr.exe 13C" but get me a error.

  • Engineer
Posted
5 hours ago, kovace said:

I sorry but can I ask how to use this tool I out of idea. I have extract the pkg. I have lot of stream file in package folder. What I try is "h2_extr.exe 13C" but get me a error.

what is the error?

Posted

Maybe is from my part I do something wrong and I do wrong don't give the right info. So here what I understand.

Extract PKG.

Put oo2core_8_win64 in the folder with Stream file.

On cmd get: h2_extr.exe BA1 just for test I don't know what is

And here the error

Unhandled Exception: System.IO.DirectoryNotFoundException: Could not find a part of the path 'G:\Proc\Newand\HFWE\uroot\localcachepink\packagepackage\streaming_graph.core'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
   at ?????????????????????????????????????????.?????????????????????????????????????????(String[] )

Maybe is the folder wrong or to long name

Posted

-.- yep small brain. I try (package) (uroot) but never localcachepink. Thank you for answering so fast. Work like charm...for 1. Now is any way to use the list you provide to get all together extract?

  • Engineer
Posted (edited)
49 minutes ago, gamer19771356 said:

Hello and thanks for this tool. Is there a list of all the animations?

A list of morpheme animations (Aloy) with all names and types is created by the tool when you use it. For edge animations i dont remember.

Edited by id-daemon
  • Like 2
  • Engineer
Posted
On 11/6/2023 at 9:12 PM, kovace said:

 Now is any way to use the list you provide to get all together extract?

Robots and outfits require multiple passes. So you can di batch extract, but for testing only. They will be incomplete. 

  • Engineer
Posted
21 hours ago, gamer19771356 said:

I can't open Ascii files with noesis either

This is probably because for skeletal meshes you need copy paste the skeleton. This was explained with horizon zero tool, and unfortunately missing here in new tool description. 

  • Like 1
  • Thanks 1
  • 2 months later...
  • 2 months later...
Posted

 

Just wondering, is there any way to find out the assets' IDs for a specific character? For example, for Alva (or enyone else)? In HzD there were specific (and recognizable) names (like "eugene" for Helis or "hannah" for Aloy). 

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...