Constant FlyHeight + Cliff Jumping

emjlr3

Change can be a good thing
Reaction score
395
The idea is to
  1. Make it so that a projectile flys above the ground at a constant total z height, uneffected by slight variations in terrain height
  2. Jump/move parabolically on to and off of cliffs

The approach I took in my collision projectiles system was the following:

JASS:
// Store relevant fly and z heights
call SetUnitFlyHeight(.dummy,z,0.)
set .flyheight=z
call MoveLocation(LOC,x,y)
set .z=GetLocationZ(LOC)
set .absz=.z+.flyheight


[ljass].absz[/ljass] is the z height I want the missile to be at, at all times, lets say 70., such that as terrain height changes (up or down), that value, and the subsequent z fly height for my projectile, remains unchanged. [ljass].flyheight[/ljass] is the fly height the user specifies as that for the projectile, which in the end yields a total z height dependent on terrain z heights. [ljass].z[/ljass] is the z height at the projectiles origination point. What makes this difficult is that terrain z heights can be negative, and that fly height is relative to terrain z heights, and are not absolute values.

Now to maintain my projectiles constant z height

JASS:
// Constant fly height adjustments
call MoveLocation(LOC,x,y) // where x/y are the projectiles coords
// Maintain static fly height
// The idea here was to maintain a constant flying z value, such that terrain height changes
// would not be reflected in its magnitude.  In theory, it works great, in execution, not so much...
call SetUnitFlyHeight(.dummy,.flyheight+(.z-GetLocationZ(LOC)),0.)


Now testing has told me that this returns the correct fly height to maintain my constant z fly height. Lets say the initial fly height is at 50., and the terrain z height is at 20., therefore the projectiles z height should remain at 70. throughout the spell. If, for instance, at these coords, the terrain z height is 0., my function returns a value of 70. [50.+(20.-0.)], such that the z height of my projectile is the same (0.+70.)=70., where originally it was (20.+50.)=70. If the terrain z height is 40., my function returns 50.+(20.-40.)=30., and 30.+40.=70. Again, constant z height for the projectile. Even works with negatives. 50.+(20.--20.)=90., -20.+90.=70. Woohoo.

Great! Only problem is, my projectile, as seen in the test map, still manages to bob up and down as if it is still effected by terrain z height changes, and its fly height is held constant.

Is this because the fly height changes are not instant? If not, then what gives?

I figure the answer to this question will help me discern the answer to my second.
 

Narks

Vastly intelligent whale-like being from the stars
Reaction score
90
I remember reading something about units that use the "fly" movement type will give you lots of heartache when moving over cliifs, so projectile systems use the "hover" movement type (I think).
 

emjlr3

Change can be a good thing
Reaction score
395
hover you say...
 

Tom_Kazansky

--- wraith it ! ---
Reaction score
157
yeah, "movement type: fly" is a serious pain
attachment.php
because of this, I cant calculate projectile launch Z for "fly" units when moving over cliffs (or doodads) :(

anyways, for the projectile, I use "movement type: None", it's "Foot" with Collision Turned Off (I guess)
@emjlr3, you're using "movement type: fly" for your projectile, I guess this is the problem

edit: aww, spoiler didnt work :(
 

D.V.D

Make a wish
Reaction score
73
I was playing around with the movement types and i believe fly has a minimum flying height of 100 or so thats hardcoded. Not sure its exact height but its somewhere around there
 

NeuroToxin

New Member
Reaction score
46
Theres no "minimum" fly height. It can be SET to a minimum, but there can't be a set one. @Emjlr3 A quick question for you, does GetLocationZ detect just terrain deformations? If theres a cliff, does it detect that change in height? As I have a good idea for a spell if so.
 

emjlr3

Change can be a good thing
Reaction score
395
not sure about deformations - but cliffs yes

which is the problem - if a missile travels over a cliff, it will increase in height per the height of the cliff, which is just silly
 

WaterKnight

Member
Reaction score
7
As said, change the movement type (umvt) to hover or none. Also set Elevation points/radius (uept/uerd) to 0.
 

emjlr3

Change can be a good thing
Reaction score
395
works with movement type = hover and none, none seems to work slightly better IMO

not sure what the other set point does, did not notice a difference with it on or off
 

NeuroToxin

New Member
Reaction score
46
@emjlr3 I think it does detect terrain deformations, as thats what you use when you set a lightning height.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    New recipe is another summer dessert Berry and Peach Cheesecake - https://www.thehelper.net/threads/recipe-berry-and-peach-cheesecake.194169/

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top