Page 3 of 12 FirstFirst 123456789101112 LastLast
Results 41 to 60 of 257

Thread: GOAT and GOAL: A collection of modelling and animation utilities

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    KnightErrant's Avatar Decanus
    Join Date
    Jan 2007
    Location
    Huntsville, Alabama USA
    Posts
    578

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    @Rorarii
    Yes, that's where at least one extra bone would come in. If it is a child
    of the bone_saddle and goes back to the chariot (so we could add two
    more bones to animate the wheels), then any rocking motion by bone_saddle
    can be "cancelled" by suitably counter rotating the chariot bone.
    Especially for any anims that have the horses rearing.

  2. #2
    KnightErrant's Avatar Decanus
    Join Date
    Jan 2007
    Location
    Huntsville, Alabama USA
    Posts
    578

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    Here's a three extra bone skeleton if you want to try playing around with
    it:

    Code:
    bone_H_Saddle            ,                      , +0.0000000000  , +0.0000000000  , +0.0000000000  
    bone_Spine               , bone_H_Saddle        , +0.0001452830  , -0.0151966996  , +0.4446060061  
    bone_Spine1              , bone_Spine           , +0.0006578590  , -0.0245501008  , +0.4198270142  
    bone_Neck                , bone_Spine1          , +0.0008467390  , +0.0139800003  , +0.5470259786  
    bone_Head                , bone_Neck            , +0.0071678599  , +0.5777239799  , +0.4736509919  
    bone_RightArm            , bone_Spine1          , -0.2537220120  , -0.2715969980  , +0.5931140184  
    bone_RightForeArm        , bone_RightArm        , +0.0000306028  , -0.3205269873  , +0.0193390008  
    bone_RightHand           , bone_RightForeArm    , +0.0000488071  , -0.4961239994  , +0.0302742999  
    bone_RightFingerBase     , bone_RightHand       , +0.0000341026  , -0.3660829961  , +0.0222389009  
    bone_LeftArm             , bone_Spine1          , +0.2555060089  , -0.2715960145  , +0.5923159719  
    bone_LeftForeArm         , bone_LeftArm         , +0.0000304943  , -0.3205200136  , +0.0193103999  
    bone_LeftHand            , bone_LeftForeArm     , +0.0000469623  , -0.4961229861  , +0.0303035993  
    bone_LeftFingerBase      , bone_LeftHand        , +0.0000363001  , -0.3660820127  , +0.0222395007  
    bone_Tail1               , bone_H_Saddle        , -0.0002688530  , +0.0194744002  , -0.2931849957  
    bone_Tail2               , bone_Tail1           , -0.0005695900  , -0.3195210099  , -0.3636940122  
    bone_RightUpLeg          , bone_H_Saddle        , -0.2247990072  , -0.2321140021  , -0.1584759951  
    bone_RightLeg            , bone_RightUpLeg      , +0.0000070131  , -0.3785620034  , +0.0039954502  
    bone_RightFoot           , bone_RightLeg        , -0.0000009631  , -0.4450980127  , +0.0000083696  
    bone_RightToeBase        , bone_RightFoot       , +0.0000018177  , -0.6024720073  , -0.0000081255  
    bone_LeftUpLeg           , bone_H_Saddle        , +0.2339520007  , -0.2229759991  , -0.1583569944  
    bone_LeftLeg             , bone_LeftUpLeg       , +0.0000050462  , -0.3876999915  , +0.0031598900  
    bone_LeftFoot            , bone_LeftLeg         , -0.0000087630  , -0.4450980127  , +0.0000056838  
    bone_LeftToeBase         , bone_LeftFoot        , -0.0000151929  , -0.6024720073  , -0.0000081119  
    bone_chariot             , bone_H_Saddle        ,  0.0           ,  0.0           , -3.0
    bone_Rwheel              , bone_chariot         , -1.0           ,  0.0           ,  0.0
    bone_Lwheel              , bone_chariot         , +1.0           ,  0.0           ,  0.0
    Copy and paste it in a file and make the file's extension be .skelmerge.
    Then run GOAT and click the merge with external skeleton button.
    Select your chariot as the model, then select the .skelmerge file.
    You'll get a new .ms3d file with the three extra bones in it. Adjust to
    suit your chariot model so the wheel bones go straight out to the wheels.
    Remember when playing with bones, Milkshape sometimes puts in
    rotations, so go to Tools->Zero Joints after you get the bones the way
    you like them and run that plug-in. Then save.

    I can cover the procedure for exporting the skeleton to the animations
    later, or you can check in the User's Guide. But once you have a set
    of fs_horse .cas files with the extra bones in them, you can animmerge
    and start seeing how hard it is to counter the "leaf motion" in the
    keyframer. It should mostly be small x-rotations that have to be zeroed
    out.

  3. #3
    KnightErrant's Avatar Decanus
    Join Date
    Jan 2007
    Location
    Huntsville, Alabama USA
    Posts
    578

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    @Rorarii
    Apologies, I know now what was buzzing in my brain all night. You've got
    the riders moved back onto the chariots! How did you do that, was it
    the .cas file floats? If so, which one was it? If they were x, y, z I'd guess
    the third one to move them back. I'm asking because I've never done that
    so I'd like the knowledge. The riders have that "riding a horse" stance so
    I'm thinking an elephant rider anim might work better for a charioteer but
    that's a small point given what your screen shots are showing.

  4. #4

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    .. errrrr .. I cheated! I moved the mount location in the DESCR_MOUNT.TXT

    Code:
    type				chariot horse
    class				horse
    model				Mount_chariot_Horse
    radius				2.8
    x_radius			1.8
    y_offset			0.7
    height				2.5
    mass				1.75	;changed from 4.0 29/4/05
    banner_height		0
    bouyancy_offset		1.8
    water_trail_effect	horse_water_trail
    root_node_height	1.0
    rider_offset		0.0, 0.38, -2.70
    ;  rider_offset		0.0, 0.38, 0.70
    I remembed seeing rider-offset before, refound it, tried it .. it worked! .. but you're going to tell me we cannot use it because ..


    R
    oOo

    Rome 2 refugee ...

    oOo

  5. #5

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    @Rorarii
    Could I suggest you use a new anim for the chariot riders? If you create a copy of an existing footman's anim EG. MTW2_Spear. And you change all the anims for their actual movements, to static or ready ones Eg, from:-
    step_forward data/animations/MTW2_Spear/MTW2_Spear_Stand_A_step_forward.cas
    To:-
    step_forward data/animations/MTW2_Spear/MTW2_Spear_Stand_A_idle.cas
    Or:-
    step_forward data/animations/MTW2_Spear/MTW2_Spear_ready_idle.cas
    That would stop the bowlegged appearance and stop them running on the spot when the chariot moves about. You probably wouldn't need anims like the crew requirments and some of the attack's may need altering once you have done a test in game but the idea should work.
    Almost makes me wish I had a chariot model of my own to work on...

  6. #6

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    @Eothese + rep
    That is what i am working on after rorarii´s discovery.
    @KE is more than clear to me , no help need it. LOL
    one think i am worry is the animation for the lance it wouldn´t be better an archer, stand_to_idle.cas to almost all the animation and only use the attacking animations and die.
    Contribuitor IBIICB-WOTN-Modeler-Scripter


  7. #7

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    Thanks Icedie,
    To start with, to see how it works. But I think a few things like taunt, celebrate and maybe knock_back would go a long way towards keeping the action looking real.

  8. #8

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    Ok here is the deal:
    here is my descr_mount entry with the off_set rorarii has found
    Code:
    type                heavy horse
    class                horse
    model                Mount_Chariot_Mhorse
    radius                1.2
    x_radius            0.3
    y_offset            0.4
    height                2.5
    mass                3.6    ;changed from 4.0 29/4/05
    banner_height        0
    bouyancy_offset        1.8
    water_trail_effect    horse_water_trail
    root_node_height    1.0
    rider_offset        0.0, 0.38, -2.70
    Until here everything work the way is suppose to but when i add this the it ctd before the battle.
    I made the animation folder call: eventually rename all of the foot archer to HR
    ICE_HR_bow
    And the modeldb entry as well
    Code:
    1 
    5 Horse 
    13 ICE_HR_Bowman 
    18 MTW2_HR_Non_Shield 
    1 
    18 ICE_HR_Bow_Primary 
    1 
    18 MTW2_Sword_Primary 
    16 -0.090000004 0 0 -0.34999999 0.80000001 0.60000002
    skeleton entry:
    Spoiler Alert, click show to read: 
    Code:
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    
    
    type        ICE_HR_Bowman
    no_deltas
    in_awareness    135.0
    in_zone            135.0
    in_centre        45.0
    
    anim                            default                    data/animations/HR_lance/HR_lance_basepose.cas
    
    
    ;;; ICE_HR_bow_attacks
    
    anim        attack_missile_ready                        data/animations/ICE_HR_bow/ICE_HR_bowman_attack_missile_ready.cas                                -fr        -evt:data/animations/ICE_HR_bow/ICE_HR_bowman_attack_missile_ready.evt
    anim        attack_missile_hold                            data/animations/ICE_HR_bow/ICE_HR_bowman_attack_missile_hold.cas                                -fr    
    anim        attack_missile_release                        data/animations/ICE_HR_bow/ICE_HR_bowman_attack_missile_release.cas                            -fr            -id:0.0, 1.5, 1.0        -evt:data/animations/ICE_HR_bow/ICE_HR_bowman_attack_missile_release.evt
    
    
    ;;;ICE_HR_Bow_Defend
    
    ;;; --- ICE_HR_Bow does not defend - switches to HR_sword in melee combat ---
    
    ;;;ICE_Hr_Bow_Reaction
    
    anim        knockback_from_front                        data/animations/ICE_HR_bow/ICE_HR_bowman_knockback_front.cas                                        -fr    -evt:data/animations/ICE_HR_bow/ICE_HR_bowman_knockback_front.evt
    anim        knockback_from_right                        data/animations/ICE_HR_bow/ICE_HR_bowman_knockback_right.cas                                        -fr    -evt:data/animations/ICE_HR_bow/ICE_HR_bowman_knockback_right.evt
    anim        knockback_from_back                            data/animations/ICE_HR_bow/ICE_HR_bowman_knockback_back.cas                                        -fr    -evt:data/animations/ICE_HR_bow/ICE_HR_bowman_knockback_back.evt
    anim        knockback_from_left                            data/animations/ICE_HR_bow/ICE_HR_bowman_knockback_left.cas                                        -fr    -evt:data/animations/ICE_HR_bow/ICE_HR_bowman_knockback_left.evt
    
    
    ;;; basic locomotion for horse
    
    anim        stand_a_idle                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_idle.cas                -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_idle.evt
    anim        stand_a_to_walk                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_to_walk.cas                -fr
    anim        stand_a_to_run                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_to_run.cas                -fr
    anim        stand_a_to_charge                            data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_to_charge.cas            -fr
    
    anim        walk                                        data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_walk.cas                        -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_walk.evt
    anim        walk_to_run                                    data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_walk_to_run.cas                    -fr
    anim        walk_to_stand_a                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_walk_to_stand_a.cas                -fr
    
    anim        run                                            data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_run.cas                            -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_run.evt
    anim        run_to_walk                                    data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_run_to_walk.cas                    -fr
    anim        run_to_stand_a                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_run_to_stand_a.cas                -fr
    anim        run_to_charge                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_run_to_charge.cas                -fr
    
    anim        jump                                        data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_jump.cas                        -fr
    anim        refuse                                        data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_refuse.cas                        -fr
    
    anim        stand_a_turn_90_cw_1                        data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_turn_90_cw_1.cas        -mintd:10    -maxtd:115
    anim        stand_a_turn_90_cw_2                        data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_turn_90_cw_1.cas        -mintd:10    -maxtd:115
    anim        stand_a_turn_90_ccw_1                        data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_turn_90_ccw_1.cas        -mintd:10    -maxtd:115
    anim        stand_a_turn_90_ccw_2                        data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_turn_90_ccw_1.cas        -mintd:10    -maxtd:115
    
    anim        shuffle_forward                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_shuffle_forward.cas                -fr
    anim        shuffle_backward                            data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_shuffle_backward.cas            -fr
    anim        shuffle_left                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_shuffle_left.cas                -fr
    anim        shuffle_right                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_shuffle_right.cas                -fr
    
    anim        stand_a_hf_idle_1                            data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_hf_idle_1.cas            -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_hf_idle_1.evt
    anim        stand_a_hf_idle_2                            data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_hf_idle_2.cas            -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_hf_idle_2.evt
    anim        stand_a_hf_idle_3                            data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_hf_idle_3.cas            -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_hf_idle_3.evt
    anim        stand_a_lf_idle_1                            data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_lf_idle_1.cas            -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_lf_idle_1.evt
    
    anim        idle_to_swim                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_to_walk.cas                -fr
    anim        swim_to_idle                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_walk_to_stand_a.cas                -fr
    anim        swim_idle                                    data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_idle.cas                -fr
    anim        swim                                        data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_walk.cas                        -fr
    anim        swim_shuffle_forward                        data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_shuffle_forward.cas                -fr
    anim        swim_shuffle_backward                        data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_shuffle_backward.cas            -fr
    anim        swim_shuffle_left                            data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_shuffle_left.cas                -fr
    anim        swim_shuffle_right                            data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_shuffle_right.cas                -fr
    
    anim        die_forward_1                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_forward_1.cas                -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_forward_1.evt
    anim        die_backward_1                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_backward_1.cas                -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_backward_1.evt
    anim        die_forward_2                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_forward_2.cas                -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_forward_2.evt
    anim        die_backward_2                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_backward_2.cas                -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_backward_2.evt
    anim        die_to_back_right_1                            data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_backward_1.cas                -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_backward_1.evt
    anim        die_to_back_right_2                            data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_backward_2.cas                -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_backward_2.evt
    anim        die_to_back_left_1                            data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_backward_1.cas                -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_backward_1.evt
    anim        die_to_back_left_2                            data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_backward_2.cas                -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_backward_2.evt
    anim        die_falling_cycle                            data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_backward_1.cas                -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_backward_1.evt
    anim        die_falling_end                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_backward_1.cas                -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_backward_1.evt
    anim        die_refusing                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_refusing.cas                -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_refusing.evt
    anim        die_galloping                                data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_galloping.cas                -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_die_galloping.evt
    
    
    ;;;; other
    
    anim        taunt_1                                        data/animations/ICE_HR_bow/ICE_HR_bowman_taunt_1.cas                                                -fr    -evt:data/animations/ICE_HR_bow/ICE_HR_bowman_taunt_1.evt
    anim        celebrate_1                                    data/animations/ICE_HR_bow/ICE_HR_bowman_celebrate_1.cas                                                -fr    -evt:data/animations/ICE_HR_bow/ICE_HR_bowman_celebrate_1.evt
    anim        celebrate_2                                    data/animations/ICE_HR_bow/ICE_HR_bowman_celebrate_1.cas                                                -fr    -evt:data/animations/ICE_HR_bow/ICE_HR_bowmn_celebrate_1.evt
    anim        ready                                        data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_idle.cas                -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_idle.evt                                                    -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_idle.evt
    anim        stand_a_to_ready                            data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_idle.cas                -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_idle.evt                                        -fr
    anim        ready_to_stand_a                            data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_idle.cas                -fr    -evt:data/animations/ICE_HR_bow/HR_bow_horse_req/HR_bow_fs_horse_stand_a_idle.evt                                        -fr
    
    
    ;;;;;;;;;;;;;;;;;;;;;;    Weapon
    
    type            ICE_HR_Bow_Primary
    in_awareness    135.0
    in_zone            135.0
    in_centre        45.0
    
    anim            default                                data/animations/ICE_HR_bow/Weapon/w_ICE_HR_bowman_default.cas
    anim            stand_a_idle                        data/animations/ICE_HR_bow/Weapon/w_ICE_HR_bowman_default.cas
    anim            attack_missile_ready                data/animations/ICE_HR_bow/Weapon/w_ICE_HR_bowman_attack_missile_ready.cas
    anim            attack_missile_hold                    data/animations/ICE_HR_bow/Weapon/w_ICE_HR_bowman_attack_missile_hold.cas
    anim            attack_missile_release                data/animations/ICE_HR_bow/Weapon/w_ICE_HR_bowman_attack_missile_release.cas            -id:0.0, 1.5, 1.0

    the red colored text are the one i am not sure if they are right or not, but i tried both ways and it did not work.
    I read the animation manual what you made KE but i am not smart enough to figure what is the problem, i got ctd when loading battles and no specific report of cause. can any one else try to do it? may you get better luck.
    Contribuitor IBIICB-WOTN-Modeler-Scripter


  9. #9

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    Icedie, you made it too complex I think.
    This is what I came up with, descr_skeleton, you don't need a _primary as thats for the weapon itself.
    Spoiler Alert, click show to read: 

    Code:
    type ICE_HR_Bowman
    reference_points siege_engines/UnitModelsRefPoints/Bow_Ref_Point.modelReferencePoints
    in_awareness 135.0
    in_zone 135.0
    in_centre 45.0
    anim default data/animations/MTW2_Bowman/MTW2_Bowman_basepose.cas
    anim attack_missile_ready data/animations/MTW2_Bowman/MTW2_Bowman_attack_missile_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_attack_missile_ready.evt
    anim attack_missile_hold data/animations/MTW2_Bowman/MTW2_Bowman_attack_missile_hold.cas -fr
    anim attack_missile_release data/animations/MTW2_Bowman/MTW2_Bowman_attack_missile_release.cas -fr -id:0.0, 1.5, 1.0 -evt:data/animations/MTW2_Bowman/MTW2_Bowman_attack_missile_release.evt
    anim knockback_from_front data/animations/MTW2_Bowman/MTW2_Bowman_knockback_from_front.cas -evt:data/animations/MTW2_Bowman/MTW2_Bowman_knockback_from_front.evt
    anim knockback_from_back data/animations/MTW2_Bowman/MTW2_Bowman_knockback_from_back.cas -evt:data/animations/MTW2_Bowman/MTW2_Bowman_knockback_from_back.evt
    anim knockback_from_right data/animations/MTW2_Bowman/MTW2_Bowman_knockback_from_right.cas -evt:data/animations/MTW2_Bowman/MTW2_Bowman_knockback_from_right.evt
    anim knockback_from_left data/animations/MTW2_Bowman/MTW2_Bowman_knockback_from_left.cas -evt:data/animations/MTW2_Bowman/MTW2_Bowman_knockback_from_left.evt
    ;;; basic locomotion for horse
    anim stand_a_idle data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.evt
    anim stand_a_to_walk data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim stand_a_to_run data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim stand_a_to_charge data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim walk data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim walk_to_run data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim walk_to_stand_a data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim run data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim run_to_walk data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim run_to_stand_a data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim run_to_charge data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim jump data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim refuse data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim stand_a_turn_90_cw_1 data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim stand_a_turn_90_ccw_1 data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim shuffle_forward data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.evt
    anim shuffle_backward data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.evt
    anim shuffle_left data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.evt
    anim shuffle_right data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.evt
    anim stand_a_hf_idle_1 data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.evt
     
    anim idle_to_swim data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.evt
    anim swim_to_idle data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.evt
    anim swim_idle data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_idle.evt
    anim swim data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim swim_shuffle_forward data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim swim_shuffle_backward data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim swim_shuffle_left data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim swim_shuffle_right data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
     
    anim die_forward_1 data/animations/MTW2_Bowman/MTW2_Bowman_die_forward_1.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_die_forward_1.evt
    anim die_forward_2 data/animations/MTW2_Bowman/MTW2_Bowman_die_forward_2.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_die_forward_2.evt
    anim die_backward_1 data/animations/MTW2_Bowman/MTW2_Bowman_die_backward_1.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_die_backward_1.evt
    anim die_backward_2 data/animations/MTW2_Bowman/MTW2_Bowman_die_backward_2.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_die_backward_2.evt
    anim die_falling_cycle data/animations/MTW2_Bowman/MTW2_Bowman_die_flailing_cycle.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_die_flailing_cycle.evt
    anim die_falling_end data/animations/MTW2_Bowman/MTW2_Bowman_die_flailing_cycle_end.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_die_flailing_cycle_end.evt
     
    ;;;; other
    anim taunt_1 data/animations/MTW2_Bowman/MTW2_Bowman_taunt_1.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_taunt_1.evt
    anim taunt_2 data/animations/MTW2_Bowman/MTW2_Bowman_taunt_2.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_taunt_2.evt
    anim taunt_3 data/animations/MTW2_Bowman/MTW2_Bowman_taunt_3.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_taunt_3.evt
    anim celebrate_1 data/animations/MTW2_Bowman/MTW2_Bowman_celebrate_1.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_celebrate_1.evt
    anim celebrate_2 data/animations/MTW2_Bowman/MTW2_Bowman_celebrate_1.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_celebrate_1.evt
    anim ready data/animations/MTW2_Bowman/MTW2_Bowman_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready.evt
    anim stand_a_to_ready data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_to_ready.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_stand_A_to_ready.evt
    anim ready_to_stand_a data/animations/MTW2_Bowman/MTW2_Bowman_ready_to_stand_A.cas -fr -evt:data/animations/MTW2_Bowman/MTW2_Bowman_ready_to_stand_A.evt

    And my test unit, french_mounted_archers battle_models entry.
    Spoiler Alert, click show to read: 

    22 french_mounted_archers
    1
    4
    71 unit_models/_Units/LN_Brigandine_heavy/french_mounted_archers_lod0.mesh 121
    71 unit_models/_Units/LN_Brigandine_heavy/french_mounted_archers_lod1.mesh 900
    71 unit_models/_Units/LN_Brigandine_heavy/french_mounted_archers_lod2.mesh 2500
    71 unit_models/_Units/LN_Brigandine_heavy/french_mounted_archers_lod3.mesh 6400
    1
    6 france
    77 unit_models/_Units/LN_Brigandine_heavy/textures/LN_ Brigandine_france.texture
    77 unit_models/_Units/LN_Brigandine_heavy/textures/LN_ Brigandine_normal.texture
    53 unit_sprites/france_French_Mounted_Archers_sprite.spr
    1
    6 france
    68 unit_models/AttachmentSets/Final European Archer_france_diff.texture
    68 unit_models/AttachmentSets/Final European Archer_france_norm.texture
    0
    1
    5 Horse
    13 ICE_HR_Bowman
    18 MTW2_HR_Non_Shield
    1
    19 MTW2_HR_Bow_Primary
    1
    18 MTW2_Sword_Primary
    16 -0.090000004 0 0 -0.34999999 0.80000001 0.60000002

    I did not rename all the .cas files, that would take hours, as long as the scale is the same the same anim type can be shared between skeletons.
    Results, men that stand up and don't have any leg animation when the mounts move. They are in ready stance unless attacking or being hit...
    Spoiler Alert, click show to read: 



    More to do though, when the unit engages in combat it switches to swords and becomes seated...
    Spoiler Alert, click show to read: 



    So a new animation set must be created for the melee combat in the same way as I created the ICE_HR_Bowman.
    Just remember to remove any .idx and .dat from your animations folder when you make changes to descr_skeleton or they will not show up.

    #Edit
    You may not have to make a full copy of the exsisting descr_skeleton entry. As long as you have the combat, death, idle, ready, taunts and celebrate anims and you do not make the new entry have a parent, it should in theory be enough.
    Last edited by Eothese; October 04, 2008 at 05:47 AM.

  10. #10

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    Glad to see you guys motoring ahead .. I've stalled on the grid.

    Ok, got your new bones included KE .. but your goat is being stubborn. First picture looks fine.





    Adding animations AND zeroing joints, all looks good ..




    BUT .. when I try to get goat to convert to MESH (MS3D to MESH) I get this error message .. I've tried GOM's converter but I only the horses!?

    plus I still have the problem of missing pieces, I've changed all the class name.. no go!





    HELP!! Maybe ICedie can provide his working mesh?

    R

    EOthese, thanks for the help, will check out that once I get to that stage.

    .
    Last edited by Rorarii; October 04, 2008 at 08:10 AM.
    oOo

    Rome 2 refugee ...

    oOo

  11. #11
    KnightErrant's Avatar Decanus
    Join Date
    Jan 2007
    Location
    Huntsville, Alabama USA
    Posts
    578

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    @Rorarii (and Icedie and Eothese)
    First to Rorarii, what is your file named? The converter has to figure out
    if a .ms3d model is a human unit, a mount, or a siege_engine. For vanilla
    stuff, it looks for siege_engine stuff in the material comments. That doesn't
    happen here so it needs to decide if it is a human or a mount. For the
    chariot it probably needs mount_ in the name somewhere to decide. Then
    it can back convert. (I think, if not, I'll ask for the model and see what's
    going on. These things happen when pushing the envelope.)

    I'd like to volunteer to do some of the animation stuff but I think we need
    to make sure the two models can use the same animations. Rorarii's model
    with the extra bones in it looks matched once we can get it back
    converted. Icedie, is it a big deal to change your model's length,
    wheel base, and probably wheel diameter, somewhat if needed?
    What I'd like to do is get an agreed upon extra bone model that can be
    used for both models. Then I'd propose that I do the exporting of the
    skeleton from the model to a copy of the fs_horse animations directory.
    This just puts in the three extra bones and makes space for animation
    data. What I'd like to do is work on the walk, run, etc. animations to see
    if I can remove the "leaf shaking" effects of having the chariot assigned
    to bone_saddle by assigning it to bone_chariot and also animating the
    wheels with bone_Rwheel and bone_Lwheel. If that looks ok in Milkshape,
    I zip up the animations and post them back to you guys to try out.
    That still leaves some of the special horse stuff, and the question of
    the dead double horse animations, but at least you can see how the
    basic stuff looks in the game. This requires the descr_skeleton.txt entry
    for them but that's basically just copying fs_horse and changing the
    path name to point at the new animations directory.

    Does that sound like an ok project to work on? You both would have
    your own model, and you could maybe split the remaining animations
    between yourselves. (The dead horses still gets me. Maybe just bury
    one beneath the ground versus trying to get two horses to slump
    realistically when you only have one skeleton to work with.)

  12. #12

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    changing the name to "mount_<etc>" didn't work.

    Here's my latest mesh i'm playing around with, maybe someone else can get it to work?

    R
    oOo

    Rome 2 refugee ...

    oOo

  13. #13
    KnightErrant's Avatar Decanus
    Join Date
    Jan 2007
    Location
    Huntsville, Alabama USA
    Posts
    578

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    I'd like to play. You've given a great effort to this project, so I'd like to push
    it to where it can go with our current knowledge. I'm very up and willing to do animations, or is this a sticking point? I think we don't have to redo CA's stuff for the horses, just include the bone_chariot, bone_Lwheel, and bone_Rwheel additionss. (Sorry, I do tend to vanish over the weekends.)

  14. #14

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    KE, is Planarize Seam Normals working only for Y-axis aligned seams? I've tried it on shield faces and I'm getting some weird results, like a few patches of darker shades along the surface.

    Also, is it normal that it doesn't stick when I do Refresh Textures?

    Author of the ---== Knights Templar Mod ==---
    Creator of the ---== Lord Calidor's Weapon Pack 1 ==---
    Member of the ---== Dominion of the Sword ==--- and ---== C.B.U.R.P ==---

  15. #15

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    well i've tried convert some vanilla units from rtw and rtw-bi, some works fine but some isn't working, for example ( unit_roman_slinger_high, unit_roman_praetorian_high) this give error :

    Common sense removed due being Disruptive.

  16. #16
    KnightErrant's Avatar Decanus
    Join Date
    Jan 2007
    Location
    Huntsville, Alabama USA
    Posts
    578

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    @Ataegina
    I only had a few units to test on and even those had variations in
    the format so this may be another variation. I'll PM you an e-mail
    address. If you could send me one of the units it is failing on, I'll
    take a look and see if I can get it to work and then update GOAT.

    @Lord_Calidor
    Unfortunately, this is a very limited operation, only meant to fix the
    head and underarm seams. If a selected vertex has a small x-coordinate,
    like the seam over the head, then Planarize will remove the x-components
    of the normals and renormalize them to be unit vectors again, i.e. it
    forces the normals to lie in the y-z plane. If a selected vertex has
    a small z-coordinate, like the underarm seam, it removes the normal's
    z-component and makes it lie in the x-y plane. So using it elsewhere
    probably will make bad normals for those cases.

    I tried making a C++ plugin so users could interact in Milkshape but what
    I found was that Milkshape recalculates everything after a plug-in runs
    that touches data. So the changes would be made but then instantly
    wiped out.

    And yes, anything that touches data, like refreshing textures, or just making
    a single triangle triggers the auto-recalc of the geometry and the normals
    get recalculated.

    @Rorarii
    Sorry, don't know where my mind was at: put a _lod0 at the end of the
    name and it will back convert because it can now figure out what the
    lodname should be. This won't get it in-game though because the extra
    bones will conflict with the vanilla horse animations which don't have them.
    (You might be able to get the game to load and see them, but the moment
    you make them move will probably crash it.)

    The User's Guide has more explanation but basically make a working
    directory and copy all the fs_horse animations into it. Then run
    the extractskeleton button and select your extra bone model. This
    will produce a text file with the extension .skelexport. Then run the
    exportskeleton button, select that .skelexport file, then select your
    working directory with the fs_horse files in it. This will create a
    subdirectory named convertedfiles and will have copies of all the fs_horse
    animations in it but now with your three extra bones. No real animation
    data just 0's for position and identity quaternions for rotations.

    The trick now is to make a new animation family in descr_skeleton.txt.
    Find the fs_horse entry for battlefield animals. The first few lines look
    like:

    Code:
    type        fs_horse
    ; locomotion_table mount
    scale        1.12
    
    anim        default                                        data/animations/fs_horse/fs_horse_Default.CAS
    
    ;;basic horse locomotion
    
    anim        stand_a_idle                                data/animations/fs_horse/fs_horse_stand_a_idle.cas                -fr
    anim        stand_a_to_walk                                data/animations/fs_horse/fs_horse_stand_a_to_walk.cas            -fr        -evt:data/animations/fs_horse/fs_horse_stand_a_to_walk.evt
    anim        stand_a_to_run                                data/animations/fs_horse/fs_horse_stand_a_to_run.cas            -fr        -evt:data/animations/fs_horse/fs_horse_stand_a_to_run.evt
    Copy the whole entry for fs_horse. Change the type to something
    like fs_horse_chariot. Then copy the convertedfiles directory into
    your animations directory and rename it to fs_horse_chariot. Then
    change the paths in descr_skeleton.txt for your new entry to point
    to that directory. (Don't do search and replace on fs_horse, do it
    on /fs_horse/. Learned that the hard way because I messed up all
    my file names.) Now if you rebuild your packs you've got extra bone
    animations for your chariot. Just need to change the animation name
    in the modeldb to be fs_horse_chariot instead of fs_horse.

    Edit: Thanks for posting the model. I'm going to do the above procedure and start
    working on the walk and run anims to see how hard it is to get rid of the
    "leaf shaking" effect.
    Last edited by KnightErrant; October 07, 2008 at 11:56 AM.

  17. #17

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    There are anims in for Chariot Cav in the unpacked files, probably for the rider. Can't recall the whole details at the moment. (Not at my main machine). But they should be usable. I would be willing to work on this if anyone has a lod they don't mind sharing. I don't plan on using chariots for anything, i just enjoy playing around with this sort of thing when I have time...

  18. #18
    KnightErrant's Avatar Decanus
    Join Date
    Jan 2007
    Location
    Huntsville, Alabama USA
    Posts
    578

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    @Rorarii
    Arghh, just tried the export of the extra bone skeleton and the script failed. Haven't
    tried this on an animal before, just humans. So wait on trying the above
    until I can get the bugs worked out.

    @Eothese
    Rorarii did post a model earlier. If he doesn't mind, you could do anims with that.
    Have to wait until I get the exporting corrected, of course.

  19. #19
    KnightErrant's Avatar Decanus
    Join Date
    Jan 2007
    Location
    Huntsville, Alabama USA
    Posts
    578

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    @Rorarii and Eothese
    Found the problem. Script is fine I just had a leftover camelasahorse
    .cas file from back when Bwian and I were messing with this and that's
    what crashed the script. Deleted that file and the export ran fine.

  20. #20

    Default Re: GOAT and GOAL: A collection of modelling and animation utilities

    KnightErrant,
    Ah yes I found it, an MS3D file.
    No problem, although I would prefer to finnish the wardog first.
    So no pressure on yourself!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •