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

Basic Morphing Tutorial

Level 18
Joined
May 27, 2007
Messages
1,689
INTRODUCTION:
Morphing is a common question asked by people who are new to map making, and it is quite simple to perform. I have selected a few units that "Morph" to demonstrate how to properly change the units from one to the other.

1.) First off you need to select your model, and make a few dummy abilities.

2.) When you first make the unit that you are going to morph in the Object Editor, after you have finished, just copy that unit and paste it so that it has all of the same stats. Then add an "Editor Suffix" to designate which unit is the morphed and which is the normal unit.

editor suffix.JPG

3.)Now you need to make the dummy abilities, that will make your unit actually morph into the desired form. I have included two examples, a hero morphing ability, and a unit morphing ability. For the hero base ability, I use Illidian's "Metamorphosis" ability, for the unit ability, I use the Gargoyle's "Stone Form" ability, because the unit is flying. If it was a ground unit, I would use the Druid of the Claw's "Bear-Form" ability. Now you need to clear all fields, like so.

ability.JPG

Then change the "Normal Form" and "Alternate Form" to their correct units. We will call this first abilty the "Morph" ability, because this is what will cause the unit to morph. Now just repeat that process, for all morphing abilities you will have. Then copy the ability(s) you made and paste them, and rename them the opposite action of the morph. The opposite action ability you pasted we will refer to as the "Unmorph" ability.

4.) Go back to the units you created and give the normal unit the "Morph" Ability and give the alternate form unit the "Unmorph" ability. Now you are done with the Object Editor.

5.)Open up the Trigger Editor. Create a new Category named "Morphing" and create a new Trigger with the same name as your "Morph" Ability. So for this map, it is called Ball-Form. Now for the Event use "A Unit starts the effect of an ability" DO NOT USE "A Unit begins casting an ability" Then for the conditions, use an Ability Comparison, and set it equal to your "Morph" ability. Now for the Action, you need to go to Animation's and use the "Play (Triggering Unit)'s _____ Animation." For this model, the animation is named "Morph", depending on who created the model or whatever, it may have a different name which you can find when changing the model of your custom unit and going to the small display and clicking the arrows above the picture to play the different animations. So all this trigger looks like is:
  • Ball Form
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Ball Form
    • Actions
      • Animation - Play (Triggering unit)'s morph animation
6.) Now when the unit is in it's morphed form, if not unchanged, it will walk like it does in it's normal form. To correct this, we make a Trigger, I name mine to "Walk in Whatever Form." To detect when a unit needs to move, we use the Event "A Unit is issued an order targeting a point" then to make sure only the morphed unit will be picked, set the Condition to a "Unit Type of (Triggering Unit) equal to (Morphed Form of Your Unit)" then for the action, you would play the unit's "walk alternate" animation. And, if you want to increase or decrease speed when the unit is morphed, you can also add a Unit action "Unit-Set (Triggering Unit) movement speed to X" so your trigger should look something like this.
  • Walk in Ball Form
    • Events
      • Unit - A unit Is issued an order targeting a point
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Droideka (Ball-Form)
    • Actions
      • Animation - Play (Ordered unit)'s walk alternate animation
      • Unit - Set (Ordered unit) movement speed to 400.00
7.) Now you need to have your unit be able to "Unmorph." Again we use the same basic layout as your "Morph" ability. The event will be "Unit starts the effect of an ability", but instead, your condition will be an Ability comparison, and set that equal to your "Unmorph" ability. Then you need to play the unit's unmorph animation, with this unit it is called "morph alternate." You do not need to change the movement speed, because it will only change when your unit is morphed so your trigger should end up something like this.
  • Deploy From Ball Form
    • Events
      • Unit - A unit Starts the effect of an Ability
    • Conditions
      • (Ability being cast) Equal to Deploy From Ball Form
    • Actions
      • Animation - Play (Triggering unit)'s morph alternate animation
8.) Now you can test your map to make sure everything works correctly, and you have just created your first morphing ability! I hope that this tutorial is helpful, and if you really need to see what needs to be done, i have included two examples using some of Olofmoleman's models. Good Luck and thank you for your time. :infl_thumbs_up:
 

Attachments

  • Morphing.w3x
    1.5 MB · Views: 280
Last edited by a moderator:
Level 32
Joined
Oct 23, 2006
Messages
5,291
Basic Morphing Tutorial looks helpful (at first glance). I have edited the document to remove the images linked from imageshack and inserted the attached images in their proper places.

This material is (partially) covered in Ralle's World Editor FAQ. However this provides greater detail and may indeed be approved after more moderators comment on it.
 
Level 40
Joined
Dec 14, 2005
Messages
10,532
Does it really not? Odd. If so, just set their Move Speed when casting the spell, not when ordering them.

Also, setting movespeed with triggers can have major problems should you have movespeed-modifying buffs on the unit in question.

As for Alternate, that's exactly what Blizz does, so that definately should work ><
 
Top