How to add Google Maps images ‘terrain’ to Maps SDK for Unity? - unity3d

I’ve been following the processes for the Google Maps SDK for Unity from this ‘Terrain Elevation’ page.
https://developers.google.com/maps/documentation/gaming/elevation
I can get to show the buildings, roads and grass (1st Image). But how do I add the Google Maps or Google Earth images for the terrain into my base object in Unity? I'm more after the grass and trees than the building details etc
Was hoping to bring in the 2-Google Earth or 3-Google Maps images see attached (rather than having to paint the full terrain)
I understand there are other tools like
terrain.party or ‘real world terrain’ but these products don’t allow to zoom right into Ground level. The Google Maps API is also limited to 20 zoom and not able to zoom into ground level.
Thanks
1 - Unity Image:
2 - Google Earth ground view image:
3 - Google Maps API limited to zoom 20 (not Ground view):

Related

Indoor positioning using ARCore Geospatial API or ARKit from indoor 3D scan

How can you implement indoor positioning without using QR codes or image targets, but by using cloud anchors or geospatial API? Let's say you have the 3D scan of the inside of a building and want to implement indoor navigation for the place. How can that be done? (using ARKit or ARCore)
Something like the thing Google and Accenture did for marvel stadium: Link
Or like the area targets in Vuforia: Link

Unity Mapbox SDK - Cut off water areas from terrain mesh

I'm currently experimenting with the Mapbox Unity plugin and I need to remove the water tiles from the generated terrain to use a custom water solution.
I've read in the API documentation that there is the class "AbstractTileFactory" that allows developers to "create a custom factory to fetch raw data and process it in a custom way, like creating terrain and then cut off water areas from terrain mesh."
I don't get it how to use it and I found no usage example, could someone out me in the right direction?
I tried to expand around the "AbstractTileFactory" class but don't know exactly where to start.

How to put markers in the real world with mapbox and unity when making an augmented reality app

I'm making an augmented reality app with Unity and Mapbox for both ios and android. I have data sets that I am using to make markers in the real world when someone uses the app. I collected json files and converted them to geojson files and then I made a custom map in Mapbox Studio with these 4 different geojson files. Basically I want to have the markers from the datasets I collected to show up in the real world. I am not sure how to get these markers to show up in the real world and not with building prefabs. Example of my custom app made in Mapbox. Each color shows a different category of markers. There are four categories.
Here is an example of what I am referring to.
In this image skeletons can show up in the real world.
Here is an example of what I am not referring to.
In this image droids are place in a map but it is not the real world. It is like Pokemon Go where the map is generated with location but you don't actually see the real world when you are playing.
I already have my Unity project set up and this is the final step, but I am just having issues getting it to show up in the real world. So far, tutorials only show on to get it to reflect something like Pokemon Go.
You will have one scene with a stationary Camera. Your code will monitor the MapBox data in Update(), constantly passing the current GPS position and receiving your list of markers/points of interest. You can simply randomly spawn skeletons in a sphere area (see https://docs.unity3d.com/ScriptReference/Random-insideUnitSphere.html) around the Camera's transform position once you detect that the user's GPS position is in within a certain distance of the center of your point of interest. Keep track of that list, and destroy the skeletons once they leave the area - and have some way of making sure you only spawn them once for that area.
Your skeletons should have a NavMeshAgent, and you should generate a NavMesh onto the ARFoundation plane for them to walk on. In this case, the plane is probably dynamically created and you may need to use the dynamic NavMesh component https://github.com/Unity-Technologies/NavMeshComponents. If you tell the NavMeshAgent to go to a specific point it will walk to the closest point - so even though you get a random position in the sphere in 3D, the skeleton will move or spawn onto the nearest point so there is no need to figure out how to convert it to the 2D plane space.
Your AR view, both the tracking of the camera position/angle and the generation of a plane representing the ground, will be something generated by ARFoundation and it is simple to add the basic functionality. They have a prefab that already includes the camera and generates the plane for you. You can get ARFoundation via the Unity Package Manager. It will work with many different types of devices.
You should start with a cheap Android phone or tablet, even if you own an iPhone, because it's easier to load the APK and debug/develop your app via Android build.
This is a simplification. I recommend using Singletons, ScriptableObjects, Object Pooling, and other Unity paradigms and plenty of other things within Unity that would help you but as another user pointed out - you may want to spend time learning Unity, ARFoundation, MapBox, and ask more specific programming questions when you are ready.

Liquid physics game

I have to develop a game which will have water inside a bucket. The user can make the water move around the bucket by shaking the device. There will be light weight rings and mud inside the bucket settled at the bottom of the bucket. User can pump in air from the bottom of the bucket, and the rings and the mud will react to the air pressure applied from the bottom, as in a normal world.
Can I achieve this using cocos2d-box2d? Or shall I use a different game engine?
Can you please share an url for the sample applications or tutorials related to this topic?
You can achieve this using box2d. For more information check this links:
http://www.iforce2d.net/b2dtut/buoyancy
http://www.sideroller.com/wck/?f=6
http://files.slembcke.net/temp/Waves1D.tgz
http://www.emanueleferonato.com/2012/05/16/simulating-mudslime-with-box2d-bitmaps-and-filters/

Treasure hunt in Augmented Reality

I'm looking for an augmented reality browser/toolkit/api that supports the following:
Adding fixed 3d models such as a treasure-chest.
Possible image recognition of this treasure-chest so the iPhone knows when you're looking at it.
Specify altitude on a 3d model so it can be positioned on the ground or the second floor in an apartment building for example.
It must have support for "migrating" it to a standalone app that can be published on the app store.
The ability to customize the camera overlay with own buttons, huds, text and other UIViews.
Support for both iPhone and Android.
I have tried Wikitude which doesn't have support for 3d models in iPhone.
I have tried Junaio which doesn't support to create a standalone app using their browser.
I have tried Layar Player SDK, and asked the question on their community if I can customize the interface with own buttons etc.
I have tried the artoolkit on github.
None of the libraries I've tried have support for all my demands.
Am I looking for too much here?
Is there something I've missed using Layar, Wikitude and Junaio?
Specify altitude on a 3d model so it
can be positioned on the ground or the
second floor in a apartment building
for example.
Can you break this down? Do you want the phone to recognize it's on the second floor, at a particular location within the building? In general altitude is surprisingly tricky, and indoor positioning is very approximate - in the absence of indoor GPS repeaters or some other indoor positioning mechanisms which would probably require a lot of additional effort (bluetooth beacons, WiFi triangulation etc) this might be infeasible - in general, and not just given a particular AR library.
I think the Junaio libraries cover the other bases - CV recognition of a (prepared) object, stand-alone application packaging, customizable UI, and iPhone and Android support.