GOAL: Have an ability button that turns the unit into another unit. But the new unit needs to be owned by player 14, instead of the original player. The new unit has an ability to morph back to the original unit.
CURRENT: I've setup a morph ability that morphs the original unit into the same type simply as way to start the trigger. The trigger then hides the original unit, teleports the replacement unit to the same location and makes it visible. Also the trigger un-selects the original and selects the replacement. This works as there is only 1 unit in the game which can turn into the player14 replacement.
The issue I'm having is its rather an abrupt change. It doesn't feel like the unit really transformed. I'd like to get some sort of animation or effect to smooth the transition. Also my solution seems clunky. Is here a more elegant solution for this?
Animations are model specific. What unit are you trying to morph?
As for your last point, you can replace a unit with another unit directly (same position, facing, health, shields etc) and change a unit's owner with trigger actions. You shouldn't need to be moving units around.
I think I wasn't clear enough in my OP there seems to be some confusion as to what I'm after.
@Eiviyn:
OK, the original unit is going to be a hero type with inventory. When the user presses the morph ability the point is that unless another player sees them morph there should be no way to tell who owns the new unit. So different inventory, health, model, color everything. That is why its owned by player14 instead of the original player. That is also why I don't think I can use the normal style of morph. Trying to make a dark deeds clone. To answer your question, I'm currently morphing a SCV into a Hydralisk. Later the SCV might morph to Queen, or Colossus as well. I dont really expect to have an animated transition, but a puff of smoke or something would be to gloss over the transition.
@Thebillsta:
You described exactly what I'm already doing, except my actions are slightly different. The morph ability is set as morph to SCV model, and is assigned to the SCV. Basically it does nothing except allow me to hook the event for the trigger.
My original questions are still:
1: can I get the effects I've described (change owner, swap unit) in a more elegant fashion
2: Is there a way to put some effect up during the change such as a puff of smoke.
2 is the more important. Right now creating a dummy unit that lives for about 3 seconds, and is flagged nonselectable that has the model "Assets\Effects\Zerg\DiseaseCloud\DiseaseCloud.m3" It would look better if the effect stuck to the transformed unit and faded away, also if it was more opaque and hid the actual unit change until the effect faded.
not sure if this is what you need, but there is an "Create Explosion at Point"-Action in the Environment which technically IS a puff of smoke, just a very energetic one :)
Edit: I think you're making this much too hard on yourself
Look at Larva and the Morph abilities they use to become other units. They work very well, you should be able to break them down and apply your own model to the transition animation.
On top of this, you can simply create a trigger for "Unit Uses Ability," set it to this ability/unit as you see fit, and do a "Change Owner" action.
The only tricky part is the morph ability itself. Look at the viking for an example, and notice that there are two different actors associated with it. The actors have events that specifically respond to the unit morphing, so you should be able to set up similar events for any morph whatsoever (even if it's just replacing one actor with another with no animations). You can also have an actor with a smoke model that appears when the ability is used.
The only bit you should need triggers for is changing the owner, but it may be possible to mask who owns a unit even without using triggers.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
GOAL: Have an ability button that turns the unit into another unit. But the new unit needs to be owned by player 14, instead of the original player. The new unit has an ability to morph back to the original unit.
CURRENT: I've setup a morph ability that morphs the original unit into the same type simply as way to start the trigger. The trigger then hides the original unit, teleports the replacement unit to the same location and makes it visible. Also the trigger un-selects the original and selects the replacement. This works as there is only 1 unit in the game which can turn into the player14 replacement.
The issue I'm having is its rather an abrupt change. It doesn't feel like the unit really transformed. I'd like to get some sort of animation or effect to smooth the transition. Also my solution seems clunky. Is here a more elegant solution for this?
Animations are model specific. What unit are you trying to morph?
As for your last point, you can replace a unit with another unit directly (same position, facing, health, shields etc) and change a unit's owner with trigger actions. You shouldn't need to be moving units around.
@Verna: Go
for changing the owner with the ability, you could try a trigger thats
events
unit uses ability
conditions
triggering unit = (your unit)
actions
change owner of (triggering unit) to player 14 and change color
I think I wasn't clear enough in my OP there seems to be some confusion as to what I'm after.
@Eiviyn: OK, the original unit is going to be a hero type with inventory. When the user presses the morph ability the point is that unless another player sees them morph there should be no way to tell who owns the new unit. So different inventory, health, model, color everything. That is why its owned by player14 instead of the original player. That is also why I don't think I can use the normal style of morph. Trying to make a dark deeds clone. To answer your question, I'm currently morphing a SCV into a Hydralisk. Later the SCV might morph to Queen, or Colossus as well. I dont really expect to have an animated transition, but a puff of smoke or something would be to gloss over the transition.
@Thebillsta: You described exactly what I'm already doing, except my actions are slightly different. The morph ability is set as morph to SCV model, and is assigned to the SCV. Basically it does nothing except allow me to hook the event for the trigger.
My original questions are still:
1: can I get the effects I've described (change owner, swap unit) in a more elegant fashion 2: Is there a way to put some effect up during the change such as a puff of smoke.
2 is the more important. Right now creating a dummy unit that lives for about 3 seconds, and is flagged nonselectable that has the model "Assets\Effects\Zerg\DiseaseCloud\DiseaseCloud.m3" It would look better if the effect stuck to the transformed unit and faded away, also if it was more opaque and hid the actual unit change until the effect faded.
@Verna: Go
not sure if this is what you need, but there is an "Create Explosion at Point"-Action in the Environment which technically IS a puff of smoke, just a very energetic one :)
Edit: I think you're making this much too hard on yourself
Look at Larva and the Morph abilities they use to become other units. They work very well, you should be able to break them down and apply your own model to the transition animation.
On top of this, you can simply create a trigger for "Unit Uses Ability," set it to this ability/unit as you see fit, and do a "Change Owner" action.
Changing the owner is easily done with a trigger.
The only tricky part is the morph ability itself. Look at the viking for an example, and notice that there are two different actors associated with it. The actors have events that specifically respond to the unit morphing, so you should be able to set up similar events for any morph whatsoever (even if it's just replacing one actor with another with no animations). You can also have an actor with a smoke model that appears when the ability is used.
The only bit you should need triggers for is changing the owner, but it may be possible to mask who owns a unit even without using triggers.