1. Post #1
    Greif's Avatar
    June 2011
    35 Posts
    Hello guys,
    I would like to ask for help to turn a Ragdoll into a Playermodel. I did that a long time ago with another ragdoll, but the creator helped me.
    http://facepunch.com/threads/1094528

    This time I want to turn a Kairi model
    http://facepunch.com/threads/616321
    into a playermodel.

    Everything goes fine until i test it:

    Error Vertex File for 'kh2kairi.mdl' checksum 1949606276 should be 1455545695
    Error Vertex File for 'kh2kairi.mdl' checksum 1949606276 should be -1949848842


    So I need some help fixing the .qc file.

  2. Post #2
    Greif's Avatar
    June 2011
    35 Posts
    [Update]
    I've been testing arround today but i still can't get it to work. The best result is actually another checksum error

    Error Vertex File for 'kh2kairi.mdl' checksum 1949606276 should be 1585899223

    but i don't know how to fix those.
    my .qc file looks like this:

    $cd "PATH"
    $modelname "kh2kairi.mdl"
    $model "studio" "kh2kairi.smd"

    $cdmaterials "models\kh2kairi\"
    $hboxset "default"
    $hbox 0 "pelvis" -3.153 -3.339 -5.360 8.250 3.727 5.363
    $hbox 0 "spine" -1.624 -3.059 -5.071 12.091 3.793 5.074
    $hbox 0 "head" -1.687 -4.768 -4.239 8.889 4.317 4.583
    $hbox 0 "rhair" -0.771 -2.662 -1.187 6.056 1.630 0.657
    $hbox 0 "lhair" -6.990 -0.760 -0.476 1.043 3.048 1.205
    $hbox 0 "bhair" -1.272 -2.221 -3.722 5.412 1.076 3.725
    $hbox 0 "leftbicep" -0.395 -1.177 -1.562 9.284 1.488 1.575
    $hbox 0 "leftforarm" 0.000 -1.132 -1.067 10.123 0.995 1.319
    $hbox 0 "ValveBiped.Bip01_L_Hand" -0.241 -0.796 -1.400 3.651 0.586 1.454
    $hbox 0 "ValveBiped.Bip01_L_Finger0" -0.960 -0.481 -0.387 1.008 0.527 1.124
    $hbox 0 "rightbicep" -9.313 -1.488 -1.575 0.367 1.176 1.562
    $hbox 0 "rightforarm" -10.123 -0.994 -1.318 0.000 1.132 0.986
    $hbox 0 "ValveBiped.Bip01_R_Hand" -3.667 -0.586 -1.453 0.213 0.796 1.401
    $hbox 0 "ValveBiped.Bip01_R_Finger0" -1.021 -0.529 -1.124 0.948 0.479 0.387
    $hbox 0 "hood" 0.000 -0.681 -2.907 4.733 0.491 2.910
    $hbox 0 "rightthigh" -15.408 -2.569 -2.693 0.000 2.404 2.326
    $hbox 0 "rightcalf" -17.183 -2.088 -1.819 0.000 2.679 2.005
    $hbox 0 "rightfoot" -10.935 -3.257 -3.001 0.728 5.631 2.659
    $hbox 0 "leftthigh" 0.000 -2.463 -2.326 15.417 2.510 2.693
    $hbox 0 "leftcalf" 0.000 -2.678 -1.936 17.166 2.087 1.890
    $hbox 0 "leftfoot" -0.723 -5.615 -2.802 10.933 3.260 2.845
    $hbox 0 "bflap" 0.000 -0.062 -5.288 7.456 2.637 5.291
    $hbox 0 "rflap" 0.000 -0.793 -3.026 8.662 2.375 3.923
    $hbox 0 "lflap" -2.244 -2.069 -2.873 8.710 1.266 3.453
    $hbox 0 "fflap" 0.000 -4.552 -1.128 7.601 4.502 0.000
    $surfaceprop "flesh"


    //=============================================
    //FACIAL ANIMATION SECTION
    //=============================================
    $model Miku "kh2kairi.smd"{
    flexfile "mdldecompiler_expressions.vta" {


    flex "blank" frame 10
    flexcontroller "phoneme" "blank" "range" 0 1
    %blank = blank

    flex "blink" frame 10
    flexcontroller "eyelid" "blink" "range" 0 1
    %blink = blink

    flex "right_lid_closer" frame 10
    flexcontroller "eyelid" "right_lid_closer" "range" 0 1
    %right_lid_closer = right_lid_closer

    flex "left_lid_closer" frame 10
    flexcontroller "eyelid" "left_lid_closer" "range" 0 1
    %left_lid_closer = left_lid_closer


    flex "right_inner_raiser" frame 10
    flexcontroller "brow" "right_inner_raiser" "range" 0 1
    %right_inner_raiser = right_inner_raiser


    flex "left_inner_raiser" frame 10
    flexcontroller "brow" "left_inner_raiser" "range" 0 1
    %left_inner_raiser = left_inner_raiser


    flex "right_outer_raiser" frame 10
    flexcontroller "brow" "right_outer_raiser" "range" 0 1
    %right_outer_raiser = right_outer_raiser


    flex "left_outer_raiser" frame 10
    flexcontroller "brow" "left_outer_raiser" "range" 0 1
    %left_outer_raiser = left_outer_raiser


    flex "right_lowerer" frame 10
    flexcontroller "brow" "right_lowerer" "range" 0 1
    %right_lowerer = right_lowerer


    flex "left_lowerer" frame 10
    flexcontroller "brow" "left_lowerer" "range" 0 1
    %left_lowerer = left_lowerer


    flex "right_upper_raiser" frame 10
    flexcontroller "mouth" "right_upper_raiser" "range" 0 1
    %right_upper_raiser = right_upper_raiser


    flex "left_upper_raiser" frame 10
    flexcontroller "mouth" "left_upper_raiser" "range" 0 1
    %left_upper_raiser = left_upper_raiser


    flex "right_corner_puller" frame 10
    flexcontroller "mouth" "right_corner_puller" "range" 0 1
    %right_corner_puller = right_corner_puller


    flex "left_corner_puller" frame 10
    flexcontroller "mouth" "left_corner_puller" "range" 0 1
    %left_corner_puller = left_corner_puller


    flex "right_corner_depressor" frame 10
    flexcontroller "mouth" "right_corner_depressor" "range" 0 1
    %right_corner_depressor = right_corner_depressor


    flex "left_corner_depressor" frame 10
    flexcontroller "mouth" "left_corner_depressor" "range" 0 1
    %left_corner_depressor = left_corner_depressor


    flex "chin_raiser" frame 10
    flexcontroller "mouth" "chin_raiser" "range" 0 1
    %chin_raiser = chin_raiser


    flex "right_part" frame 10
    flexcontroller "phoneme" "right_part" "range" 0 1
    %right_part = right_part


    flex "left_part" frame 10
    flexcontroller "phoneme" "left_part" "range" 0 1
    %left_part = left_part


    flex "right_puckerer" frame 10
    flexcontroller "phoneme" "right_puckerer" "range" 0 1
    %right_puckerer = right_puckerer


    flex "left_puckerer" frame 10
    flexcontroller "phoneme" "left_puckerer" "range" 0 1
    %left_puckerer = left_puckerer


    flex "right_funneler" frame 10
    flexcontroller "phoneme" "right_funneler" "range" 0 1
    %right_funneler = right_funneler


    flex "left_funneler" frame 10
    flexcontroller "phoneme" "left_funneler" "range" 0 1
    %left_funneler = left_funneler


    flex "right_stretcher" frame 10
    flexcontroller "phoneme" "right_stretcher" "range" 0 1
    %right_stretcher = right_stretcher


    flex "left_stretcher" frame 10
    flexcontroller "phoneme" "left_stretcher" "range" 0 1
    %left_stretcher = left_stretcher


    flex "bite" frame 10
    flexcontroller "phoneme" "bite" "range" 0 1
    %bite = bite


    flex "presser" frame 10
    flexcontroller "phoneme" "presser" "range" 0 1
    %presser = presser


    flex "tightener" frame 10
    flexcontroller "phoneme" "tightener" "range" 0 1
    %tightener = tightener


    flex "smile" frame 10
    flexcontroller "mouth" "smile" "range" 0 1
    %smile = smile


    flex "lower_lip" frame 10
    flexcontroller "mouth" "lower_lip" "range" 0 1
    %lower_lip = lower_lip
    }
    }


    //=============================================
    //MODEL SHARING
    //=============================================

    $includemodel "f_anm.mdl"
    $includemodel "f_gst.mdl"
    $includemodel "f_pst.mdl"
    $includemodel "f_shd.mdl"
    $includemodel "f_ss.mdl"

    //=============================================
    //BONE RELATED
    //=============================================

    $sequence ragdoll "ragdoll" FPS 30 activity ACT_DIERAGDOLL 1
    $sequence idle_subtle "idle_subtle" loop ACT_IDLE 1 fps 30.00 node standing

    $illumposition 0.855 -0.052 34.763
    $ikchain rhand ValveBiped.Bip01_R_Hand knee 0.707 0.707 0.000
    $ikchain lhand ValveBiped.Bip01_L_Hand knee 0.707 0.707 0.000
    $ikchain rfoot ValveBiped.Bip01_R_Foot knee 0.707 -0.707 0.000
    $ikchain lfoot ValveBiped.Bip01_L_Foot knee 0.707 -0.707 0.000
    I copy - pased it together with my old work
    but i need some help on that .qc file. no quite idea what everything does and therefor no idea whats wrong on it.

  3. Post #3
    L33t modl haxorz..
    Katazuro's Avatar
    March 2012
    1,477 Posts
    It's not rigged to the Valve biped.

  4. Post #4
    Greif's Avatar
    June 2011
    35 Posts
    Can you explain that a bit more please?
    Maybe even what part is wrong and how it should look like?

  5. Post #5
    L33t modl haxorz..
    Katazuro's Avatar
    March 2012
    1,477 Posts
    All of it is wrong, the skeletal system isn't what the animations use, therefor - it cannot be made a playermodel without re-rigging the skeletal system

  6. Post #6
    Greif's Avatar
    June 2011
    35 Posts
    So basicly you would have to make a whole new model or animations?
    Isn't there some kind of default animation pack that you could just add to it?

  7. Post #7
    L33t modl haxorz..
    Katazuro's Avatar
    March 2012
    1,477 Posts
    That animation pack isn't compatible with the model's skeleton, you'd have to replace it. Not a whole new model, new animations is stupid, just find or learn to re-rig a model's skeleton.

  8. Post #8
    Greif's Avatar
    June 2011
    35 Posts
    Would you help/teach me it?

    The model is quite old so i don't think the creator has much interesst in it and I have no idea who else I could ask.
    My Gf found it and wants it so badly that she is whining all day long. And I just can't do it alone. >_<

  9. Post #9
    ShainAsuka's Avatar
    July 2009
    61 Posts
    I'm sort of in the same situation as you, what I did was download the XSI Mod Tool and followed the Valve guide for rigging in XSI.
    You'll need the Source Engine Plugin too.

  10. Post #10
    Greif's Avatar
    June 2011
    35 Posts
    Well... that looks quite good so far. No idea if it is.
    Anyhow, stuff is not rolling that nice.

    So I have 2 questions:
    First question comes from part 1.3 of the guide:
    Am I supposed to use the urban model to make the rigging or Kairi? And if the answer is Kairi, how do I import her so I can work on her? I only found "Import from emdl" not mdl.

    And the secound question is more of a problem:
    I added the Valve addon and i try to load the "ValveSource>Character Rigs>Rig from Guide" i get the error message "vstCreateRigFromGuide: ValveGuide notfound"
    How do I fix that problem?

  11. Post #11
    ShainAsuka's Avatar
    July 2009
    61 Posts
    Well... that looks quite good so far. No idea if it is.
    Anyhow, stuff is not rolling that nice.

    So I have 2 questions:
    First question comes from part 1.3 of the guide:
    Am I supposed to use the urban model to make the rigging or Kairi? And if the answer is Kairi, how do I import her so I can work on her? I only found "Import from emdl" not mdl.

    And the secound question is more of a problem:
    I added the Valve addon and i try to load the "ValveSource>Character Rigs>Rig from Guide" i get the error message "vstCreateRigFromGuide: ValveGuide notfound"
    How do I fix that problem?
    First, Yeah you need to use the Kairi model when you make the rigging. You have it in .mdl right? So use the Fixed MdlCompiler (you need to place this .exe in your sdk's ep1 bin folder, and a copy in orangebox if you plan to use that one as well. Create a shortcut for whichever you'll use and place it on your desktop.)

    Second, you need to load the Biped Guide and place the points where the bones should be. When all the guide points are placed properly, then you use the Rig from Guide option.

    If you give me some time I'll get the model myself and show some images to help you through it.

  12. Post #12
    Greif's Avatar
    June 2011
    35 Posts
    I was a bit busy at the weekend so i had no time to reply, sorry for that...

    First, Yeah you need to use the Kairi model when you make the rigging. You have it in .mdl right? So use the Fixed MdlCompiler

    Well, if i decompile the model I get 4 files from it:
    kh2kairi.smd
    mdldecompiler.qc
    phymodel.smd
    ragdoll.smd

    I still can't load those...

  13. Post #13
    ShainAsuka's Avatar
    July 2009
    61 Posts
    import the SMD into XSI and use the Biped Guide on it.


    From here adjust the joints so they're in the proper location, then use the Rig from Guide option.

  14. Post #14
    Greif's Avatar
    June 2011
    35 Posts
    OH .... oh... =|

    Well I tried arround a bit and came across another problem.
    The body parts of the rig (arms, legs, backbone) and such, are too long.
    How do I shorten them?



  15. Post #15
    ShainAsuka's Avatar
    July 2009
    61 Posts
    I believe I said that you should scale the model so it fits the skeleton. Your model looks like it needs to be scaled just a little more, also, you should be able to just move the joints before rigging from guide. I'm pretty sure the bones resize accordingly.

  16. Post #16
    Greif's Avatar
    June 2011
    35 Posts
    I worked on it a bit more and actually got to the part to the rigging.
    If I start the rigging it loads a bit and I get an Error message:
    Invalid Argument specified.
    and 4 windows pop up...




    I belive there might be something wrong with the right tue, but i can't tell what...

  17. Post #17
    ShainAsuka's Avatar
    July 2009
    61 Posts
    I can't tell what it might be either, but those windows popping up is normal. If the rigging from guide is successful you'll have several more that you can safely close.

  18. Post #18
    Greif's Avatar
    June 2011
    35 Posts
    fuu. I will do everything from scratch again then...

  19. Post #19
    Greif's Avatar
    June 2011
    35 Posts
    I did the whole rigging again (only took me half an hour and not a few hours like last time o_o) but again, the same Error at the same place.

    Could you look over it and maybe find the problem?