utymap icon indicating copy to clipboard operation
utymap copied to clipboard

Building Customization

Open ksPriyanka opened this issue 7 years ago • 9 comments

Hi, Is it possible to determine the tap on the buildings or to determine customization, like changing color or texture of the building, roads?

ksPriyanka avatar Oct 11 '18 06:10 ksPriyanka

Hi, yes, you can do it as shortly described here: https://github.com/reinterpretcat/utymap/blob/master/docs/howto.md#tweak-mapcss-styles MapCss is the way to change properties consumed by element builders.

To detect tap, you need to add unity's mono behaviour on game object. To achieve this, you can tweak GameObjectBuilder:

https://github.com/reinterpretcat/utymap/blob/master/unity/demo/Assets/Scripts/Core/Plugins/GameObjectBuilder.cs

Building's mesh is used to be created by core part, so adding corresponding behaviour in BuildFromMesh(Tile tile, Mesh mesh) should help.

reinterpretcat avatar Oct 11 '18 07:10 reinterpretcat

Thanks.

Also, the project doesn't support Scripting Runtime Version 4+??? I tried changing it from 3.x and it started giving errors like IProgress' is an ambiguous reference between System.IProgress<T>' and `UtyRx.IProgress<T>'

and when trying to fix it, it resulted in some other error like a chain. Any way to come out of this problem?

ksPriyanka avatar Oct 15 '18 08:10 ksPriyanka

I stopped to work on project in Jan, 2018, before it was there. You might try to overcome the problem within using alias directive: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/using-directive

reinterpretcat avatar Oct 15 '18 09:10 reinterpretcat

Hey sorry to bug you again.

Is it possible to change the texture of the building or roads during runtime? Like I have 4/5 textures for building something like bricks & stones of different kinds. Similarly for the roads too. I can change it with Unity IDE but not being able to change it during the run time.

Is it possible to change it during runtime too?

ksPriyanka avatar Oct 22 '18 11:10 ksPriyanka

have you thought about texture atlas: https://en.wikipedia.org/wiki/Texture_atlas ? utymap uses texture atlases: it is good from performance reasons

reinterpretcat avatar Oct 22 '18 11:10 reinterpretcat

Hey, can building Id be enough to get the information of that building? Information like Geometry of the building or the height of the building, about Tiles?

ksPriyanka avatar Oct 29 '18 06:10 ksPriyanka

In theory, yes. Practically, might be complicated as building might consist from multiple parts (ways).

search API might be useful for you, see https://github.com/reinterpretcat/utymap/blob/master/core/src/index/GeoStore.hpp

reinterpretcat avatar Oct 29 '18 09:10 reinterpretcat

Hi, xml files that gets generated in the Index folder, how is it being read by the script? I tried searching for it but couldn't exactly figure out the script responsible for that. InitTask.cs does show the entry point for composing the graph but still, I am unclear about it.

ksPriyanka avatar Oct 30 '18 10:10 ksPriyanka

osm xml files are processed by OsmXmlParser: https://github.com/reinterpretcat/utymap/blob/master/core/src/formats/osm/xml/OsmXmlParser.hpp which uses boost spirit to define grammar in eBNF form and generate corresponding parser.

InitTask is just one peace. Take a look at https://github.com/reinterpretcat/utymap/blob/master/core/shared/ExportLib.cpp : this file defines native API available from managed part.

reinterpretcat avatar Oct 30 '18 11:10 reinterpretcat