1. Are you planning to upload your awesome tool to Hive? Please review the rules here.
    July 9, 2018: The rules for the Tool Section have been revised. Please be sure to read the revisions.
    Dismiss Notice
  2. The contestants were to create water structures for the 20th Terraining Contest. Choose one in the public poll!
    Dismiss Notice
  3. Join other hivers in a friendly concept-art contest. The contestants have to create a genie coming out of its container. We wish you the best of luck!
    Dismiss Notice
  4. The Melee Mapping Contest #4: 2v2 - Results are out! Step by to congratulate the winners!
    Dismiss Notice
  5. We're hosting the 15th Mini-Mapping Contest with YouTuber Abelhawk! The contestants are to create a custom map that uses the hidden content within Warcraft 3 or is inspired by any of the many secrets within the game.
    Dismiss Notice
  6. Check out the Staff job openings thread.
    Dismiss Notice

Matrix Eater 3D Model Editor

Submitted by Retera
This bundle is marked as approved. It works and satisfies the submission rules.
The Matrix Eater

With support from the community, I've been working on this tool for years. More so, I became a user of it, much to the dismay of the people who asked for the best and brightest features, because I have hardly added any features in favor of just using the program how it is.

What does the Matrix Eater do?

You can think of the Matrix Eater as an alternative to Magos's Model Editor or MdlVis, but I usually use all three of them in conjunction.

The Matrix Eater is visually like a multi-geoset version of Oinkerwinkle's Vertex Modifier from years ago, but it has the purple icon on the View Controller window which lets you move and edit Pivot Points also.

In addition, if you do Tools > Mirror and mirror a selection that includes pivot points, it will mirror the animation data. So you can make a Portrait model that faces the opposite way, or something, and still animates correctly.

