Page 1 of 1

EA NHL Renderware Animation skin (X360)

Posted: Wed Sep 07, 2022 1:41 pm
by Beedy
Hi,
I have been trying to figure out how to read bones in Noesis but I can't understand the logic. The file is skeleton bind pose animation skin which consists of pose translation values in 3x4 matrix. I found source for spore RWAnimationSkin which seems same but different endianness but is there anyone here who can help further?
https://github.com/emd4600/SporeModder- ... nSkin.java

offsets:
0x140 = boneCount?
0x150 = translation values in float
skeleton_bindpose_player.rx2.zip
Rx2 3d model files have bind bone indices and bind bone weights values for each vertex block but Noesis can't assign it if the model doesn't contain any skeleton.

Re: EA NHL Renderware Animation skin (X360)

Posted: Wed Sep 07, 2022 9:41 pm
by grandshot
You can try this:
1. Decomposite bind pose matrices to position, scale, rotation.
2. Create model, make bones by hierarchy ids from model file and transforms of bones getted on step one.
3. Attach model to scel and applying weights.

Re: EA NHL Renderware Animation skin (X360)

Posted: Thu Sep 08, 2022 8:30 am
by Beedy
grandshot wrote: Wed Sep 07, 2022 9:41 pm You can try this:
1. Decomposite bind pose matrices to position, scale, rotation.
2. Create model, make bones by hierarchy ids from model file and transforms of bones getted on step one.
3. Attach model to scel and applying weights.
Thank you!
Do you have any Noesis examples for this?
Here is simple model+animation skin file and Noesis script to load the model.

Edit: BW and BI enums changed. BW = UBYTE4N and BI = UBYTE4
female_0_4.zip

Re: EA NHL Renderware Animation skin (X360)

Posted: Thu Sep 08, 2022 10:59 am
by shakotay2
@Beedy:
rx2t: #modified test file female_0_4 not real rx2 file
What did you modify?

Re: EA NHL Renderware Animation skin (X360)

Posted: Thu Sep 08, 2022 11:10 am
by Beedy
shakotay2 wrote: Thu Sep 08, 2022 10:59 am @Beedy:
rx2t: #modified test file female_0_4 not real rx2 file
What did you modify?
I removed some header data before but nothing for the data buffers. I thought the data is easier to read this way.
I edited datatypes in the script before:
Indices are UBYTE4
Weights are UBYTE4n (D3DDECLTYPE_UBYTE4N = 8, // Each of 4 bytes is normalized by dividing to 255.0)

Re: EA NHL Renderware Animation skin (X360)

Posted: Thu Sep 08, 2022 11:25 am
by shakotay2
So then all we know about the skeleton is in the data before offset 0x670 in that female_0_4.rx2t?

That would mean there's 82 assumed bones (or 99?). With 16 bytes each containing transform data, I guess (3 big endian floats + DWORD 0).
But no bone names, no hierarchy. Strange.

Last year JimmyJ wrote here
JimmyJ wrote: Tue Jun 08, 2021 6:11 am
"but all characters have a same model, but ingame it was other geometry,"

Maybe there's only one basic skeleton for all, or something like this.
So you'll need to find that skeleton file (whit names and hierarchy).

Re: EA NHL Renderware Animation skin (X360)

Posted: Thu Sep 08, 2022 11:44 am
by Beedy
Here's the original one:
female_0_4.zip
There are only render ware filetypes listed in 0x50 to 0x150
Vertex descriptor in 0x150 to 0x1A0
Vertex data header 0x1A0 to 0x1D4
Face data header 0x1A0 to 0x200
Animation skin 0x200 ->
File list table 0x8dC to 0x9A0

I have explored all the file paths but none of skeleton files hasn't been found in the game.

Re: EA NHL Renderware Animation skin (X360)

Posted: Thu Sep 08, 2022 11:54 am
by Beedy
I found that crowd_fxo (female 0_4 is in crowd) files from fxo shaders folder which may be contains some interesting data:
shaders.zip

Re: EA NHL Renderware Animation skin (X360)

Posted: Thu Sep 08, 2022 12:12 pm
by Beedy
There are also cba animation files in the game:
Could the bones be there:
https://imgur.com/T6OvuHk
https://app.box.com/s/6lh3ebqysnoo3qqdxd9k27tle6bwhc1w

Re: EA NHL Renderware Animation skin (X360)

Posted: Thu Sep 08, 2022 4:57 pm
by shakotay2
At least bone names! And a maybe hierarchy table. The rest is hard to track. I'd suggest giving it a structure searching for 05620E03 (or "GD.DATAl", less findings):
.
crowd_cba_3.png

Code: Select all

address 0xcb928:
57961  8151 26840  6476 38244 39486  5200 33375 rotation/translation?
47292   985 11953 40514 44372 42318 62232 60143 ???

address 0xcb9a4:
13303  7107 24379 13126 39384  4786 19317 37673 rotation/translation?
47292   985 11953 40514 44372 42318 62232 60143 ??? 

address 0xcba24:
53986 13536 40206 22851 43642 19751 63222 53108 rotation/translation?
47292   985 11953 40514 44372 42318 62232 60143 ???

Re: EA NHL Renderware Animation skin (X360)

Posted: Fri Sep 09, 2022 12:46 am
by grandshot
The crowd.cba file definitely is chunk package with some meta data. I started to write the template for 010 editor for easy parsing.
graf_renderware4_cba.zip
Easy, right :mrgreen:
Structure of GD.DATAl chunks is nasty. Sort out of that would be not easy.