Page 1 of 11 12345678910 ... LastLast
Results 1 to 20 of 233

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

Hybrid View

  1. #1
    KnightErrant's Avatar Taihō no heishi
    Join Date
    Jan 2007
    Location
    Huntsville, Alabama USA
    Posts
    578

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

    This is a release of various previously released standalone utilities collected together into one
    User Interface. It also includes a fair number of new utilities for models and animations.
    There is also an updated ms3dImportExport_ver1_3.ms Max Script which has the same functionality
    as version 1.1 but is designed for the new way data is stored in the .ms3d files. Also a little
    bone assignment script for 3ds Max and Gmax users is included. The .zip file containing the
    release can be downloaded from here:

    Edit: Sigh, made a mistake in the release. Put version numbers on the
    Python files but didn't change the import statement in the Toolbox.
    The CORRECTED release .zip file is here:

    http://www.twcenter.net/forums/downl...o=file&id=2092

    Apologies to those who downloaded the first one.

    The three files that make up the utility are GameObjectApplicationLibrary_v1_0.py, GameObjectApplicationToolbox_v1_0.py,
    and goat.ini. The library is the largest file and the workhorse while the toolbox is the file you click on
    in explorer to run the User Interface. goat.ini is a small text file where you can set default paths
    for the File Choosers to open up in. There is also a User's Guide in .pdf format named, naturally enough,
    UsersGuide.pdf. It isn't a tutorial on modelling or animations, it just tells you how to run the different
    buttons and what directory the output files will appear in. However, it does go into some detail on a few
    buttons whose function might not be clear. There is also a short walk through on the steps needed to put
    a custom bone unit in game, that is, a human unit with the standard skeleton but extra bones added to it.

    -----------------------------
    Old Utilities being Recycled
    -----------------------------

    Mesh converter for humans, mounts, and siege engines. The siege engine skeletons should be correct
    this time around.

    Strat map model converter.

    UV maps to dds utility.

    Animmerge, animextract, extract skeleton, export skeleton, survey cas directory, cas to text converter.
    Animmerge can now merge siege engine animation files with siege engine models. Due to a bug in Milkshape
    some of these merged files kill Milkshape when you try to run the animation. However they play fine
    when imported into Gmax or Max.

    Importing of RTW raw animations into the M2TW formatted .cas file format.

    -----------------------------
    New Features
    -----------------------------

    A RTW battle .cas to .ms3d converter. Puts in a default model comment (bounding sphere), and
    default group comments. Resulting file will open in Milkshape but the comments should be checked
    especially for weapons and shields.

    Banner mesh converters for changing the look of the vanilla banners.

    A merge facility to go with the regular mesh converter.

    A merge with external skeleton to easily put custom skeletons into a model. The idea here is that
    the skeleton can be defined in a little text file which can be posted in a thread or e-mailed.
    This way everyone working on a mod can have easy access to one "gold standard" custom skeleton and
    merge it into any model they want.

    Planarize Seam Normals utility to fix lighting seams on the head or underneath the arms. This is
    complicated so see the User's Guide for an explanation.

    Two SLERP utilities for interpolating frames of an animation .cas file. These can be used to
    speed up or slow down animations.

    A concatenate animations button for concatenating two animations into one.

    Various debugging utilities but probably not of general use.

    Here's a screenshot showing the User Interface for GOAT:



    Each button has a little Info button next to it to give you some quick help on what the button
    is for, how to use it, and where the output files will go.


    ========================================================================
    ms3dImportExport_ver1_3.ms Script:
    ========================================================================

    The ms3dImportExport script has been updated to work with the new way the data is now
    stored in the .ms3d file, specifically animation data but also the texture file names for
    siege engines. Functionally it looks the same as version 1.1, that is, two buttons for
    importing/exporting full models, and two buttons for importing/exporting geometry scraps.
    It has been modified to make all the vertex normals into explicit normals, meaning 3ds Max
    will NOT recalculate them. (Sorry Gmax users, Gmax doesn't have explicit normals so this
    doesn't apply to you when you run this script.) This means lighting seams won't get introduced
    into your models because CA's normals will be kept. An example of putting an Edit Normals modifier
    on the head_01 mesh is shown below:



    Note that explicit normals are shown as green while regular normals are blue.

    If you need to change some normals back to regular normals to let the game recalculate them,
    put an Edit Normals modifier on the stack and select the normals and click the reset button to
    turn them back into regular normals. Of course don't do this to normals where lighting seams
    might occur, like down the head or your regular normals will look like this:



    and that leads to the familiar lighting seam:




    ========================================================================
    BoneAndWeightInfo.ms Script:
    ========================================================================

    I've included a utility script for examining and changing bone assignments. This is
    probably of little use to Max users who use the weight table but may be of use to Gmax
    users wanting an alternative to the graphical way of doing bone assignments.
    To use it select a mesh from your model and put a mesh select modifier on top of the skin
    modifier and select some vertices. Then run the script by going to menu item
    MAXScript->Run Script and navigating to where you installed the script and selecting it.
    It will display a GUI with a listbox showing the bone assignments and their weights for the
    vertices you selected as well as the vertex locations. You can select a new set and
    then click the "Refresh Selection Info" button to refresh the information. Here's a screenshot
    of some selected vertices being displayed in the listbox.



    One can also change the assignments by selecting some vertices
    and then setting the primary and secondary bone and the primary weight (secondary weight is
    always 1 minus the primary) and then clicking the "Do Reassignments" button.

    Other buttons are the "Check Vertices" button which checks all the meshes in the model to see
    if there are any unassigned vertices. There is the "Assign All Single Mesh" button where
    you select a mesh, set the primary and secondary assignments and the primary weight then click
    the button to assign the entire mesh to those values. There is the "Assign All to Root" button
    which assigns every vertex to the root bone, usually bone_pelvis. This is the "start over
    from scratch" button. Finally there is the "Auto Assign" button which tries to automate the
    bone assignments for every mesh. This only works if your model follows the CA style of
    meshes and group types, i.e., Body, Arms, Legs, Head, Hands, primaryactive0, etc.
    It uses the group type to figure out what it is working on, for example, Body, then it uses
    the z-coordinate to decide if it should assign to bone_pelvis, bone_abs, or bone_torso.
    For group type Arms it would use the x-coordinate to decide on bone_rhand, bone_relbow, etc.
    It also does a little vertex weighting about the joints which may or may not be desired.
    It is meant to do most of the work automatically and then the user can go back and make any final
    adjustments by hand.


    Edit:
    Known deficiencies:
    (1) ms3dImportExport_ver1_3 does not import and export banner .ms3d files.
    (2) ms3dImportExport_ver1_3 does not use explicit normals to fix lighting seams when using the
    "Import geometry only" button.

    Tutorial Links:
    TSD has a tutorial on converting RTW battle models to M2TW models using the "Convert RTW battle cas"
    button here:
    http://www.twcenter.net/forums/showthread.php?t=190754
    Also some nice examples here:
    http://www.twcenter.net/forums/showthread.php?t=188867
    Last edited by KnightErrant; September 12, 2008 at 10:51 AM. Reason: Bad file in release, problem corrected

  2. #2
    Opifex
    Join Date
    Feb 2005
    Location
    New York, USA
    Posts
    15,959

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

    KE you shouldn't use "GOAT and GOAL" b/c that will be totally confusing for 99.999% of all people. GOAL isn't something for people to use in the first place.

    I really think you should just call it "GOAT: A toolkit for universal model editing". And by the way, it's awesome.
    Last edited by SigniferOne; September 04, 2008 at 04:15 PM.


    "If ye love wealth greater than liberty,
    the tranquility of servitude greater than
    the animating contest for freedom, go
    home from us in peace. We seek not
    your counsel, nor your arms. Crouch
    down and lick the hand that feeds you,
    and may posterity forget that ye were
    our countrymen."
    -Samuel Adams

  3. #3
    Yelü Dashi's Avatar Gürkhan
    Join Date
    Nov 2007
    Posts
    1,710

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

    KE - you are a god among modders. And thank you - you've just made my life a hell of a lot easier.

  4. #4
    B. Ward's Avatar ★★★★ RockNRolla ★★★★
    Join Date
    Feb 2007
    Location
    East Coast, United States
    Posts
    4,373

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

    As always, great job KE. Adding this to the tools and resources thread.

  5. #5
    KnightErrant's Avatar Taihō no heishi
    Join Date
    Jan 2007
    Location
    Huntsville, Alabama USA
    Posts
    578

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

    Thanks guys. I will just refer to it as GOAT alone. Just in case
    someone misses the edit statement, the first release has a problem
    in that I put version numbers on the Python files but didn't change the
    import statement in the toolbox. Fixed it and substituted the new .zip
    in the download link. (Great, I get to do my own first bug report...)

  6. #6
    jmrc's Avatar Yari-hei
    Join Date
    Jun 2007
    Location
    Lisbon, Portugal
    Posts
    100

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

    KnightErrant, you are simply fantastic! A great THANK YOU for all you've done to the community as a whole!


    "Death Smiles at Us All,all a Man Can Do Is Smile Back."
    Maximvs Decimvs Meridivs, Commander of the Armies of the North, General of the Felix Legions, Iberian Gladiator.

  7. #7
    AlphaDelta's Avatar For Country..
    Join Date
    Feb 2007
    Posts
    3,082

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

    It's an excellent utility and I was glad to be able to help test it! +rep

    Cheers
    "I don't want to sit around Windsor because ermm .. I just generally don't like England that much" - Prince Harry, 3rd in Line for the British Thrown



    For King or Country - The English civil wars.

  8. #8
    Harry Lime's Avatar I'm gonna fade away
    Join Date
    Feb 2005
    Location
    Kent, England
    Posts
    15,283

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

    Downloaded like Flynn!

    +rep Good Sir Knight
    Proud Patron of derdrakken, dave scarface, J@mes & irishron
    Indulging in the insight & intelligence of imb39

  9. #9
    Opifex
    Join Date
    Feb 2005
    Location
    New York, USA
    Posts
    15,959

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

    KE, I think I told you about this bug and you forgot to look into it a while back: GOM's mesh converter hasn't been entirely successfully carried over. I suspect it because such a unit loads up into battle but crashes as soon as I move the camera, while it works perfectly ok with GOM's program.

    Can anyone report the same problem before KE takes a look?


    "If ye love wealth greater than liberty,
    the tranquility of servitude greater than
    the animating contest for freedom, go
    home from us in peace. We seek not
    your counsel, nor your arms. Crouch
    down and lick the hand that feeds you,
    and may posterity forget that ye were
    our countrymen."
    -Samuel Adams

  10. #10
    KnightErrant's Avatar Taihō no heishi
    Join Date
    Jan 2007
    Location
    Huntsville, Alabama USA
    Posts
    578

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

    @JMRC and AlphaDelta,
    Many thanks for your comments, and many more for your testing and
    suggestions.

    @SigniferOne,
    All units? or just some. My testing was only on some standard ones
    available at work like, I know, armored_sergeants. A quick test I can
    do tomorrow on a unit where you've seen this is a back-and-forth with
    Grumpy's converter, and same with this, and then just convert both
    back converted meshes to text and compare. It can't be the data, it has
    to be a granny string. The banner meshes wouldn't work until one little
    byte in the big granny string at the end was corrected.

    @Spartos,
    Can't really answer the question in a PM because I can't do pictures.
    I'll answer here and then PM you. For this example I import the
    armored_sergeant into 3ds Max. This took a long time with a lot of flashing
    as the normals were put in. Unfortunately, they aren't showing up as
    green so they are still regular normals. I've seen this before where it
    doesn't always work, don't know why, but it's perfect to answer the
    question of how to do it by hand. Here's the bad normals on the head:



    The scale is all wrong, this is like the bones in Milkshape before you resize
    them back to 0.025. For this, set the size in the red circled box to 0.1.
    Also check the box for show handles. Then you should see:



    Now select some of the bad normals, change to select and move on the
    main toolbar, then move them to near vertical like this:



    They should change to green to show they are now explicit normals.
    Continue like this for all the normals around a seam, be it on the head
    or under an arm. The seams show up on every mesh, it's just some display
    worse than others. The arms and legs will also have seams but they
    don't usually show up as bad as the head or the body.

    When you've fixed everything that looks bad, move the Edit Normals
    modifier below the Skin Modifier and then do a "Collapse To..." to put
    the changes into the Editable Mesh to save them. That should fix the
    problem the way CA does seam problems.

  11. #11
    KnightErrant's Avatar Taihō no heishi
    Join Date
    Jan 2007
    Location
    Huntsville, Alabama USA
    Posts
    578

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

    Spartos raised a point I forgot to mention. Since the banner meshes got
    added in at the last moment, the 3ds Max import/export script won't
    handle them since they have extra data above and beyond what regular
    units, mounts, and siege engines do. This will have to wait for an update
    in the future.

    @SigniferOne,

    I used GOMs converter to forward and back convert armored_sergeants
    lod0 and lod3 and croat_axemen_lod0 for good measure. Then I did the
    same forward and backward conversion with GOAT. Can't find any
    difference between them in the granny strings and only tiny differences
    in the RGB encoded tangent space basis, which you'd expect from
    converting to floats and back to bytes again in Python versus
    Blitz Basic.

    One question, is it possible you used GOAT for the back conversion and
    converted a GrumpyOldMan .ms3d file? The script will make a .mesh file
    without complaint but it will only have the 3 composite weapon/shield
    bones that Grumpy uses, it won't convert them to the correct 6 bones.
    If you hexedit the back converted file and go to the bottom and look up
    about 17 or 20 lines, see if you see a string like

    bone_weapon03_shield_shield01

    From what you described, the format of the .mesh seems to be correct
    so it loads, but the moment the game tries to access the data, like when
    the camera moves, it gets a name mismatch. Something to check at least.

  12. #12
    Lord_Calidor's Avatar King Tomislav
    Join Date
    Jan 2007
    Location
    Rijeka, CRO
    Posts
    1,012

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

    Is there a way to correct the normals (ie. so no seams in unit textures) without 3dsmax, as it's quite expensive? If possible, with Milkshape.

    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 ==---

  13. #13
    KnightErrant's Avatar Taihō no heishi
    Join Date
    Jan 2007
    Location
    Huntsville, Alabama USA
    Posts
    578

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

    @Lord_Calidor

    Yes, what started the discussion was: was there a way to do it
    in 3ds Max instead of using the Planarize Seam Normals button.
    This is in the User's Guide so I won't go into much detail. After you've
    done all your modelling and have no more geometry to add, you can
    select all the vertices where seams occur, usually the head and under one
    arm. Something like this:



    Now save the file with the vertices still selected. Then you can run
    GOAT and click the Planarize Seam Normals button and in the File
    Chooser select that file. The utility will run over all
    the selected vertices on the head and remove the x-components from
    the normals so they point straight out, and then run over the selected
    vertices on the side and remove the z-components of the normals so
    they also look correct. (That's the "Planarize" part in the name.)
    The output file will have _seamplanarized added to the filename.

  14. #14
    Lord_Calidor's Avatar King Tomislav
    Join Date
    Jan 2007
    Location
    Rijeka, CRO
    Posts
    1,012

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

    That's awesome. Thnx for explanation, KE!

    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
    Spartos's Avatar Yamabe
    Join Date
    Mar 2007
    Posts
    227

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

    Sorry to bother again KE, I can't seem to use the Merge function properly with 3ds Max. With GOM's converter I found I could merge any too files even if they had skeletons and the resulting single skeleton would work fine and have all proper bone weights. However, converting files with GOM's converter and loading them with the new ms3dimport/export_1_3 script for 3ds Max doesn't planarize the seems automtically. So I decided to do a merge with GOAT.

    The problem is that too skeletons will not merge as with GOM's converter. In your GOAT pdf you said to delete the bones first with one file and then merge with another that has bones, but I cannot export an MS3D without bones or skin modifier. I can export geometry but that way no vertex weighting is maintained. I can't even export geometry an then import the same file with import gemoetry (error message, script fails) This is really confusing, everything is against me.

  16. #16
    Rorarii's Avatar Chugen
    Join Date
    Aug 2004
    Posts
    2,071

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

    Your too good to us KE .. we definitely don't deserve it!

    Glad there's more Milkshape utilities available for us poor sods

    I'll download it now but probably won't use it till later.


    R
    GREAT IDEAS for ROME 2
    ====================
    (1) Sub Factions per Nation
    *Rome - Etruscan, Sabine, Samnite, greek cultural regions
    *Selecuid - Syria, Persian etc cultural regions
    *Ptolemaic - Egypt, Levant, etc cultural regions
    (2) Roman Laws
    * Change Rome everytime you play by the laws you enact.
    (3) New Diplomat Agent - Leader of the Poor
    * Negoiate with the have-nots to change egalitarism in your society



  17. #17
    KnightErrant's Avatar Taihō no heishi
    Join Date
    Jan 2007
    Location
    Huntsville, Alabama USA
    Posts
    578

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

    @Rorarii
    Thanks!

    @Spartos
    You're a Max user, you don't need the merge facility. Try this example.
    It's useful to have the Listener open for this so hit F11 to open it.
    I want a weapon, say the axe from croat_axemen_lod0. I load the model
    into Max and then I run the ms3dImportExport_ver1_3.ms script. Now
    click the fourth button, the Export Geometry Only one.



    After clicking you get a select mesh dialog:



    You double-click to select a mesh, you can select multiple meshes for
    export if you want. The Listener echoes your choices so you can keep
    it straight. When through selecting click the "Finished Selecting" button.
    You get a File Chooser next where you can give a name to your geometry
    file. I set mine to testaxemerge.ms3d. The listener also gives you info
    about your exported geometry, for example, it tells you that it had uvs,
    material Ids, and bone assignments.

    Now close out of that model and import the model that will receive the
    geometry. Here I'll use armored_sergeants_lod0. I'll delete his two spears
    because he's now going to be an axe man.



    Now run the import/export script again. This time you want the
    Import Geometry Only button:



    Select the file containing the weapon, in my case testaxemerge.ms3d, in
    the File Chooser that appears. Then the merge is complete.



    The axe appears and the Listener gives you information about what it found.
    In this case, the geometry had uvs, Ids, and bone assignments, so the axe
    should already be assigned to bone_rhand. Just need to put an axe on your
    texture and adjust the uvs and you should be done.

  18. #18
    Spartos's Avatar Yamabe
    Join Date
    Mar 2007
    Posts
    227

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

    Thanks a lot KE you're the best. However, I tried exactly what you said and the script failed on importing the geometry. I figured out what the problem was though. I was trying to use the eastern_captain_lod0.mesh instead of the proper islamic_captain.mesh (there are two mesh files for every captain, one is used by the game, the other is a little different and obviously incompatible with the scripts.) Anyways, thanks for all the help. (+rep)

    EDIT: Just a little quirk with this method. When I import heads (or a body for that matter) onto a skeleton the seams aren't fixed. I export as ms3d and then import again, but the seams are still there. That's alright now I know how to fix them thanks to KE.
    Last edited by Spartos; September 12, 2008 at 08:19 AM.

  19. #19
    KnightErrant's Avatar Taihō no heishi
    Join Date
    Jan 2007
    Location
    Huntsville, Alabama USA
    Posts
    578

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

    Ah, you are right about the import geometry button. When I updated
    the code to use explicit normals to fix lighting seams, I only did it on
    the "Import ms3d File" button. So two things go on the todo list:
    add in import/export banner .ms3d files, and fix lighting seams on the
    geometry buttons.

  20. #20
    Eothese's Avatar Author
    Join Date
    Jan 2008
    Location
    UK
    Posts
    3,184

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

    What software do I need to open the GameObjectApplicationToolbox_v1_0?

    Ok I got the python installed, will this work with 3ds max?
    Last edited by Eothese; September 15, 2008 at 03:46 PM.

Page 1 of 11 12345678910 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

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