| 12-22-2005, 08:15 AM | #1 |
Transferred anims successfully to a model which had been slightly edited, all with Oinkerwinkles tools, but can't get rid of the ever-present corpse despite following both tutorials I could find. Corpse flashes on and off during spell animation, so looks like it might be getting an instruction that should be going to a particle emitter (reversed!) I found the part of the MDL (using Notepad) which refers to the gutz (middle geoset of three, therefore ID 1) but the timings are all different now so I don't know how to fix that. i tried copying the times from the animation source model but then none of the animations work at all. Thanks in advance if anyone can help |
| 12-22-2005, 08:39 AM | #2 |
The lazy way and easiest way, just delete the corpse and I'm not good at aditing raw mdl, so I won't be able to help you any further. |
| 12-22-2005, 10:09 AM | #3 |
There should be a visibility thing on objects that refer to the gutz. If you change them to be what you want (check the animations for when u want it on/off) itll be invisible at other times. Or as said, remove the geoset. |
| 12-22-2005, 10:22 AM | #4 |
Read my tutorial on it. This tutorial assumes you know how to convert an mdx into mdl, and have transferred animations across models, else you cant actually get to this error :o Scenario: You transferred some animations from one unit to another, probably using Oinkerwinkle's animation transfer program. However, corpses, blood, or some form of weird object is appearing at random points. Cause: The source and destination models have different animation times. Where one unit dies at a point, the other units walk animation is played. Therefore, your destination model's corpse appears on the walk animation. Solution: You need to edit the Geosetanim for the offending mesh. Example/Guide: 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 corpse error. First you need to locate which geoset is your corpse. Load up your model in the Warcraft Image Viewer II. Keep it at animation 'none' so that you can see the corpse. Next, you need to find which mesh is the corpse, 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 the corpse disappears when you uncheck a box, that mesh is obviously the corpse. 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. Now you need to find at which point your unit is dead. Go to sequences and find Decay Flesh and Decay Bone. Note the start times down. Code:
Anim "Decay Flesh" {
Interval { 26667, 86667 },
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 As 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. |
| 12-22-2005, 01:31 PM | #5 |
Thank you. I did study that tutorial for a while last night, it was late and I'm being thick, but the last sentance there threw me a bit.. Basically I tried several times copying the geosetanim key times from the source animation model to the altered model, but that made all the animations not work. Looks like this is the bit I need to get the key times from? (from the source animation model).Can I just C'nP the whole list from the first number to the last?...or not } GeosetAnim { Alpha 8 { DontInterp, 333: 0, 1767: 0, 4633: 0, 8233: 0, 11100: 0, 12967: 0, 18733: 0, 19867: 0, } GeosetId 2, } Bone "gutz00" { ObjectId 0, GeosetId 2, GeosetAnimId 2, (the last part seems to be saying that'gutz00' is Geoset ID 2 ...I think..Oh, then I need to change 0's to 1's in appropriate places) |
