Page 116 of 138

Re: Forza Motorsport Resource Extraction (.carbin)

Posted: Sat Feb 04, 2017 2:15 pm
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.

Re: Forza Motorsport Resource Extraction (.carbin)

Posted: Sat Feb 04, 2017 4:22 pm
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 :)

Re: Forza Motorsport Resource Extraction (.carbin)

Posted: Sat Feb 04, 2017 6:25 pm
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

Re: Forza Motorsport Resource Extraction (.carbin)

Posted: Sat Feb 04, 2017 7:26 pm
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)

Re: Forza Motorsport Resource Extraction (.carbin)

Posted: Sat Feb 04, 2017 8:40 pm
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?

Re: Forza Motorsport Resource Extraction (.carbin)

Posted: Sat Feb 04, 2017 10:59 pm
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.

Re: Forza Motorsport Resource Extraction (.carbin)

Posted: Sat Feb 04, 2017 11:41 pm
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 

Re: Forza Motorsport Resource Extraction (.carbin)

Posted: Sun Feb 05, 2017 8:32 am
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.

Re: Forza Motorsport Resource Extraction (.carbin)

Posted: Sun Feb 05, 2017 10:00 am
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

Re: Forza Motorsport Resource Extraction (.carbin)

Posted: Sun Feb 05, 2017 11:00 am
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.

Re: Forza Motorsport Resource Extraction (.carbin)

Posted: Sun Feb 05, 2017 11:06 am
by dimon4ik6565
hmm. found application which can convert gr2 files to DAE. looks nice.
IMG_2017_02_05_0001.PNG

Re: Forza Motorsport Resource Extraction (.carbin)

Posted: Sun Feb 05, 2017 11:43 am
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.

Re: Forza Motorsport Resource Extraction (.carbin)

Posted: Sun Feb 05, 2017 11:50 am
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 ;)

Re: Forza Motorsport Resource Extraction (.carbin)

Posted: Sun Feb 05, 2017 11:55 am
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.

Re: Forza Motorsport Resource Extraction (.carbin)

Posted: Sun Feb 05, 2017 12:02 pm
by Andrakann
dimon4ik6565 wrote:Yes it is, by the way, link you provided to granny.dll not working.
Fixed.