The program understands the MDL format in its entirely, and has support for MDX that is newer and slightly less tested. If it spits out a broken MDX, then save as MDL and convert to MDX using other software. It can do this for you, if you go to View -> Use Native MDX Parser and turn it off, then it uses MDLX converter instead of its own code to convert to and from MDX ( so it's less likely to have any bugs ).

If you use File -> Import it can be like magic and do what you need, or break things. This new version includes pictures along with names to try to show you what part of the model you're looking at. The general idea is that it takes literally everything from a new model, dumps that into the interface alongside the model you already have open, and gives you choices of how to combine them and which new components to include. You can mash "leave all" a bunch and only include an attachment point, or you can import a grunt onto a dragon complete with animations and have an animated orc dragon rider. You just have to micromanage the little buttons and tell the pelvis of the grunt, and everything below it, to attach to the dragon's main body root.

Which version is this?

This is the official upload of the latest version of the Matrix Eater.

If there is anyone using an older version of the Matrix Eater, please stop using it and use this one. Until now, the program was only shared on forums here and there from links which were often broken and pointing to outdated versions.

If this one cannot do what an old version does, please comment on this upload and tell me why so I can fix it.

I really wanted to revamp this program and add new features and write a tutorial before I uploaded it onto the Hive, but I just haven't had time recently, and I want to stop sitting on this updated version because it has several internal fixes that should make it less likely to save buggy MDX models and so I feel the community deserves this new version in case anybody is using the program -- regardless of whether I end up getting the time to improve it to match up with my dreams or not.


I didn't check the box for Linux because I haven't tested it on there for a while, but if you're a Linux user and you want to run it on Linux, just run the JAR. Theoretically it should work, if you have a Warcraft install folder on the linux machine. I've tested that before and it seemed to work.

The real source code the program on Github is this Eclipse workspace:
GitHub - Retera/JWC3: Retera's Java WC3 libraries.

There is a similar one but it is way older and out of date.
Contents

Matrix Eater 3D Model Editor (Binary)

Reviews
eejin
A great tool for editing meshes and animations. There is a lot of functionality there and this tool surely makes editing models a lot easier! Having an undo option in the UV editor would be nice. The program also gives an error that it is missing...
  1. Retera

    Retera

    Tool Reviewer

    Joined:
    Apr 19, 2008
    Messages:
    780
    Resources:
    20
    Models:
    12
    Tools:
    2
    Maps:
    6
    Resources:
    20
    I haven't updated to 1.28 yet to test that yet, this probably means they changed the MPQ format.
    I'll have a look at that sometime soon.

    Edit: I just tested downloading the software from the Hive for the first time and now my laptop is telling me it contains a virus, despite the fact that when I developed it on my laptop -- the same one I just downloaded the .zip onto -- there was never an issue.

    The supposed virus warning (I am assuming a false positive) is coming out of the blplabcl.exe program which I got from Shadow Daemon a few years ago and which I do not have the source code for. However, it's just a Command Line interface for the BLP Lab program available here on the Hive, and I have never had any trouble with it before. This might be an update from Windows just being more paranoid, but for anyone concerned, I'll try to figure something out to make an update sometime soon.

    In the meantime, if your Windows Defender deletes blplabcl, I think the Matrix Eater will still work and just be unable to render any textures on models (since the BLP Lab command line utility it leverages to load BLP files into Java will fail without that program).
     
    Last edited: Apr 27, 2017
  2. Stefan.K

    Stefan.K

    Joined:
    Dec 29, 2014
    Messages:
    1,358
    Resources:
    50
    Models:
    50
    Resources:
    50
    Fantastic tool/program, I must say. From the first time I saw this I started using it. I can't imagine doing anything modeling related without this tool now. The only thing that bothers me is the fact that I can't properly transfer some animations sometimes. But I guess that's because I didn't quite learned the process of transfering animations. Besides that, I sometimes had problem to open some models, for example, the Malfurion model from in game. When I convert it from MDX to MDL format I can't open that model at all. I didn't downloaded this version, thought, maybe now works.
    Nonetheless, thank you, sire, very much for this tool, really.
     
  3. Retera

    Retera

    Tool Reviewer

    Joined:
    Apr 19, 2008
    Messages:
    780
    Resources:
    20
    Models:
    12
    Tools:
    2
    Maps:
    6
    Resources:
    20
    Glad to hear you like it!

    There's a bug with the Malfurion model that the name of one animation is, instead of "Stand Ready", set to "Stand Ready

    "

    In other words, it contains the ASCII "new line" character telling it to go to another line in the file, and this broke stuff in the Matrix Eater. If you can manage to convert Malfurion to MDL with a different program, you can just change the animation name to avoid this Matrix Eater bug. Perhaps I'll upload a fixed version of the program soon, but it means having it look for this strange special case.

    You can see in the MDL block, MalFurion has:

    Code (Text):
        Anim "Stand Ready






    " {
            Interval { 75667, 76667 },
            MinimumExtent { -182.496994, -147.304001, -93.549103 },
            MaximumExtent { 191.195007, 200.020996, 240.339005 },
            BoundsRadius 258.579987,
        }
    ... and it will work in the Matrix Eater if you change it to:

    Code (Text):
        Anim "Stand Ready" {
            Interval { 75667, 76667 },
            MinimumExtent { -182.496994, -147.304001, -93.549103 },
            MaximumExtent { 191.195007, 200.020996, 240.339005 },
            BoundsRadius 258.579987,
        }
    I hope that helps!
     
  4. Stefan.K

    Stefan.K

    Joined:
    Dec 29, 2014
    Messages:
    1,358
    Resources:
    50
    Models:
    50
    Resources:
    50
    Oh right. Then that's not the problem with the program itself, it's with the model. Thanks a lot.
     
  5. dtnmang

    dtnmang

    Joined:
    Apr 20, 2010
    Messages:
    398
    Resources:
    6
    Models:
    2
    Tutorials:
    4
    Resources:
    6
    The most powerful 3D model editor for Warcraft 3... yet. What Magos's editor is too inefficient to do, Matrix Eater can do with ease. This is a life saver; I would recommend it any day.
    (btw, Tvertices outside the bounds are still not shown properly and the animation viewer is kinda broken)
     
    Last edited: May 4, 2017
  6. Alok

    Alok

    Joined:
    Sep 6, 2015
    Messages:
    577
    Resources:
    17
    Models:
    6
    Icons:
    4
    Maps:
    3
    Tutorials:
    4
    Resources:
    17
    Getting an error titled "MatrixEater3D.exe - Bad Image" with the message "MatrixEaterV1.20.4\jre\bin\server\jvm.dll is either not designed to run on Windows or it contains an error" each time I run this version of the program, but the program works afterwards. In the previous versions I haven't been encountering this error.
     
  7. Retera

    Retera

    Tool Reviewer

    Joined:
    Apr 19, 2008
    Messages:
    780
    Resources:
    20
    Models:
    12
    Tools:
    2
    Maps:
    6
    Resources:
    20
    Hmm... Is your computer running a 32-bit, or a 64-bit OS? I think when I included the Java stuff so you wouldn't have to download it, I probably included one or the other that was working on my computer.
     
  8. Alok

    Alok

    Joined:
    Sep 6, 2015
    Messages:
    577
    Resources:
    17
    Models:
    6
    Icons:
    4
    Maps:
    3
    Tutorials:
    4
    Resources:
    17
    32-bit.
     
  9. Retera

    Retera

    Tool Reviewer

    Joined:
    Apr 19, 2008
    Messages:
    780
    Resources:
    20
    Models:
    12
    Tools:
    2
    Maps:
    6
    Resources:
    20
    Mine's probably 64-bit.
    Here's a possible fix to try, if you go to oracle's website and install Java SE Runtime Environment (if you're willing) and it installs to "C:/Program Files/Java/jreXXX", then see if you can copy this folder's contents instead of the "jre" folder in the Matrix Eater. It should replace the Matrix Eater's java that it is using with Java that is compatible with your computer -- assuming you download the right one.

    Edit: or try the attached ZIP file, which should have the 32 bit version, and let me know if it seems to work
     

    Attached Files:

    Last edited: Jun 1, 2017
  10. Alok

    Alok

    Joined:
    Sep 6, 2015
    Messages:
    577
    Resources:
    17
    Models:
    6
    Icons:
    4
    Maps:
    3
    Tutorials:
    4
    Resources:
    17
    I have Java installed already. I've copied the files and now everything works properly - there is no error.
     
  11. Retera

    Retera

    Tool Reviewer

    Joined:
    Apr 19, 2008
    Messages:
    780
    Resources:
    20
    Models:
    12
    Tools:
    2
    Maps:
    6
    Resources:
    20
    Cool. In future updates, maybe I should package with the 32-bit version to play it safe since that seems to work on my 64-bit Windows also.
     
  12. Alok

    Alok

    Joined:
    Sep 6, 2015
    Messages:
    577
    Resources:
    17
    Models:
    6
    Icons:
    4
    Maps:
    3
    Tutorials:
    4
    Resources:
    17
    You can have both versions in the bundle. This 32-bit version you've sent works too for me.
     
  13. General Frank

    General Frank

    3D Modeling Moderator

    Joined:
    Nov 19, 2005
    Messages:
    4,835
    Resources:
    322
    Models:
    187
    Icons:
    126
    Packs:
    7
    Tutorials:
    2
    Resources:
    322
    Is there a way to add matrices and the ability to assign vertices to a specific matrix like in the original Vertex modifier by Oinkerwinkle?
     
  14. Retera

    Retera

    Tool Reviewer

    Joined:
    Apr 19, 2008
    Messages:
    780
    Resources:
    20
    Models:
    12
    Tools:
    2
    Maps:
    6
    Resources:
    20
    @General Frank it's coded so you can just skip all that. Just use Right-click, then find "re-assign matrix", something like that (I'm forgetting the specific name).

    It doesn't operate on the level of matrices because I found that unnecessary. So, you just choose bones, and it will assign all selected vertices to one or more bones. Basically, it builds a new matrix for the list of bones you choose, but don't think of it that way -- since if a matrix already exists connected to the chosen list of bones, then it binds to the already existing one.
     
  15. dtnmang

    dtnmang

    Joined:
    Apr 20, 2010
    Messages:
    398
    Resources:
    6
    Models:
    2
    Tutorials:
    4
    Resources:
    6
    Is it possible to implement a function to allow selecting by vertex groups (the program finds all vertices that belong to the vertex group you choose and select them)?
     
  16. General Frank

    General Frank

    3D Modeling Moderator

    Joined:
    Nov 19, 2005
    Messages:
    4,835
    Resources:
    322
    Models:
    187
    Icons:
    126
    Packs:
    7
    Tutorials:
    2
    Resources:
    322
    Wow, this is amazing.
     
  17. Retera

    Retera

    Tool Reviewer

    Joined:
    Apr 19, 2008
    Messages:
    780
    Resources:
    20
    Models:
    12
    Tools:
    2
    Maps:
    6
    Resources:
    20
    @dtnmang Yes, it should be possible to select by vertex groups, I just never coded it in. I was working on something like that in a separate version, but broke a lot of features at the time and removed it for the time being. I was trying to make the program understand selecting vertex groups as each their own node, and it only understood selecting vertices.

    On the flipside, if all you want is a hotkey to select everything in the same vertex group as a particular vertex, coding that with the existing interface would probably take like 10 mins.

    Edit: See attachment, where I tried to reinvent elements of the program to allow for Face and Vertex Group selection. I was trying to make it more like 3ds max, and you can see I added in the clickable autodesk-looking move widget (look in lower left hand viewport).
    It's a cool idea but I broke a bunch of basic features and didn't finish.
     

    Attached Files:

    Last edited: Jun 2, 2017
  18. dtnmang

    dtnmang

    Joined:
    Apr 20, 2010
    Messages:
    398
    Resources:
    6
    Models:
    2
    Tutorials:
    4
    Resources:
    6
    That's exactly what I mean, the ability to select vertices belong to the same group of a vertex.
    Retera, is there any chance to get the white background color? The dark gray background color makes it quite hard to see the blue-colored vertices.
     
  19. Retera

    Retera

    Tool Reviewer

    Joined:
    Apr 19, 2008
    Messages:
    780
    Resources:
    20
    Models:
    12
    Tools:
    2
    Maps:
    6
    Resources:
    20
    Yeah, in my code it's just a setting.
    I'll try to remember to make it a program setting that users can change in the next version of the program.