Author Topic: Two things driving me mad!  (Read 584 times)

Legacy_Monsieur T

  • Jr. Member
  • **
  • Posts: 62
  • Karma: +0/-0
Two things driving me mad!
« on: July 01, 2014, 01:31:23 am »


               

Thanks in advance to anyone with the patience to look at this!


 


First maddening thing:


Why oh why do PCs and NPC humanoids often trip/fall-down/get-up again when rising and moving after having been seated on a sit-able chair or on a sit-able invisible object? They even do it occasionally after sitting on the ground via waypoint instruction.


This cannot be a hak issue, since they still do it even in a "virgin" 1.69 module. It is hugely annoying and breaks PC immersion in multiplayer!


 


Second maddening thing:


Is there any way at all to make avian creatures fly at a realistic height? (I'm talking about creatures used for ambient "colour", as opposed to birds that PCs might interact with. After all, there's hardly any point painting seagulls into an area if they are going to insist upon flying five feet or so off the ground!


 


Any help with either of these issues will make me less of a grumpy old man....



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Two things driving me mad!
« Reply #1 on: July 01, 2014, 01:48:54 am »


               


Second maddening thing:


Is there any way at all to make avian creatures fly at a realistic height? (I'm talking about creatures used for ambient "colour", as opposed to birds that PCs might interact with. After all, there's hardly any point painting seagulls into an area if they are going to insist upon flying five feet or so off the ground!


 


Any help with either of these issues will make me less of a grumpy old man....




I was playing with this idea already. Its possible in some fashion - but there is a big problem. Creatures still cant pass anything that block movement such as trees, pits, forest terrain in rural, vanilla hills. Also, vanilla camera really doesn't allow to look such high when you are looking (near) from character perspective.


 


But it would be still viable in forest for example, unfortunately, while I was able to adjust the flying models to fly above trees I was unable to change their animations - the problem I had was that when I killed the bird his corpse appeared in air. I was able to make it appear on ground but without the animation of falling down... Thus I abadoned this.


               
               

               
            

Legacy_Proleric

  • Hero Member
  • *****
  • Posts: 1750
  • Karma: +0/-0
Two things driving me mad!
« Reply #2 on: July 01, 2014, 08:56:14 am »


               Animations tend to suffer from "flashbacks". If I've understood correctly, this happens when a new animation fails to specify the start or end frames; the old ones can be inherited. At any rate, I do the following, after a special animation (e.g. sitting) is completed. Seems to help, but may not be foolproof.

ActionPlayAnimation(ANIMATION_LOOPING_PAUSE, 1.0, 0.5);
I seem to remember a hak that adjusts bird height (though I can't find it). If all else fails, it's a very easy fix to the model using notepad. On the root node, add a position statement (if it isn't already there), and adjust the z-axis, e.g.

node dummy c_bird
  parent NULL
  #part-number 0
  position 0 0 5.0
endnode
will raise the entire model by 5 metres.

I'd echo Shadooow's caveats.
               
               

               
            

Legacy_Pstemarie

  • Hero Member
  • *****
  • Posts: 4368
  • Karma: +0/-0
Two things driving me mad!
« Reply #3 on: July 01, 2014, 11:45:02 am »


               

As Proleric said, plus...


 


Looping animations are set to run for a specified number of seconds within the model. When scripted, if the duration is not set correctly to match the parameter within the model, this can also sometimes cause "flashbacks." 



               
               

               
            

Legacy_Rolo Kipp

  • Hero Member
  • *****
  • Posts: 4349
  • Karma: +0/-0
Two things driving me mad!
« Reply #4 on: July 01, 2014, 01:21:19 pm »


               

<falling down...>


 


The issue of the birds is caused by globally raising the height of *all* objects in the model. Hence, the dying/dead anims are also raised.


 


The fix for that, if someone wants to take on the project, is to globally raise everything as described above, then edit the various knocked down/dying/dead anims to end up at ground level.


 


It is a simple enough edit in GMax or Max but terribly difficult in notepad. This would be a good beginner animation project for someone wanting to stretch their CC skills :-)


 


Those anims would need to be done on the bird supermodel (which is probably the seagull-flying mdl). They would then affect every bird model using that as super.


 


Edit: If I was doing this for Project Q, I'd clone the flying seagull model with animations and name it a_bird_fly_high.mdl. Then I'd edit every high-flying bird model to use this as the new super.


 


But I am *not* going to do this one :-) A tad busy, though not as busy as TAD, I think. ;-)


 


<...on the job>



               
               

               
            

Legacy_Proleric

  • Hero Member
  • *****
  • Posts: 1750
  • Karma: +0/-0
Two things driving me mad!
« Reply #5 on: July 01, 2014, 03:39:01 pm »


               Another way of (more or less) dealing with that is to leave no corpse. Loot can always be dropped on the ground on death.
               
               

               
            

Legacy_Monsieur T

  • Jr. Member
  • **
  • Posts: 62
  • Karma: +0/-0
Two things driving me mad!
« Reply #6 on: July 02, 2014, 02:30:23 pm »


               

Thanks for the info, folks.


I'll give Proleric's pause fix a try - just have to go through all the various scripts that call sitting anims!!!!


It seems there's little point in bothering with bird elevations if they are going to get blocked by non-walkable stuff all the time.


Thanx again,


Mr T