Jump to content

Driveclub (PS4)


Recommended Posts

  • Engineer
Posted (edited)

You could use the parameters from the first picture here (H2O file for hex2obj).

0x2F3A72 8589
Vb1
44 16
0x120B84 20792
020000
0x0 255

 

Or use the bms script from h3x3r which produces 3 Index and 72 vertex buffers from the Camaro.

The real magic is in finding out which indices fit for which vertex blocks. I.e. finding the starting addresses of sub index blocks.

Camaro chassis

(Will need some fine tuning and scaling but basically it's the chassis.)

Camaro chassis scaling

Edited by shak-otay
  • Like 1
Link to comment
Share on other sites

  • Engineer
Posted (edited)

camaro_face_index_blocks_stopp_start

camaro_interior

Still dividing face index blocks manually...

 

edit: could anyone make sense of the IDs? Example:

|BODY_COL|BODY|BOOST_L2|BOOST_L2_EXTERIOR_ONLY

is addressed/linked to in two ways here

# 0xf946: 10000 449b 1 0 be8 #58 28 35 b6 4e f4 1e 0 58 0x1336e

by the ID #58 28 35 b6 4e f4 and by the offset 0x1336e.

There are other IDs (or signatures) which seem to mark  a (lod?) group, like 010057d12351.

Edited by shak-otay
  • Like 1
Link to comment
Share on other sites

  • Engineer
Posted (edited)

Couldn't find a sense of logic here: both face index blocks are far, far away from each other:

Camaro_checking_FI_blocks

 

A good trick is to find/reduce a vertex block to one module, such as the cabin here.  Then find the suiting face index block dependent on the vertex count of that module:

camaro cabin (and point cloud)

---------------

Chevi_Camaro-parts-missing

Edited by shak-otay
  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...
  • Engineer

My turn... LaFerrari FXXK but it missing 3 things.

Tires. I was able get only uv :(

Back glass. Same, only uv 😞

And lastly scale factor. Not sure where to get. I found one but it wasn't even close.

laferrari-fxxk.jpg

  • Like 1
Link to comment
Share on other sites

  • Engineer
Posted (edited)

I'm using an estimated scale factor of 2.2

btw, the connection between mesh names and vertex blocks - did you get them by using the ids?

If so, how?

Edited by shak-otay
Link to comment
Share on other sites

  • Engineer
Posted (edited)

As I said before it's stored in *.Mesh file.

For example file > ferrari_laferrari_fxxk\intermediates\vehicles\art\vehicles\ferrari_laferrari_fxxk\maya\ferrari_laferrari_fxxk_exportbackup.mb\_BODY_COL_BODY_BODYShape.Mesh

I have a template which prints info about vertex block and index block.

     Model Index: 0
Vertex Buffer Id: 4060042755
 Index Buffer Id: 3886391541
    Vertex Count: 12939
    Index Offset: 28
     Index Count: 120

    Vertex Count: 12895
    Index Offset: 268
     Index Count: 216

    Vertex Count: 12817
    Index Offset: 700
     Index Count: 1242

    Vertex Count: 12499
    Index Offset: 3184
     Index Count: 10584

    Vertex Count: 10210
    Index Offset: 24352
     Index Count: 18288

    Vertex Count: 6477
    Index Offset: 60928
     Index Count: 3168

    Vertex Count: 5328
    Index Offset: 67264
     Index Count: 1752

    Vertex Count: 4494
    Index Offset: 70768
     Index Count: 12822

    Vertex Count: 567
    Index Offset: 96412
     Index Count: 2016

So i combine 4060042755.VertexBuffer and 3886391541.IndexBuffer and print *.obj from given values. Index offset is header size 28 + given offset. Vertex offset/count doesn't matter since it's controlled by indices. I just print whole *.VertexBuffer.

Most messy thing there is stride order. For example stride 44 has 7 types.

 

EDiT: I just realized that there is also collision vertex buffer. So here we go... tire

image.thumb.png.2a43ef498d9fcf49724b930b5d7142d9.png

Also realized that collision has correct scale factor and it has a same amount of vertices/indices. But no uv or normals.

Edited by h3x3r
  • Thanks 1
Link to comment
Share on other sites

  • Engineer
Posted (edited)

Well it start to be tricky. I noticed that *.HierArchy is constructor for collision meshes. It has matrix4x4. Also collision meshes uses only 3 floats all the time. So there is no confusion in order type. But it lack uv's a normals somtimes.

So my best bet is output all collision meshes then extract uv's and merge it together. Which will be pain in ass without automation.

EDiT: So far so good... Collision mesh. Some parts must be corrected with matrix.

coll.jpg

Assembled...

coll0.jpg

Edited by h3x3r
  • Like 5
Link to comment
Share on other sites

  • 4 weeks later...
On 5/9/2024 at 8:23 AM, MichaelBFS said:

...Here is an example of an extracted car from Driveclub. Screenshot and in FBX format and textures in the archive link below.

example extracted car from Driveclub in FBX and textures:

https://www.mediafire.com/file/cv8wfb0yco1j2ih/Driveclub_ferrari_f40.zip/file

Driveclub_ferrari_f40Screen.jpg

Where did you get this extracted model? Any idea who did it?

Link to comment
Share on other sites

  • 2 months later...
  • 3 weeks later...
On 16.07.2024 at 12:34, h3x3r said:

Ну, это начинает быть сложным. Я заметил, что *.HierArchy - это конструктор для сеток столкновений. У него есть matrix4x4. Также сетки столкновений используют только 3 float все время. Так что нет путаницы в типе порядка. Но иногда ему не хватает uv и нормалей.

Так что мой лучший выбор - вывести все сетки столкновений, затем извлечь UV и объединить их вместе. Что будет головной болью без автоматизации.

EDiT: Пока все хорошо... Сетка столкновений. Некоторые части нужно исправить с помощью матрицы.

кол.jpg

Собрано...

coll0.jpg

Hi, I'm new to this topic and didn't quite understand what you did with the rpk file to convert it to a 3d model, I would be very grateful if you could tell me in more detail for beginners what can be done with the rpk to convert it to a 3d model. How working templates for 010 editor?

Link to comment
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...