Outerra forum

Anteworld - Outerra Game => Modding: Importer, Tools & Utilities => Topic started by: fly77 on November 22, 2018, 04:12:17 pm

Title: getting info on terrain material from world position
Post by: fly77 on November 22, 2018, 04:12:17 pm
Is there a way to access from within a javascript the material of the terrain at a given latitude , longitude  ? I know it is possible inside vehicle scripts interrogating the wheel_data    material property. However this only tests the material at the location where the wheel stands and to know material property at another location I need to drive there. Instead I would like to know the material property of the terrain just by giving world position coordinates. Is there any way ?
Title: Re: getting info on terrain material from world position
Post by: cameni on November 28, 2018, 04:38:18 am
There are some internal APIs for that, but generally the query results can be arbitrarily imprecise or flat wrong if there's no observer at or near the queried location, that would cause the measurement to be more precise.

You know, quantum uncertainty and all that :)
Title: Re: getting info on terrain material from world position
Post by: fly77 on November 28, 2018, 05:14:36 am
Is it possible for us to access/use these"internal" apis? In case where can i find them?
Title: Re: getting info on terrain material from world position
Post by: cameni on November 28, 2018, 05:23:28 am
It's possible, but it's undocumented because we don't want to support that mode of access for mods, but rather to make some kind of a sensor API that can be better controlled and used in future game/sim modes.

What's the intended use for it?
Title: Re: getting info on terrain material from world position
Post by: fly77 on November 28, 2018, 05:55:37 am
I was thinking about a way to place my streetlamps automatically along roads by spawning a single "vehicle" in some place which then probes the terrain around to place multiple streetlamp meshes along roads nearby so that all can be lit by spawning a single instance of streetlamp
Title: Re: getting info on terrain material from world position
Post by: cameni on November 28, 2018, 06:26:41 am
The resolution gets gradually worse the farther you are, and that applies to the query API as well, unless you perform some asynchronous terrain data requests ... it can get ugly.

Besides, new road format will allow enabling "features" generated along the roads, such as guard rails, poles, lamps etc, which will be able to place them precisely (and automatically).
Title: Re: getting info on terrain material from world position
Post by: fly77 on November 28, 2018, 07:25:55 am
Thanks cameni. In fact I was already abandonding the idea as for the moment it is good enough to enjoy outerra villages by night by placing manually streetlamps in the editor as vehicles and lighting them one by one passing by each of them entering and exiting each "vehicle"-streetlamp. So I am waiting for the new update of outerra including also active streetlamps..which i found contribute a lot to enjoy outerra by night. Thanks once again and keep on your great work! Outerra is fantastic!
Title: Re: getting info on terrain material from world position
Post by: KW71 on November 28, 2018, 11:07:18 am
Hi, fly77!
For the time being, if you still want to have some fun, you could create models with different amount of lamps: 1, 2, 4, 8, 16... and the script to activate all the lamps on the model at once...
Title: Re: getting info on terrain material from world position
Post by: fly77 on November 28, 2018, 01:24:59 pm
Hi KW71. In fact i tried that but for the moment gave up because I could't manage to place a vehicle that supports a row of poles of say 4 or 6 streetlamps  all at the right height with respect to their local terrain level. Indeed as their positions are rigidly linked to the "base" vehicle their height above terrain depends also on the heading pitch and roll of the "base vehicle" and of course on the terrain and the farther you go from the base point the more difficult it is to keep all lamps at the correct height unless the terrain is perfectly level - which of course is the case in planes but not in mountains or hills even small ones. As in the end I found it is relatively fast to run from one lamp to the other to switch it on for the moment I am satisfied also because using individual lamps keeps things simple. Eventually it is computationally more intensive as more instances of lamps need to be placed, i guess. Anyway maybe I can still make a row of lamps controlled from a single "base vehicle" by using the move_joints command attaching bones to the lamp meshes and by probing the terrain level under the lamps...which I know how to do ..then adjust the individual lamp heights as needed. I'll give it a try when I have time. Thanks for keeping my interest alive on this aspect which I had for the moment set aside.