Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Forza Motorsport Resource Extraction (.carbin)

Post questions about game models here, or help out others!
bigBear
mega-veteran
mega-veteran
Posts: 183
Joined: Thu Oct 08, 2009 7:51 pm
Has thanked: 6 times
Been thanked: 10 times

Re: Forza Motorsport Resource Extraction (.carbin)

Post by bigBear »

Wow, after a few years not viewing the forum, there is finally some breakthrough in Forza files! Awesome!

However, I am on Windows7 Home x64 and have downloaded FH3 for cars.
The file is eappx. Anyone can explain how to unpack it or is it difficult?
Or anyone can upload all cars? Probably too much to ask.
minime891
advanced
Posts: 62
Joined: Sat Apr 10, 2010 7:43 pm
Has thanked: 24 times
Been thanked: 33 times

Re: Forza Motorsport Resource Extraction (.carbin)

Post by minime891 »

shakotay2 wrote:
minime891 wrote:On import the scale i use is 0.7813. As you can see in the picture below it's spot on with the old forza model.
dunno, if you know: 0.078125 = 200.0/256.0, btw

Since a scale of 0.02 was my suggested scale for blender import I used 4.0/256.0
Sorry i must have missed that post. Good to know now anyway thanks. :D :)
User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 4284
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 1146 times
Been thanked: 2242 times

Re: Forza Motorsport Resource Extraction (.carbin)

Post by shakotay2 »

zimex25 wrote:@shakotay2 Did you plane, updata your tool with lods extracted?
all lods ARE extracted. Guess you mean "with lods handled separately" or something like that.
As soon as I know a simple method how to get the material counts for the lods I'll try to understand "groups and parenting".
minime891 wrote:Sorry i must have missed that post. Good to know now anyway thanks. :D :)
nope, you didn't miss anything. :D
I just wanted to express that I followed your scaling rule. Now.

------------------
btw: version jms seems to do an unwanted texture mirroring; tried to fix it -> version jmsc
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
User avatar
Andrakann
ultra-veteran
ultra-veteran
Posts: 392
Joined: Wed Jul 06, 2011 8:47 am
Location: Russia
Has thanked: 967 times
Been thanked: 192 times
Contact:

Re: Forza Motorsport Resource Extraction (.carbin)

Post by Andrakann »

