• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Need a tester(s)

Status
Not open for further replies.
Level 29
Joined
Jul 29, 2007
Messages
5,174
I saw for the first time MDX Squisher, and figured I could do the same thing except more complete (the original only covers a part of the data).
In addition to this, I want to remake what I did years ago with MDL Optimizer, which removed useless animation keyframes.
If it will work fine, I'll add support also for M3 models.

I need a little test for the following files, since I don't have WC3.
The idea is to make two identical maps, import each model version to each map, save them, and see if there's a difference in the map file size.
The second part (assuming v2 is actually smaller) is to check if the model works fine in-game.

Note: currently it only runs on a small subset of the data (namely, the geosets), if it works, I'll add all the animation data.

Thanks.
 

Attachments

  • Dune_Crawler.mdx
    148.3 KB · Views: 73
  • Dune_Crawler_v2.mdx
    148.3 KB · Views: 66
  • Stone_Sentinel.mdx
    203.7 KB · Views: 73
  • Stone_Sentinel_v2.mdx
    203.7 KB · Views: 61
  • TheBlackKing.mdx
    248.9 KB · Views: 63
  • TheBlackKing_v2.mdx
    248.9 KB · Views: 57

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,190
You could probably have some kind of mesh simplification algorithm which merges nearby triangles if they are very linear. That might not be the best way to describe it but basically it removes triangles from the mesh if they represent a very shallow curve (appear almost flat). Although I am guessing the actual model editing programs should do this to some extent but I do not know.
 
Level 29
Joined
Jul 29, 2007
Messages
5,174
Ok, now the keyframes also get removed.
A threshold to what keys are "equal" to each other can be specified.

Attached an example, it uses this model, I used 0.001 as the threshold.

The next step is to add M3, and then somehow make an executable out of this (Lua code).

/Edit
Added also an option to force bezier/hermite keys to be linear.
 

Attachments

  • 1.w3m
    208.7 KB · Views: 60
  • 2.w3m
    149.9 KB · Views: 57
  • Leoric.mdx
    243.5 KB · Views: 59
  • Leoric_v2.mdx
    242.2 KB · Views: 63
  • Leoric.blp
    171.8 KB · Views: 103
Last edited:
Status
Not open for further replies.
Top