Idle Animations
Moderator: Moderators
Idle Animations
My units look so dead all the time, and it's not because I'm losing, It would be moderately cool if the units spun their turret, or raised and lowered their barrels, or just looked like they were looking around.
I do realize that this could just create a bunch of uneeded synced data that could lag the game more, but I want to see a little more life in the battlefield.
I do realize that this could just create a bunch of uneeded synced data that could lag the game more, but I want to see a little more life in the battlefield.
-
- Imperial Winter Developer
- Posts: 3742
- Joined: 24 Aug 2004, 08:59
-
- Posts: 327
- Joined: 09 Apr 2005, 11:40
This is not something to be implemented in the engine. This is something that unit-makers must script in their units. PLEASE DO NOT MAKE THE SPRING ENGINE INVENT IDLE ANIMATION. I already had way too much trouble fighting the smoothing, if I have to fight against random call to AimPrimary I might as well give up modding for Spring. It already breaks enough of my script that Spring re-calls it every instant when TA calls it once.
-
- Posts: 327
- Joined: 09 Apr 2005, 11:40
Trying to make the engine create an idle animation on-the-fly that will work with every unit and not break anything should only require the engine to be five or six human-level-sophistication ai's with excellent aesthetic sense and a flair for design and animation and no personality clashes who don't want to get paid or rule the world.
Easy. Why isn't it done already?
Easy. Why isn't it done already?
- [K.B.] Napalm Cobra
- Posts: 1222
- Joined: 16 Aug 2004, 06:15
In good old original TA, there is the function HitByWeapon(var1,var2) that gets called each time the unit receive a shot. No one has ever truely exploited them, but in old TA it already was possible to place damaged texture and smoke on part that were hit. TA:Final Frontier starships lose pieces when damaged, and TLL Titans change their texture to damaged when they are, but so far I haven't seen any TA unit with location specific damage, but the possibility is here, and there's probably some third party units that I don't know of that have it. One problem was that in TA, weapon can already travel quite a bit in one tick, so you can't be very precise. Try the comm laser on the ground for instance, you'll see the point hit jump suddenly when you try to move the target location little by little.
Tradionnally HitByWeapon is only used to make the unit rock a bit when hit
var1 is the z-coordinate of the received shot, and so the amount of wanted rotation around the x-axis.
var2 is the x-coordinate of the received shot, and so the amount of wanted rotation around the z-axis.
Both coordinates exprimed in the local reference, centered and oriented by the unit, it's the axes seen in 3Do Builder, save maybe z whose sign might be inverted
Oh and the HitByWeapon in totala1.hpi and scriptor is very very badly written, use your own script.
If Spring already handle HitByWeapon properly, any units can already have location specific battered look if properly modelled and scripted, without any change to the engine.
However, having to write a complicated script and having to create new pieces for every part that can change look is a bit too complex.
Maybe it would be easier to provide two models, and tell the engine: ok, gradually shift from unit_new_and_shiny.3do to unit_torn_and_battered.3do, and let the engine handle the changes from one to the other according to the unit health and where the weapon hit.
So to sum up:
- Anyone who wants damaged texture where the weapon hit can already do it using HitByWeapon(z,x).
- For way later, it could be nice to have a new FBI tag: BatteredModel=...; and have the engine handle the transition.
Tradionnally HitByWeapon is only used to make the unit rock a bit when hit
var1 is the z-coordinate of the received shot, and so the amount of wanted rotation around the x-axis.
var2 is the x-coordinate of the received shot, and so the amount of wanted rotation around the z-axis.
Both coordinates exprimed in the local reference, centered and oriented by the unit, it's the axes seen in 3Do Builder, save maybe z whose sign might be inverted
Oh and the HitByWeapon in totala1.hpi and scriptor is very very badly written, use your own script.
If Spring already handle HitByWeapon properly, any units can already have location specific battered look if properly modelled and scripted, without any change to the engine.
However, having to write a complicated script and having to create new pieces for every part that can change look is a bit too complex.
Maybe it would be easier to provide two models, and tell the engine: ok, gradually shift from unit_new_and_shiny.3do to unit_torn_and_battered.3do, and let the engine handle the changes from one to the other according to the unit health and where the weapon hit.
So to sum up:
- Anyone who wants damaged texture where the weapon hit can already do it using HitByWeapon(z,x).
- For way later, it could be nice to have a new FBI tag: BatteredModel=...; and have the engine handle the transition.