I've modified the texture for the Yeti but when it dies, it cames back to its original texture. I cant figure it how to swap the texture on the death model.
Each actor is linked to a Death Model actor, just make a custom one and use it for your unit only, and give it Texture Select By Id actions set to take place on Actor Creation.
You can also place those actions on the main generic Death Model actor with a validator checking for the original unit's model name so you know what texture to replace, which is what I do since i'm lazy, but probably not recommended, dunno.
For weeks I've been trying to get Dark Protoss textures working for the Protoss, for example - and I cannot for the life of me figure out how to and any online information regarding this is either indecipherable or I otherwise dont understand it.
When people throw around 'send Message by ModelSwap' or 'TextureSelectbyID' I have absolutely no idea what it means. Hell, I havent even been able to specify a death actor model for any of my custom units yet. I simply cant find where to do so. Making a new entity in the Models section of the Data Editor using the death-model of the unit is easy, but I've found no way to actually link the unit to the death model.
Another issue is things seemingly NOT EXISTING AT ALL in the Editor. It is completely baffling. For example, the Anion-Pulse Crystals upgrade that increases Phoenix range, researched at the Fleet Beacon. It simply does not exist anywhere, but somehow it is there ingame. I've looked in Upgrades. I've looked in Effects. I've even looked at the abilities and command card of the unit (Fleet Beacon) itself and it simply isnt there, yet it magically is in-game. I completely dont understand this.
I had a very brief moment of success by adding an event to Zealots that change their model when a certain upgrade is completed - but then run into the problem that it only applies the model-swap to any currently existing Zealots. Any Zealots produced before the upgrade is done, and then the upgrade is completed, will swap their model. Any Zealots made AFTER the upgrade is already done, decide to use the default Zealot model instead of the new one specified. Ugh.
My problem is that people use terminology such as TextureSelectbyID, Event Triggers, Validators and whatnot, as if folks already know what they are. I dont. Sure, I can find the Validators tab in the Data Editor for example, but from there I've no idea what to do or how to do it. Any tutorials on this matter do not provide a step-by-step instruction in terms that a newcomer can understand. Another problem is that code in general is alien to me. I struggle to understand it, since its like another language that nobody ever taught me, but somehow everyone else understands.
I've been working damn hard on my own Mod Extension for the past 5 months or so now, but most of what I've done has been fiddling with existing parameters and material, such as changing numerical values like health and damage or changing one model to another. Creating anything completely new, such as a totally new unit linked to its own death model, using its own weapon and its own abilities, has been mind bogglingly difficult. Anything I have that actually works is either through blind luck by facerolling my keyboard until something works, or it half-works, causes the game to crash or I stare at the Data Editor and tutorials for hours in frustrated confusion.
Why am I posting this here? Because whenever I make my own threads asking such specific questions, nobody answers. Im just looking for a little help in absolute basic laymans terms that a newcomer can understand.
Just stop facerolling the keyboard and start learning actors by yourself. For the basic understanding: Starcraft 2 engine using 2 game "parts" - gameplay mechanics and actors. Gameplay part communicates with visual part (actors) by sending actor messages. For example, as you may already know gameplay of starcraft 2 calculates every 0.0625 second, even units and their movement, so the real thing is unit actually jerking around the map with 0.0625 sec period, actor of a unit actualy "fakes" smooth movement by using Site(Mover) type of actor. What it does is just filling the gap between unit position in 0.0625 and 0.1250 sec periods, by updating unit position every frame that being drawn by your videocard in this time span.
So, almost every unit use DeathModel actor which is creating for death model you specified in DeathEffects+ field, and it also can be referenced like _DeathModel it's like general name for some bunch of actors, you can specify it in Aliases+ field of the actor. So how you can test this stuff i suggested in my first post: Create new model, choose desired model for custom unit death, go to events+ field of the main unit actor, create new event, Msg Type - UnitDeath, Action - ModelSwap, set this to your custom death model, and set the "Target" field for this message to _DeathModel actor. This stuff can be used for making such things as custom models for deaths from critical hits, or death from some special attacks that cannot be fully specified in DeathEffects field of a unit actor. And yeah, don't expect to fully understand actor system withing 5 month if you're non-programmer. This editor was likely designed for Blizzard's private use within the company, and not for masses, this is a real mistake by blizz imo.
I dont see what anything regarding your information about stuff happening every 0.0625 seconds has anything to do about what I asked.
Your second paragraph is slightly more helpful though, so thanks. I'll stare and sigh at the Editor some more until someone posts a more thorough guide or tutorial though. Every single source of information talks in terms, as you state, that only a programmer or experienced person is readily identifiable with, so it doesnt help newcomers.
Sorry for the late answer, but what i did is that i modified the Death Effects+ for the Normal Death. Actually i removed the Model and used the Actor Model instead linked the Actor of the unit.
I think the way of Abvdzh is better and i learned from his post. Thank You.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Hi,
I've modified the texture for the Yeti but when it dies, it cames back to its original texture. I cant figure it how to swap the texture on the death model.
Thanks for the help
Normal Texture
New Texture
Death Texture
NVM, i found how to do it thanks anyway.
@brunob67: Go
could you tell us how? It'd be nice to know for the ones that down't know how (like me)
Each actor is linked to a Death Model actor, just make a custom one and use it for your unit only, and give it Texture Select By Id actions set to take place on Actor Creation. You can also place those actions on the main generic Death Model actor with a validator checking for the original unit's model name so you know what texture to replace, which is what I do since i'm lazy, but probably not recommended, dunno.
Or you can send message ModelSwap, or TextureSelectedByID from the main actor of a unit to "_DeathModel" when unit dies
Could anyone please extrapolate on that answer?
For weeks I've been trying to get Dark Protoss textures working for the Protoss, for example - and I cannot for the life of me figure out how to and any online information regarding this is either indecipherable or I otherwise dont understand it.
When people throw around 'send Message by ModelSwap' or 'TextureSelectbyID' I have absolutely no idea what it means. Hell, I havent even been able to specify a death actor model for any of my custom units yet. I simply cant find where to do so. Making a new entity in the Models section of the Data Editor using the death-model of the unit is easy, but I've found no way to actually link the unit to the death model.
Another issue is things seemingly NOT EXISTING AT ALL in the Editor. It is completely baffling. For example, the Anion-Pulse Crystals upgrade that increases Phoenix range, researched at the Fleet Beacon. It simply does not exist anywhere, but somehow it is there ingame. I've looked in Upgrades. I've looked in Effects. I've even looked at the abilities and command card of the unit (Fleet Beacon) itself and it simply isnt there, yet it magically is in-game. I completely dont understand this.
I had a very brief moment of success by adding an event to Zealots that change their model when a certain upgrade is completed - but then run into the problem that it only applies the model-swap to any currently existing Zealots. Any Zealots produced before the upgrade is done, and then the upgrade is completed, will swap their model. Any Zealots made AFTER the upgrade is already done, decide to use the default Zealot model instead of the new one specified. Ugh.
My problem is that people use terminology such as TextureSelectbyID, Event Triggers, Validators and whatnot, as if folks already know what they are. I dont. Sure, I can find the Validators tab in the Data Editor for example, but from there I've no idea what to do or how to do it. Any tutorials on this matter do not provide a step-by-step instruction in terms that a newcomer can understand. Another problem is that code in general is alien to me. I struggle to understand it, since its like another language that nobody ever taught me, but somehow everyone else understands.
I've been working damn hard on my own Mod Extension for the past 5 months or so now, but most of what I've done has been fiddling with existing parameters and material, such as changing numerical values like health and damage or changing one model to another. Creating anything completely new, such as a totally new unit linked to its own death model, using its own weapon and its own abilities, has been mind bogglingly difficult. Anything I have that actually works is either through blind luck by facerolling my keyboard until something works, or it half-works, causes the game to crash or I stare at the Data Editor and tutorials for hours in frustrated confusion.
Why am I posting this here? Because whenever I make my own threads asking such specific questions, nobody answers. Im just looking for a little help in absolute basic laymans terms that a newcomer can understand.
Just look at the Mitosaurus from the HotS campaign. It uses a modified version of Kraith's textures, even the Death model.
@Venrez: Go
Just stop facerolling the keyboard and start learning actors by yourself. For the basic understanding: Starcraft 2 engine using 2 game "parts" - gameplay mechanics and actors. Gameplay part communicates with visual part (actors) by sending actor messages. For example, as you may already know gameplay of starcraft 2 calculates every 0.0625 second, even units and their movement, so the real thing is unit actually jerking around the map with 0.0625 sec period, actor of a unit actualy "fakes" smooth movement by using Site(Mover) type of actor. What it does is just filling the gap between unit position in 0.0625 and 0.1250 sec periods, by updating unit position every frame that being drawn by your videocard in this time span.
So, almost every unit use DeathModel actor which is creating for death model you specified in DeathEffects+ field, and it also can be referenced like _DeathModel it's like general name for some bunch of actors, you can specify it in Aliases+ field of the actor. So how you can test this stuff i suggested in my first post: Create new model, choose desired model for custom unit death, go to events+ field of the main unit actor, create new event, Msg Type - UnitDeath, Action - ModelSwap, set this to your custom death model, and set the "Target" field for this message to _DeathModel actor. This stuff can be used for making such things as custom models for deaths from critical hits, or death from some special attacks that cannot be fully specified in DeathEffects field of a unit actor. And yeah, don't expect to fully understand actor system withing 5 month if you're non-programmer. This editor was likely designed for Blizzard's private use within the company, and not for masses, this is a real mistake by blizz imo.
I dont see what anything regarding your information about stuff happening every 0.0625 seconds has anything to do about what I asked.
Your second paragraph is slightly more helpful though, so thanks. I'll stare and sigh at the Editor some more until someone posts a more thorough guide or tutorial though. Every single source of information talks in terms, as you state, that only a programmer or experienced person is readily identifiable with, so it doesnt help newcomers.
Sorry for the late answer, but what i did is that i modified the Death Effects+ for the Normal Death. Actually i removed the Model and used the Actor Model instead linked the Actor of the unit.
I think the way of Abvdzh is better and i learned from his post. Thank You.