KillBait/AutoDrive_Course_Editor

World node 'Y'-axis value is zero when constructing curves

Opened this issue · 7 comments

I've noticed an issue which I haven't seen before while constructing curves between two existing nodes. The 'x' and 'z' values are entered OK but the 'y' value is zero.
I have had to right mouse click and using the square selection process, mark all the nodes that have 'y' axis as zero and then left mouse click the local node that has the correct 'y' value entered. This fixes the issue and is quick to do, but I'm curious as to why there is a missing data entry in the 'y' axis.
I've made sure that the map height data is OK.
Any ideas as to what could be broken?

I've since found that the problem is map orientated - the problem map I have is Erlangrat,
Both Elmcreek and Haut Beyerlon are fine.
Now to find the reason why!

Odd issue, the curve should take the height difference between the start and end nodes and each node created should go up or down so the gradient between the two is linear, i would check the heightmap values along the curve to see if anything shows up ( enable DEBUG mode and use 'Show heightmap Info" and look at the 'Calculated Y Value' as you move the mouse and see that show a 0 value ). If all else fails, if you can supply the config and images and where the curve starts and ends i can try a re-produce it.

My above comment relating to the problem being the map may not be correct as the issue is also occurring on Pallegney.
I've enabled DEBUG mode, used 'Show heightmap Info' and its very obvious that the height of a new mode is not the same as the surrounding nodes. Its most interesting but a little frustrating. If within the game I look at the node sequence joining from an existing visible node, then select the option of 'show nodes above tractor', I can see the green joining line to the next node heading down into the ground below the tractor. The 'Y' value is not zero but some arbitrarily assigned value. Editing the nodes to correct the 'Y' values is not difficult, just time consuming.

F49 New route
F49 new route with node heights
Note the value of the new route nodes - where did this come from? As seen with the topography, the slope of the field is sufficient to produce plenty of node height variations between consecutive nodes to help with fault finding.

Map was Pallegney, field referenced F-49, Autodrive route used was done by the AutoDriveGuy (ADG). Tool used to create the new route was "Curves".
Edit: 240607 <Date..... Even putting a single node on the map right next to a node that has its height showing (via the DEBUG Menu) the new node shows a height value of zero.

For Curves...the default behaviour on node creation is to check if the node height from the heightmap is valid, if it is, it will use the height calculated from the heightmap and add a linear amount to each node to spread out the height difference between them all. If the heightmap value is invalid, it falls back to using the starting nodes height and add the linear amount.

I've changed the node creation on curves to just use the start node as the base height and add the linear difference to each node, this should stop the wildly different heights appearing.

As for the height on manually created nodes, the only way to set a height is read it from the heightmap, in all this time i still havn't found a more accurate way to calculate the height more precisely, the original version of the editor ( prior to me taking it over ) always set the height of a new node to -1. I've looked through mod's and the GIANTS Editor and found one command to get the height, but that is a modding API call to the game itself when running as a mod, so there is no way i can figure out how this call calculates the result it returns.