shakotay2 wrote:I had been hoping someone else (other than Andrakann and me) would take up the skeleton.modelbin analysing for example.
(It's small files so should not be too hard.)
It's really not hard :D
If you mean Skel data in modelbins.
First WORD of data block is number of bones, then DWORD with name lenght for first bone, then name of this bone, then some bytes looks like connection order, then ~4 coordinate for each bone. And again - DWORD with bone name lenght, name itself, etc.
Main problem here is connection to meshes, bone names doesn't match mesh names, so i have no idea how to connect single meshes or complete meshbins to that bones.
How bones looks like splitted to separate files, starting from name lenght DWORD:
Image
(ignore text zeroes here, i add them to end of names for better formatting by DWORDs)
dimon4ik6565
n00b
Posts: 17
Joined: Sun Apr 22, 2012 3:48 pm
Has thanked: 8 times
Been thanked: 5 times

Re: Forza Motorsport Resource Extraction (.carbin)

Post by dimon4ik6565 »

Andrakann wrote:so i have no idea how to connect single meshes or complete meshbins to that bones.
meshes like doors, hood, trunk, etc have dummy, i think just need to know coords of bones then give this pos to dummies, somthing like that?
User avatar
Andrakann
ultra-veteran
ultra-veteran
Posts: 392
Joined: Wed Jul 06, 2011 8:47 am
Location: Russia
Has thanked: 967 times
Been thanked: 192 times
Contact:

Re: Forza Motorsport Resource Extraction (.carbin)

Post by Andrakann »

dimon4ik6565 wrote:meshes like doors, hood, trunk, etc have dummy, i think just need to know coords of bones then give this pos to dummies, somthing like that?
Dummies can be created at skeleton coordinates, yes.
If you then look at those dummies, figure out which where, then manually align pivot points of misplaced parts to them - you can complete model.
But for pre-align at convert stage, we need some clues, or, maybe, make an "atlas" of connections (or find where it is in game).
Something like: "doorHandleLF_a" aligns to "boneDoorLF coordinates #1 (2,3,4?)".
And repeat this for every sub-part name, but atm those sub-parts doesn't have ingame names.

PS: AFAIK, obj-format can't store skeletal information, so, only pre-aligning parts to it's skeletal coordinates can be made as maximum.
User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 4284
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 1146 times
Been thanked: 2242 times

Re: Forza Motorsport Resource Extraction (.carbin)

Post by shakotay2 »

sry, forget to mention that I logged already skeleton data 3 weeks ago;
would have made an smd from it but was too busy with dozens of other issues.
strange skeleton, most bones "parented to 01 00"? (=1, root)
Couldn't make sense of the assumed parenting (words), for example hubLF: 01 00 07 00 08 00,
hubLR: 01 00 09 00 0A 00, why 3 numbers?


Bone numbers from 0 to 36, seems to be ok.

Code: Select all

# CAD_ATSV_16\scene\CAD_ATSV_16_skeleton.modelbin
     66: <root>: FF FF 01 00  FF FF 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
0.000000 0.000000 0.000000 1.000000 

------------------------------
     b2: root: 00 00 02 00  FF FF 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
0.000000 0.000000 0.000000 1.000000 

------------------------------
     fc: controlArm_LF: 01 00 FF FF  03 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
-0.691073 0.085114 1.386332 1.000000 

------------------------------
    14f: controlArm_LR: 01 00 FF FF  04 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
-0.690358 0.153586 -1.386270 1.000000 

------------------------------
    1a2: controlArm_RF: 01 00 FF FF  05 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
0.691327 0.085026 1.386208 1.000000 

------------------------------
    1f5: controlArm_RR: 01 00 FF FF  06 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
0.690148 0.153586 -1.386270 1.000000 

------------------------------
    248: hubLF: 01 00 07 00  08 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
-0.691073 0.085114 1.386332 1.000000 

------------------------------
    293: spindleLF: 06 00 FF FF  FF FF 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
0.000000 -0.000000 -0.000000 1.000000 

------------------------------
    2e2: hubLR: 01 00 09 00  0A 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
-0.690358 0.153586 -1.386270 1.000000 

------------------------------
    32d: spindleLR: 08 00 FF FF  FF FF 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
0.000000 -0.000000 0.000000 1.000000 

------------------------------
    37c: hubRF: 01 00 0B 00  0C 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
0.691327 0.085026 1.386208 1.000000 

------------------------------
    3c7: spindleRF: 0A 00 FF FF  FF FF 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
-0.000000 -0.000000 -0.000000 1.000000 

------------------------------
    416: hubRR: 01 00 0D 00  0E 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
0.690148 0.153586 -1.386270 1.000000 

------------------------------
    461: spindleRR: 0C 00 FF FF  FF FF 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
-0.000000 -0.000000 0.000000 1.000000 

------------------------------
    4b0: boneDoorLF: 01 00 FF FF  0F 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
-0.000000 0.000000 1.000000 0.000000 
-0.810909 0.601393 0.740850 1.000000 

------------------------------
    500: boneDoorRF: 01 00 FF FF  10 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
-0.000000 0.000000 1.000000 0.000000 
0.810909 0.601394 0.740850 1.000000 

------------------------------
    550: boneFuel: 01 00 FF FF  11 00 
0.650012 0.709451 0.272331 0.000000 
-0.759924 0.606838 0.232942 0.000000 
0.000000 -0.358366 0.933581 0.000000 
-0.258968 0.731273 0.525613 1.000000 

------------------------------
    59e: boneSpeed: 01 00 FF FF  12 00 
-0.652339 0.707587 0.271615 0.000000 
-0.757927 -0.609012 -0.233776 0.000000 
-0.000000 -0.358366 0.933581 0.000000 
-0.365292 0.734000 0.527653 1.000000 

------------------------------
    5ed: boneTach: 01 00 FF FF  13 00 
-0.852782 0.487578 0.187163 0.000000 
-0.522267 -0.796141 -0.305608 0.000000 
0.000000 -0.358366 0.933581 0.000000 
-0.462672 0.719470 0.525583 1.000000 

------------------------------
    63b: boneWater: 01 00 FF FF  14 00 
0.207126 0.913335 0.350595 0.000000 
-0.978314 0.193369 0.074227 0.000000 
-0.000000 -0.358367 0.933581 0.000000 
-0.258968 0.710773 0.517744 1.000000 

------------------------------
    68a: boneHood: 01 00 15 00  19 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
-0.000000 0.000000 1.000000 0.000000 
0.000004 0.800358 0.860746 1.000000 

------------------------------
    6d8: boneHingeLower: 14 00 FF FF  16 00 
-0.001071 -0.899315 0.437300 0.000000 
-0.002202 0.437302 0.899312 0.000000 
-0.999997 -0.000000 -0.002449 0.000000 
0.000102 -0.042629 0.011037 1.000000 

------------------------------
    72c: boneHingeUpper: 14 00 FF FF  17 00 
-0.000558 -0.376114 0.926573 0.000000 
-0.000227 0.926574 0.376114 0.000000 
-1.000000 -0.000000 -0.000603 0.000000 
0.000082 -0.052652 0.043420 1.000000 

------------------------------
    780: boneStrutUpperL: 14 00 FF FF  18 00 
0.069565 -0.172079 0.982624 0.000000 
0.012152 0.985083 0.171650 0.000000 
-0.997503 0.000000 0.070618 0.000000 
-0.681623 -0.124229 0.309587 1.000000 

------------------------------
    7d5: boneStrutUpperR: 14 00 FF FF  FF FF 
-0.064924 -0.185745 0.980451 0.000000 
-0.012273 0.982598 0.185339 0.000000 
-0.997814 -0.000000 -0.066074 0.000000 
0.679571 -0.120329 0.311625 1.000000 

------------------------------
    82a: boneStrutLowerL: 01 00 FF FF  1A 00 
-0.069565 0.172079 -0.982624 0.000000 
0.012152 0.985083 0.171650 0.000000 
0.997503 -0.000000 -0.070618 0.000000 
-0.660438 0.623733 1.469530 1.000000 

------------------------------
    87f: boneStrutLowerR: 01 00 FF FF  1B 00 
0.064924 0.185745 -0.980451 0.000000 
-0.012273 0.982598 0.185339 0.000000 
0.997815 -0.000000 0.066074 0.000000 
0.659897 0.623733 1.469531 1.000000 

------------------------------
    8d4: boneSteeringWheelSpindle: 01 00 FF FF  1C 00 
0.000000 0.955596 0.294682 0.000000 
-1.000000 0.000000 0.000000 0.000000 
0.000000 -0.294681 0.955596 0.000000 
-0.365412 0.694274 0.254005 1.000000 

------------------------------
    932: boneTrunk: 01 00 FF FF  1D 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
-0.000000 0.000000 1.000000 0.000000 
0.000000 0.865552 -1.705526 1.000000 

------------------------------
    981: boneWiperL: 01 00 1E 00  1F 00 
0.963946 0.167025 -0.207151 0.000000 
-0.012095 0.805169 0.592922 0.000000 
0.265824 -0.569039 0.778160 0.000000 
-0.569193 0.734656 0.940190 1.000000 

------------------------------
    9d1: boneWiperL_blade: 1D 00 FF FF  FF FF 
0.960683 -0.002536 0.277638 0.000000 
0.002406 0.999997 0.000810 0.000000 
-0.277639 -0.000110 0.960686 0.000000 
0.505062 0.012989 0.048512 1.000000 

------------------------------
    a27: boneWiperR: 01 00 20 00  21 00 
0.990009 0.059244 -0.127956 0.000000 
0.006801 0.886333 0.462998 0.000000 
0.140841 -0.459243 0.877075 0.000000 
-0.075313 0.750955 0.956166 1.000000 

------------------------------
    a77: boneWiperR_blade: 1F 00 FF FF  FF FF 
0.994460 -0.097662 -0.038892 0.000000 
0.097735 0.995213 -0.000012 0.000000 
0.038707 -0.003789 0.999243 0.000000 
0.531075 -0.003224 -0.023927 1.000000 

------------------------------
    acd: rotorLF_center: 01 00 FF FF  22 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 -0.000000 -1.000000 0.000000 
0.000000 1.000000 -0.000000 0.000000 
0.036352 -0.000146 0.000000 1.000000 

------------------------------
    b21: rotorLR_center: 01 00 FF FF  23 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 -0.000000 -1.000000 0.000000 
0.000000 1.000000 -0.000000 0.000000 
0.051640 -0.000000 0.000000 1.000000 

------------------------------
    b75: rotorRF_center: 01 00 FF FF  24 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 -0.000000 -1.000000 0.000000 
0.000000 1.000000 -0.000000 0.000000 
0.036098 -0.000146 0.000000 1.000000 

------------------------------
    bc9: rotorRR_center: 01 00 FF FF  FF FF 
1.000000 0.000000 0.000000 0.000000 
0.000000 -0.000000 -1.000000 0.000000 
0.000000 1.000000 -0.000000 0.000000 
0.049721 -0.000000 0.000000 1.000000 
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
dimon4ik6565
n00b
Posts: 17
Joined: Sun Apr 22, 2012 3:48 pm
Has thanked: 8 times
Been thanked: 5 times

Re: Forza Motorsport Resource Extraction (.carbin)

Post by dimon4ik6565 »

Andrakann wrote:Dummies can be created at skeleton coordinates, yes.
Dummies already created as can i see. But in wrong coords. (0, 0, 0)
Andrakann wrote:If you then look at those dummies, figure out which where, then manually align pivot points of misplaced parts to them - you can complete model.
Yes I know that, that's what i write in post before.
User avatar
Andrakann
ultra-veteran
ultra-veteran
Posts: 392
Joined: Wed Jul 06, 2011 8:47 am
Location: Russia
Has thanked: 967 times
Been thanked: 192 times
Contact:

Re: Forza Motorsport Resource Extraction (.carbin)

Post by Andrakann »

shakotay2 wrote:sry, forget to mention that I logged already skeleton data 3 weeks ago;

Code: Select all

# CAD_ATSV_16\scene\CAD_ATSV_16_skeleton.modelbin
     66: <root>: FF FF 01 00  FF FF 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
0.000000 0.000000 0.000000 1.000000 

------------------------------
     b2: root: 00 00 02 00  FF FF 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
0.000000 0.000000 0.000000 1.000000 

------------------------------
     fc: controlArm_LF: 01 00 FF FF  03 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
-0.691073 0.085114 1.386332 1.000000 

------------------------------
    14f: controlArm_LR: 01 00 FF FF  04 00 
1.000000 0.000000 0.000000 0.000000 
0.000000 1.000000 0.000000 0.000000 
0.000000 0.000000 1.000000 0.000000 
-0.690358 0.153586 -1.386270 1.000000 
Oh, now it's clearier where to find this "skeleton.modelbin" :)
But you have strange numbers in front of bones in list.
Skeleton part of "skeleton.modelbin" is identical to Skel part in other modelbins for the same car.
But there's also Modl and BBox added.

Most interesting thing here it's a .gr2 copy of this skeleton, located in same folder. I have Granny Viewer and this .gr2 file loads just fine.
Now we can see how this skeleton looks like:
Image Image Image

I also found some sort of "atlas" we need:
Image
But i can extract only the right part of this list from memory dump, and only text is here, separated by 00h bytes.
I replaced those zeroes to line end symbols and attached result as text list.

PS: Done quick sorting for this list, more detailed sorting and structuring can be done easy enough, if need.
https://docs.google.com/spreadsheets/d/ ... sp=sharing
You do not have the required permissions to view the files attached to this post.
User avatar
Andrakann
ultra-veteran
ultra-veteran
Posts: 392
Joined: Wed Jul 06, 2011 8:47 am
Location: Russia
Has thanked: 967 times
Been thanked: 192 times
Contact:

Re: Forza Motorsport Resource Extraction (.carbin)

Post by Andrakann »

dimon4ik6565 wrote:
Andrakann wrote:Dummies can be created at skeleton coordinates, yes.
Dummies already created as can i see. But in wrong coords. (0, 0, 0)
Andrakann wrote:If you then look at those dummies, figure out which where, then manually align pivot points of misplaced parts to them - you can complete model.
Yes I know that, that's what i write in post before.
Dummy is an "empty" object, placeholder for coordinate.
We have only objects itself, detached from skeleton.
dimon4ik6565
n00b
Posts: 17
Joined: Sun Apr 22, 2012 3:48 pm
Has thanked: 8 times
Been thanked: 5 times

Re: Forza Motorsport Resource Extraction (.carbin)

Post by dimon4ik6565 »

hmm. found application which can convert gr2 files to DAE. looks nice.
IMG_2017_02_05_0001.PNG
User avatar
Andrakann
ultra-veteran
ultra-veteran
Posts: 392
Joined: Wed Jul 06, 2011 8:47 am
Location: Russia
Has thanked: 967 times
Been thanked: 192 times
Contact:

Re: Forza Motorsport Resource Extraction (.carbin)

Post by Andrakann »

I think it's this application (working link on last page of topic), latest granny.dll seems to be required, found here (archive pass: metin2dev)(topic).
DAE format have ASCII xml structure inside, so we can compare results:

Code: Select all

     fc: controlArm_LF: 01 00 FF FF  03 00
1.000000 0.000000 0.000000 0.000000
0.000000 1.000000 0.000000 0.000000
0.000000 0.000000 1.000000 0.000000
-0.691073 0.085114 1.386332 1.000000

------------------------------
    14f: controlArm_LR: 01 00 FF FF  04 00
1.000000 0.000000 0.000000 0.000000
0.000000 1.000000 0.000000 0.000000
0.000000 0.000000 1.000000 0.000000
-0.690358 0.153586 -1.386270 1.000000 

Code: Select all

          <node id="Bone_controlArm_LF" name="controlArm_LF" sid="controlArm_LF" type="JOINT">
            <matrix sid="Transform">
1.000000 0.000000 0.000000 -0.691073
0.000000 1.000000 0.000000 0.085114
0.000000 0.000000 1.000000 1.386332
0.000000 0.000000 0.000000 1.000000</matrix>
          </node>
          <node id="Bone_controlArm_LR" name="controlArm_LR" sid="controlArm_LR" type="JOINT">
            <matrix sid="Transform">
1.000000 0.000000 0.000000 -0.690358
0.000000 1.000000 0.000000 0.153586
0.000000 0.000000 1.000000 -1.386270
0.000000 0.000000 0.000000 1.000000</matrix>
(i formatted matrix nodes here by lines)

Attached 2 skeletons converted to dae.
You do not have the required permissions to view the files attached to this post.
Last edited by Andrakann on Sun Feb 05, 2017 12:08 pm, edited 2 times in total.
User avatar
Andrakann
ultra-veteran
ultra-veteran
Posts: 392
Joined: Wed Jul 06, 2011 8:47 am
Location: Russia
Has thanked: 967 times
Been thanked: 192 times
Contact:

Re: Forza Motorsport Resource Extraction (.carbin)

Post by Andrakann »

dimon4ik6565 wrote:hmm. found application which can convert gr2 files to DAE. looks nice.
Now you have the dummies for aligning parts manually ;)
dimon4ik6565
n00b
Posts: 17
Joined: Sun Apr 22, 2012 3:48 pm
Has thanked: 8 times
Been thanked: 5 times

Re: Forza Motorsport Resource Extraction (.carbin)

Post by dimon4ik6565 »

Andrakann wrote:
dimon4ik6565 wrote:hmm. found application which can convert gr2 files to DAE. looks nice.
Now you have the dummies for aligning parts manually ;)
Yes it is, by the way, link you provided to granny.dll not working.
User avatar
Andrakann
ultra-veteran
ultra-veteran
Posts: 392
Joined: Wed Jul 06, 2011 8:47 am
Location: Russia
Has thanked: 967 times
Been thanked: 192 times
Contact:

Re: Forza Motorsport Resource Extraction (.carbin)

Post by Andrakann »

dimon4ik6565 wrote:Yes it is, by the way, link you provided to granny.dll not working.
Fixed.
Post Reply