Watch Dogs - Biker Aiden minimod

Discussion in 'Game Tweaks and Modifications' started by infiniium, Sep 16, 2015.

Tags:
  1. infiniium

    infiniium Guest

    Messages:
    168
    Likes Received:
    3
    GPU:
    Sapphire NITRO R9 390 8GB
    I was looking for some new skins...

    This looks cool...
    [​IMG]
    ...though the neck-clip ruins it.
    [​IMG]
    And a new version of biker:
    [​IMG]
     
  2. The Silver

    The Silver Guest

    Messages:
    602
    Likes Received:
    15
    GPU:
    GTX 770 2GB
    The first image looks cool, what's the name of that clothing part? It really seems the same model of the endingavatar36/Collateral Suit but with different colors and fabric detail pattern, sadly it have the same neck clipping too... :(

    Anyway, have you managed to properly duplicate cloth items now? :)
     
    Last edited: Sep 20, 2015
  3. infiniium

    infiniium Guest

    Messages:
    168
    Likes Received:
    3
    GPU:
    Sapphire NITRO R9 390 8GB
    It is from
    fix_m.Cshirt03_Cpants03_cau03_Wshort02_Agla01_Abkpak01__aaaBrownaf.xml

    What I found out is that there are two binhex values for every model part:
    Code:
        <object hash="E93DDFF8">
          <field hash="6816806D" type="BinHex">03</field>
          <field hash="D935FAD9" type="BinHex">[COLOR="Red"]6BF93E7E[/COLOR]</field>
          <field hash="14088DCA" type="BinHex">FF</field>
          <field hash="73CEC34A" type="BinHex">[COLOR="Red"]2A1E8525[/COLOR]</field>
          <object hash="37CF95BD">
            <field hash="CF1DBEC6" type="BinHex">FFFFFFFF</field>
            <field hash="5177A0C7" type="BinHex">000000000000000000000000</field>
            <field hash="99298BDA" type="BinHex">000000000000000000000000</field>
            <field hash="FC176C73" type="BinHex">0000803F0000803F0000803F</field>
          </object>
        </object>
    The first identifies the model, the second is what i call variant. For example this code above is the torso (shirt and jacket) of the fixer guy in the picture. It has some other variants like:
    34F750C5
    A5EAEF55
    2A1E8525 - blue shirt
    etc.

    They can differ in color, texture, material, sometimes they have an image, but the model is the same. Like Aiden's head has two variants, one with a dark part where the hat covers it and one without that.

    I started to gather these IDs and made a list:

    HEAD:

    Aiden head: 4086D007, v1: 7108E6D3 (no hat), v2: 545D487C (with hat)
    Aiden head 2: this actually has 3 values for some reason (the middle FF is different here). There is no hatless version:
    Code:
          <field hash="D935FAD9" type="BinHex">56D3BCBC</field>
          <field hash="14088DCA" type="BinHex">D902E528</field>
          <field hash="73CEC34A" type="BinHex">78759744</field>
    
    HAIR / HAT:

    Aiden hair: FBBEE69C, v: FF
    Aiden hat 1: 4D1D4EF1, v1: 9C481EB8, v2: FF, v3: 3FDD7A26
    Aiden hat 2: 726740CB, v1: CB73AB72
    Aiden hat 3: 47C22322, v1: EF5A7D0F, v2: 41E8C632, v3: 5736F03B
    this hat model uses vector transformations and rotation to fit, see my next post for reference​
    dreads (hair): 0C908C7C, v1: 771C05BA, v2: CD4D0C23
    biker helmet: 96E95C62, v: FF
    short hair: 99034590, v1: 362A02B5, v2: 4A049E51 (as used in Aiden casual)
    Police hat 1 (Apohat01): 2CA2943A, v: 9C25D3A3, FF
    Police hat 2 (Acamphat01): 83D9A22C, v: 9F65A2FB, FF

    HANDS:

    Aiden hands, no gloves: 4CA358F8, v: 398381E6 (I've found 46 variants for this model part, won't list them here...)
    Aiden gloves 1: 951D6ACB, v1: ECCB829D, v2: 569A8B04
    Aiden gloves 2: 067757BA, variants: 5D30453B, 689526D2, CB00424C, D2C42F4B
    Aiden gloves 3: BC265E23, v1: 8B7A6949

    arms for short sleeve t-shirt: 61C25616
    398381E6 - as in Aiden prisoner outfit
    410458E3
    74A13B0A
    FC39B84E - as in Aiden casual outfit​

    TORSO:

    Aiden prisoner t-shirt: B2C856A0, v: FF (no other variants)
    biker torso (leather jacket, zipped): BB9F21CF
    4709222D
    6B682CC3
    72AC41C4 - black, as in picture in post
    D139255A
    E49C46B3
    FF​
    biker torso 2 (leather jacket, unzipped): 346B4BBF, variants:
    24123BBC
    233F835B - orange shirt
    3AFBEE5C - brown jacket lightblue shirt
    80AAE7C5 - black jacket, grey shirt
    996E8AC2 - red jacket, grey shirt
    ACCBE92B - greenish jacket, shirt with image
    B50F842C​
    buttoned vest: 45FED7AF, v:6ECE2F9C
    fixer torso: 6BF93E7E, variants:
    34F750C5
    067F8BCB
    1FBBE6CC
    2A1E8525 - blue shirt
    33DAE822
    898BE1BB
    8EA6595C
    904F8CBC
    A2C757B2
    A5EAEF55​
    t-shirt: 58BC8825 (neck clipping issues)
    CBD39812 - black with white text: security
    89D6FE5F - dark grey, used in Aiden casual model
    8EFB46B8​
    polo: B9ADA1C2
    171EE361
    22BB8088
    413B61B5
    812EE416
    98EA8911
    B48B87FF​
    shirt: 0FD5BEC8, v1: AF4326DF (sheriff)
    business vest with turtleneck: 5C3ABAA8
    08372F02
    237B990B
    245621EC
    3D924CEB
    87C34572
    9E072875
    ABA24B9C - grey vest, black turtleneck
    B266269B
    FF​
    lab coat: 66749C84
    488988C9
    64E88627
    DEB98FBE​

    LEGS:

    pants: 174071BB, v:0466C4A8
    biker legs: A70DF619, v: 21C8608A
    fixer legs: 0E959D1F, v: 18CD0B79
    cargo pants 1: EA5D46CC, variants:
    08CA6ADE - light blue, brown boots
    223256FD - grey, green shoes
    410F5907 - blue, grey shoes
    58CB3400 - light blue, grey shoes
    5FE68CE7 - winter camo, grey shoes
    6A43EF0E - white (cream?), white shoes
    73878209 - dark brown, light brown shoes
    74AA3AEE - green camo, grey shoes
    B29B6347 - dark green, dark boots
    B402518A - light brown, grey shoes
    C9D68B90 - dark green, dark grey shoes
    CEFB3377 - light blue (jeans), grey shoes
    D012E697 - dark brown, light brown shoes
    D73F5E70 - blue, blue shoes
    E29A3D99 - light blue, light grey
    E5B7857E - greenish grey, light brown
    FB5E509E - urban camo, dark brown shoes
    FC73E879 - dark grey, light brown
    FF - brown, light brown shoes​
    cargo pants 2 (cops and ambulance): 9EED466E, v:4C9E0417

    ACCESSORIES:

    scarf: EB2D41F8 (tried to use this to hide the neck clipping but it looks lame)
    variants: 175CFF44, 22F99CAD (red), 98A89534, B4C99BDA, FF
    sunglasses (sglas01): 998AE017, variants: 55ABDD96, 600EBE7F (crispin), C39BDAE1, EFFAD40F, F63EB908, FF, b09c66ed (not found in existing models, only in graphickit parts. called as sglas01_multiplayer)
    sunglasses (sglas02): 23DBE98E, variants: 022A612D, 2E4B6FC3, 427500A6, B87B68B4, FF (cop)
    backpack (bkpak01): 59C48129, variants: 4253D47E (used by fixers), 5B97B979, 6E32DA90, CDA7BE0E, E1C6B0E0, F802DDE7
    backpack (bkpak02): 18BC24A9, variants: 0229FF7B, 378C9C92, 9419F80C, A1BC9BE5, B878F6E2
    DJ headset: A2F387B5, v: FF
    Pills: People headset: 9F26B0A0, v: FF (doesn't seem to work)
    Beard: 96CB6DD7, v: DEE18F27


    About the item duplication... I get the feeling that the game is toying with me. I tried to do everything as you wrote, even used the same filenames and ID values, and I managed to create 1 duplicate of the cyberpunk model, no matter how many duplicated files i created... And the other items didn't duplicate at all.

    EDIT: organized model parts and added some
     
    Last edited: Sep 27, 2015
  4. The Silver

    The Silver Guest

    Messages:
    602
    Likes Received:
    15
    GPU:
    GTX 770 2GB
    Ah yes of course that second value defines what material the 3d model uses (so it can differ in color, detail texture, specular map and normal map), this is what I was referring to when I said that "I've mixed a generic business suit with a tie and chosen the darkest color variations". :)

    Anyway very good work with that index! It will be very useful to the community! Keep it growing! :D

    PS: I just tested and I can't duplicate the normal clothing (the ones that goes from 01 to 50) so yes it's weird... :O
     
    Last edited: Sep 20, 2015

  5. infiniium

    infiniium Guest

    Messages:
    168
    Likes Received:
    3
    GPU:
    Sapphire NITRO R9 390 8GB
    Yeah well I didn't think you don't know this, I just wrote that I found out how this works. I'm a little behind you with the model modding :D

    Anyway I organized the list and added new stuff there. If you happen to find something cool you can share it too :)

    All the NPC torso's have the neck clipping issue, some really bad, some not that bad. In another post somewhere there was a guy who managed to edit the 3d models, maybe we could use that? I'm not very experienced with 3d editors, maybe you already know/tried something?
     
    Last edited: Sep 22, 2015
  6. infiniium

    infiniium Guest

    Messages:
    168
    Likes Received:
    3
    GPU:
    Sapphire NITRO R9 390 8GB
    I might found something that could help! I noticed that some of Aiden's hats have this code:
    Code:
        <object hash="E93DDFF8">
          <field hash="6816806D" type="BinHex">03</field>
          <field hash="D935FAD9" type="BinHex">47C22322</field>
          <field hash="14088DCA" type="BinHex">FF</field>
          <field hash="73CEC34A" type="BinHex">EF5A7D0F</field>
          <object hash="37CF95BD">
            <field hash="CF1DBEC6" type="BinHex">FFFFFFFF</field>
    [COLOR="Red"]        <field hash="5177A0C7" type="BinHex">27A0893BC520B0BC00000000</field>
            <field hash="99298BDA" type="BinHex">0000000000000000C3B8323E</field>
            <field hash="FC176C73" type="BinHex">0000803F1F858B3F3D0A873F</field>[/COLOR]
          </object>
        </object>
    The red part is different from the usual. I unpacked graphickit_parts.lib, that is included in the filelists, so we know the field names not just the hash. Then I unpacked it again with modified filename, so it wouldn't match the filenames list, so this way I know which line is what and I can find the meaning of some of the hashes. Also it has this same part as the code above from the graphickit_models, so I could copy the values and recompile it, etc. So back to the chase, the red part in the code looks like this with useful field names:
    Code:
      <object name="BoneAnchor">
        <field name="BoneName" type="StringId">0xFFFFFFFF</field>
        <field name="vectorTranslation" type="Vector3">0.0042,-0.0215,0</field>
        <field name="angvecRotation" type="Vector3">0,0,0.1745329</field>
        <field name="vectorNonUniformScale" type="Vector3">1,1.09,1.055</field>
      </object>
    
    So it seems we can change maybe the vector and rotation of things, this way pulling Aiden's head forward by half an inch to prevent neck clipping. If this works we can use it to fit sunglasses and other accessories as well.

    What do you think?

    EDIT: I found a useful hex converter online, that gave the same exact value as in the files (27A0893B --> 0.0042)
    [​IMG]
    http://www.h-schmidt.net/FloatConverter/IEEE754.html
    With this we can insert any value we want into the graphickit_model files. It is just trial and error now to find the proper value.
     
    Last edited: Sep 22, 2015
  7. The Silver

    The Silver Guest

    Messages:
    602
    Likes Received:
    15
    GPU:
    GTX 770 2GB
    Greak work with the organized list! :)

    And good finding for the BoneAnchor parameters, I've used a similar trick for the weapons xmls in the items.lib file. :D
    It sounds very promising, keep these updates coming! :cool:
     
  8. Essenthy

    Essenthy Guest

    Messages:
    415
    Likes Received:
    2
    GPU:
    GTX 980Ti 6GB
    look sick ! good job
     
  9. infiniium

    infiniium Guest

    Messages:
    168
    Likes Received:
    3
    GPU:
    Sapphire NITRO R9 390 8GB
    Well... no luck so far with the BoneAnchor parameters. If I change the values on a cap that's already moved/rotated, it works:

    [​IMG] [​IMG]

    So my theory should be right. But it has absolutely no effect on the head or other parts (other than crashing the game a few times) :(
     
    Last edited: Sep 22, 2015
  10. The Silver

    The Silver Guest

    Messages:
    602
    Likes Received:
    15
    GPU:
    GTX 770 2GB
    The head and the other body parts are skinned meshes while a cap is just a 3d model attached to a bone I think (it's not "animated" let's say), so I have the fear that these parameters are valid only for attached objects like that cap and not for a skinned mesh like the head. :O

    Anyway this trick should fix other clipping objects like the glasses, try with them! :cool:
     

  11. infiniium

    infiniium Guest

    Messages:
    168
    Likes Received:
    3
    GPU:
    Sapphire NITRO R9 390 8GB
    Oh man :( So now I know why it didn't work. I guess we'll have to settle with clipping then. I'll check the sunglasses and other accessories to see if there's anything cool to be used and needs a little positioning.
     
  12. The Silver

    The Silver Guest

    Messages:
    602
    Likes Received:
    15
    GPU:
    GTX 770 2GB
    Well as I said this is just my assumption, I could be wrong and maybe there's a way, but I really don't think so. :O

    Anyway even if I'm right it doesn't mean that we'll have to settle with clipping if my idea works, I'll let you know more as soon as I'll have some time to test it, for now you just have to know that it's a dirty workaround, as always... :p

    Let me know if you have some luck with the other accessories, a pair of full black sunglasses would be so badass along with some clothing! :cool:
     
  13. infiniium

    infiniium Guest

    Messages:
    168
    Likes Received:
    3
    GPU:
    Sapphire NITRO R9 390 8GB
    I don't think you're wrong, in the project files (disrupt\bin\projects\Watch Dogs\binary objects\classes\CGraphicKitPart.binaryclass.xml) it says this for the boneAnchor line:
    "Bone on which the part will be attached if it is not skinned."

    I saw this earlier, but now it makes sense. I really hope your dirty ways will get us somewhere :cool:
     
    Last edited: Sep 23, 2015
  14. The Silver

    The Silver Guest

    Messages:
    602
    Likes Received:
    15
    GPU:
    GTX 770 2GB
    Ah ok it's confirmed then, anyway it was predictable, a skinned mesh is a 3d model that have vertices assigned to different bones so it animates with the skeleton (like body parts indeed), thus it cannot be attached to a single bone like solid objects (glasses hats phones walkman etc). ;)

    My dirty workaround doesn't work, I've replaced the capless head material with a hair material that supports alpha transparency, then I tried to use the alpha mask to "cut away" the part of his nape that is clipping, but it's immediately clear that it looks like **** regardless, so until someone with a valid ZModeler3 license takes the job of editing the head model we will have to deal with the clipping I guess... :O
     
    Last edited: Sep 23, 2015
  15. infiniium

    infiniium Guest

    Messages:
    168
    Likes Received:
    3
    GPU:
    Sapphire NITRO R9 390 8GB
    Okay, this is what I came up with:
    [​IMG]

    Though it could be darker. But I think maybe the alpha channel should be modified or something in the texture. Didn't have the time to find the file, feel free to help me out. Anyway here's the code for the glasses:
    Code:
        <object hash="E93DDFF8">
          <field hash="6816806D" type="BinHex">03</field>
          <field hash="D935FAD9" type="BinHex">998AE017</field>
          <field hash="14088DCA" type="BinHex">FF</field>
          <field hash="73CEC34A" type="BinHex">F63EB908</field>
          <object hash="37CF95BD">
            <field hash="CF1DBEC6" type="BinHex">FFFFFFFF</field>
            <field hash="5177A0C7" type="BinHex">0AD723bc0AD7a33b00000000</field>
            <field hash="99298BDA" type="BinHex">00000000000000000ad7233c</field>
            <field hash="FC176C73" type="BinHex">0000803F0000803F0000803F</field>
          </object>
        </object>
    
    I succeeded only after a little messing around, of course...
    [​IMG]

    And the solution to neck clipping :D

    [​IMG] [​IMG]
     
    Last edited: Sep 23, 2015

  16. The Silver

    The Silver Guest

    Messages:
    602
    Likes Received:
    15
    GPU:
    GTX 770 2GB
    Very good work, I will try it asap! :cool: In the meanwhile, your first image reminded me of the funny placement of the cops hat, the top of his head clips through the top of the hat, if you could fix this too you would allow for a perfect police outfit setup! :)

    Tomorrow I will also check the textures of the sunglasses hoping to be able to add a full black variation, and I will apply your neck clipping fix! :D
     
  17. infiniium

    infiniium Guest

    Messages:
    168
    Likes Received:
    3
    GPU:
    Sapphire NITRO R9 390 8GB
    Which one:
    Police hat 1 (Apohat01): 2CA2943A, v: 9C25D3A3, FF
    Police hat 2 (Acamphat01): 83D9A22C, v: 9F65A2FB, FF

    I assume it's the Apohat01, but I'm in the office, can't check it at the moment.

    If you dig into the glasses, maybe you could do a version where it's reflecting (like the cloud gate mod of yours). And a full black version too of course :)

    EDIT: I found where the materials are linked with the model parts, it's in graphickit_parts.lib (surprisingly :D ). There is a file for the glasses: Accessories.acc_m_hea_sglas01.xml in which I found the same ID as in the graphickit_models:
    <field name="hidKey" type="StringId">0x17E08A99</field>

    And this part describes the materials for each of the variants:
    <object name="MaterialOverridesEntry">
    <field name="text_Name" type="String">acc_m_hea_sglas01_b</field>
    <field name="Name" type="StringId">0x96DDAB55</field> <-- ID for the variant from models file

    Of course this is again something that you might already know, I just write here everything that I find to support the community :cool:
     
    Last edited: Sep 24, 2015
  18. The Silver

    The Silver Guest

    Messages:
    602
    Likes Received:
    15
    GPU:
    GTX 770 2GB
    Yes I'm talking about the Accessories.acc_m_hea_pohat01 :)

    I've just managed to make the lens more opaque, it reused a generic glass texture so I had to edit the sunglasses lens material to point to a new texture, then I've duplicated the glass texture that it used and renamed it accordingly, then I've edited the alpha of this texture. Now I will work on the reflection, maybe I will check the biker helmet material for clues since it's pretty reflective. :D
    [​IMG]

    About the graphickit_parts.lib actually you're better focusing on its xmls to compose models, since this library contains the unique parts definitions, while the graphickit_models.lib is a library of composed models with houndreds of repeated parts, I've done exactly that when composing the "Professional" outfit, so I was able to easily try all the gloves and sunglasses variations for example. ;)

    And yes as you can see in the "parts" xmls there are explicit references to their respective .xbg models and .bin materials, with all the variations of the latter in a coded hex, because while the base material is always the same and is readable in every entry the material variation is actually this coded line that you can read with the Razor.DataConversion (BinHex -> String):
    Code:
    ...
    <object name="MaterialOverridesEntry">
          <field name="text_Name" type="String">acc_m_hea_sglas01_b</field>
          <field name="Name" type="StringId">0x96DDAB55</field>
          <field name="agerangeAgeRange" type="StringId">0xFFFFFFFF</field>
          <object name="MaterialOverrides">
            <object name="MaterialSlots">
              <object name="Material">
                <field name="text_disSlotName" type="String">sunglassesframe</field>
                <field name="disSlotName" type="StringId">0xAE19E85C</field>
    [COLOR="Red"]            <field hash="9301DFBD" type="BinHex">67726170686963735C5F6D6174657269616C735C6A6D6172636F75782D6D2D32303133303730343136313431392E6D6174657269616C2E62696E00</field>[/COLOR]
                <field name="matMaterial" type="StringId">0x84FC076E</field>
                <field name="text_hidOriginalMaterial" type="String">graphics\_materials\jmarcoux-m-2012021342703355.material.bin</field>
                <field name="hidOriginalMaterial" type="StringId">0xC7677567</field>
              </object>
              <object name="Material">
                <field name="text_disSlotName" type="String">glasses</field>
                <field name="disSlotName" type="StringId">0xF6A25AD6</field>
                <field name="matMaterial" type="StringId">0xFFFFFFFF</field>
                <field name="text_hidOriginalMaterial" type="String">graphics\_materials\jmarcoux-m-2013072076896419.material.bin</field>
                <field name="hidOriginalMaterial" type="StringId">0x6435DEAE</field>
              </object>
            </object>
          </object>
        </object>
    ...
     
    Last edited: Sep 24, 2015
  19. infiniium

    infiniium Guest

    Messages:
    168
    Likes Received:
    3
    GPU:
    Sapphire NITRO R9 390 8GB
    Okay, I'll check the pohat01 later today.

    Nice glasses! So it couldn't be done with some easy xml editing. Now, give me the files for the glasses :D
    I'm thinking the reflective glasses would look better with the other sunglasses (23DBE98E).

    I'm using notepad++ with HEX editor plugin, there's a HEX -> ASCII converter also with which I can convert the hex codes into strings, so I already saw that line which points to the altered material.
     
  20. The Silver

    The Silver Guest

    Messages:
    602
    Likes Received:
    15
    GPU:
    GTX 770 2GB
    I definately have to start using notepad++ too. :D

    There's no xml that defines the properties of a material, it's all in the .bin files, and as expected it reused a generic texture so I had to point this material to a new unique texture otherwise my edits would have affected every other 3d model that used the generic glass dirt texture. ;)
    I still haven't uploaded anything because I wanted to make these black sunglasses slightly reflective, now they are almost pitch blach with almost no shading... :O
     
    Last edited: Sep 24, 2015

Share This Page