• 🏆 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!

Making Geosets Invisible

Status
Not open for further replies.
Level 4
Joined
Apr 5, 2005
Messages
652
The Following is posted by Whitehorn on WC3Campaigns
____________________________________________________

All you need is Notepad++, sod those buggy tools.

You have to edit the Geosetanim for the offending meshes.

Example:
Near the start of your mdl file is a section called 'Sequences'. This is a list of animations for the model, and their start/stop times.

[For this example, I'll use the Acolyte]

Code:

Sequences 13 {
Anim "Stand - 1" {
Interval { 167, 1667 },
MinimumExtent { -19.5992, -33.1796, -0.28233 },
MaximumExtent { 52.4008, 36.7176, 99.0722 },
BoundsRadius 62.4483,
}



Next, familarise yourself with a Geosetanim. These list a number of animation times, followed by a number, representing whether that geoset appears or not, or sometimes even at a certain % transparency.

Code:

GeosetAnim {
Alpha 3 { //-- number is total anim times listed below
DontInterp,
26667: 1, //-- animation times, 1=visible, 0=invisible
86567: 0,
87333: 0,
}
GeosetId 0, //-- relates to Geoset ID
}


Using this information, you can begin to hunt your geoset to modify visibility for.

First you need to locate which geoset you want to edit. Load up your model in the Warcraft Image Viewer II. Keep it at animation 'none' so that you can see all geosets.

Next, you need to find which mesh is to be edited, by loading the tree view in viewer. Deselect the meshes (the tick boxes) one at a time until you find which mesh it is. If it disappears when you uncheck a box, you have identified it. Make a note of the mesh number.

[The acolyte's corpse is mesh 4.]

In Mdl, your Geoset will be 1 number less than in the viewer (as code runs from 0, rather than from 1). This is the Geoset's ID.

[3 for the Acolyte's corpse.]

Now you need to find at which point you want to change visibility.

[For the example: Go to sequences and find Decay Flesh and Decay Bone. ]

Note the start times down.

Code:

Anim "Decay Flesh" {
Interval { 26667, 86667 }, //-- the first number is start time



Then open your mdl file, and search (Control+F) for GeosetAnim. Find the Geosetanim that has your Geoset ID. This is the Geosetanim you will be editing.

[You need to set-up the anim times for decay flesh and decay bone to show the corpse. So for decay bone, enter/find the start time and change the number after the colon to 1. Then, for decay flesh, enter/find a number shortly after the start time (to allow a short delay), set to 1. Make sure all other times are set to 0 so that the corpse does not appear.]

IMPORTANT
If you transferred animations from a unit, your geosetanim key times will be wrong. You need to copy the list of keytimes from the source animation model, to use for the geosetanims on the new model.
 
Status
Not open for further replies.
Top