Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

How Does Apple Maps, 3D Satellite Work??

Discussion in 'General Discussion' started by renman3000, Oct 19, 2016.

  1. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,680
    Hi,
    I was just playing with Apple Maps 3D, satellite view (I'm sure Google's is the same). I am just amazed by this program.

    I am wondering, how the hell does it work???

    How can a program take in so much information (city buildings and all thier detail) and render and scale all of this, with such ease????

    I am preplexed. All angles covered.
     
  2. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,301
    Programs like Google Earth do not store all the information at once on the device. They stream minimum required level of detail from external server. Meaning if you're looking from far away, you're essentailly looking at planet covered with multiple textured segments. As you zoom in, program start requesting details visible at current distance/zoom-level. and only when you're down to street level they start loading building meshes and textures.

    It is not very difficult to do on the client's side. Managing massive amount of data on server side is going to be very tricky, however.
     
    theANMATOR2b and Kiwasi like this.
  3. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,680

    Nice you make it sound so easy.


    I suppose what I am more interested in is how they gather the scale of each building, and it's texture!

    Incredible stuff.
     
  4. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Cars with lots of cameras driving down every single road in the world. This combined with satellites taking pictures of every place in the world. Then a lot of clever data merging to match the two data sets up. Finally some very clever servers to distribute the data out in a sensible fashion.

    Good news is you can just rest on the shoulders of giants and use data directly from Google's servers in your game.
     
  5. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,026
    device-car.jpg

    Bad news is that you have no way of duplicating the work they put into it yourself so you're at the mercy of a third party to provide the APIs you need for your application to do its work at an affordable price.
     
  6. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Yeah, but lets face it, we are already at the mercy of those that design the hard ware, operating systems and engines. The days of a developer who could build the entire gaming ecosystem from the hardware right through to the player interface are long gone.
     
    Ryiah likes this.
  7. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    9,706
    These days barely existed in the first place. Like, you're describing the briefest of periods in the late-70s to early-80s.
     
    Kiwasi likes this.
  8. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,026
    You're definitely at the mercy of the hardware developers. Operating systems aren't a worry in the slightest though thanks to the presence of Linux and BSD. Game engines aren't really an issue either as there are numerous options both free and paid but worst case it is quite possible to build your own engine or framework.
     
  9. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,301
    Photogrammetry (+ a lot of images + a lot of money + a lot of computational power).

    They originally allowed user-submitted building models, but eventually they scrapped this feature, as far as I know.

    It is not perfect, though.

    photogrammetry.jpg
     
    renman3000 likes this.
  10. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,301
    Did this time ever exist? I mean at some point there will be parts you can't design yourself. Can you make a transistor, for example?

    The only reasonable example I think would be mechanical or electro-mechanical arcade machines or something like that.
     
    renman3000 likes this.
  11. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Some of the very early games like Pong or Space War might just count. There was also a period in the late 70s where console manufacturers were also the primary developers for a platform.

    But you are right, it's a stretch to call ever of these purely dependency free. My point was that at some point you will be dependent on some third party work. That's just a part of doing business.
     
    renman3000 likes this.
  12. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,026
  13. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    I could build a relay. Conceptually a relay is identical to a transistor. And I can probably build Pong using just relays.

    Of course that supposes I have a decent supply of copper and iorn. Probably some plastic or wood as well. Given enough time I could get these resources on my own from the environment.

    That does presuppose I can feed myself long enough. I live in a desert. So take away my external dependencies and it's unlikely I could survive more then a couple of days.

    ;)
     
    Ryiah likes this.
  14. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,495
    Well, there's Nintendo. They're a pretty exceptional exception, though.

    MineCraft: GameDev Edition.

    Though...
    A desert is the least of your worries. You live on a ball of rock flying through space. Take away your atmosphere and...
     
    Kiwasi likes this.
  15. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Hitch a ride on one of those Google satalites?

    :p
     
  16. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    8,950
  17. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,301
    Oi, c'mon. Conceptually relay is nothing similar to transistor. Relay has strict on/off state, transistor "amplifies" inbound signal (well, the singal passed to base affects current flow between emitter and collector). While both can be used to make logical elements and triggers, conceptually closest thing to a transistor would be a vacuum tube triode.

    Don't forget that for a proper pong you might need a CRT tube.

    Simplest pong implementation without actual CPU I saw took quite a lot of discrete logic chips. I think that'll be 50 years old tech by now?

    Switching discrete logic chips to transistors explosively increases number of parts too (something simple like railroad toy with semaphores easily could require 50 transistors if it uses discrete logic).

    Basically, you'll be better off building mechancial pong.

    If anyone manages to build electronic pong from homemade components, I'll be extremely surprised.
    ------
    Pong reconstruction:



     
    Last edited: Oct 20, 2016
  18. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    I'm pretty good with relay logic. I can do pneumatic and mechanical logic too. But I've never worked with vacuum tubes.

    I'm not saying I would enjoy making pong with home made components. Its probably the work of several years or decades. But it could be done.
     
  19. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    8,950
     
  20. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,301
    Vacuum tubes and transistors are analog logic. Diode has equivalent behavior in both vacuum tube and semiconductor form, triode is equivalent to transistor. The difference is speed (transistors are smaller and faster) and the fact that vacuum tubes need current to keep them heated up. I think that in vacuum tubes there was that side effect where current of certain frequency could just pass through because the tube also sorta acted as capacitor at the same time.

    The trouble starts if you decide to use CRT display because of timings. I think at this point you'll need microchips.

    If you use a different type of display - mechanical or otherwise, it is doable.
     
    Kiwasi likes this.
  21. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    I think this version would be easier

     
    zombiegorilla and renman3000 like this.
  22. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,680
    So, lets concentrate on one square, major city block.

    It has 3 towers and a park in its bounds.

    A satellite will snap a photo, from 360 angles? 4 angles? and at how many tilts? Looking at it from a 45 degree angle, a 70 degree angle etc..... ( i ask since if I am looking to north, for example, I can move up and down along this longitude about 30 degrees up and down.)

    So, what I am wondering, how far does one image go? How often, as I move the camera about, rotating, changing the angle, scrolling, (around a one block area for this example), are the images (textures?) updated over the models??


    Such an incredible tool!


    edit.
    and in regards to your photo... I forgot about miscellaneous, random objects like planes, cars etc. So, to further the quest I am on.... how does the process start? Does it start with a photograph, (this photo may contain a building, a car parked, a hot dog stand!), the possibilities are endless.


    Anyhow, then, is that photo passed to some algorithm which creates models off of the one picture??? or is there a team of a million monkeys handcrafting each city?
     
  23. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    8,950
    Models aren't created from the images. Initially the were built using existing data. I think now it is combines with multiple data sources, including scanning. Large cities will be more detailed than smaller, and the will leverage more data and sources as needed. Disneyland for example was pretty ugly early on because it was radar/ir (or something) that was used to scan the topology. Which works fine on building and such, but not on oddly shapped thing like roller coasters. Fans and Disney help clean and contribute better geo.

    Basically Google is phenomenonal at what it does best, aggregate and mine data in useful ways. Maps is no exception, the use many sources to build a solid model, not just the ones they generate.

    For example, the more available data the better the picture. I live literally down the street from Google, in one of the high tech capitals of the world. Google maps here is much different than the city I grew up in. There is more granular data available and updates more often. My hometown doesn't have geo except for the college campuses, and barely has street view.

    So it isn't about just satellite images, it's about a huge range of sources.
     
    Ryiah, Kiwasi and Martin_H like this.
  24. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,301
    Both satelite and google car know where they are located, what their view angle is and in which direction they're looking. GPS/Compass data. In case of satellites stitching map will be much easier and would not require full-scale 3d reconstruction.

    The possibilities are not endless. Photogrammetry is finicky (which is obvious after seeing that "molten plane") and extremely storage/computationally expensive.

    Photogrammetry works by looking for matching/similar features in different photos. It then attempts to figure out relative position of camera in each photo (relative to every other photo) and adjusts camera FOV/Lens type. Once it is done, software tries to build point cloud using camera data and matching features data. It is an extremely lengthy, slow and messy process that produces quite a lot of errors. Once point cloud is built, application attempts to polygonize it, which produces a lot of "blobs" and "molten surfaces". To reconstruct something like a park bench, you might need something like two hundred photos and 6 hours of processing time, depending on your hardware. This is very likely to produce an object with a few billion polygons in it.

    I investigated photogrammetry thinking it might be a way to "snatch" real world objects into games, and in the end abandoned the idea. Those apps are expensive (photoscan professional license is $3500) and require high quality photographic equipment to be useful. The worst thing is there doesn't seem to be a working free (as in "free beer") software chain for this kind of thing - Autodesk 123d wasn't very impressive, and one of the opensource software chains relied on a single app that has "non-commercial use only" restriction.
     
  25. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,680


    I enjoy using Apple Maps, 3D, satellite view. It can lag, certainly on my iPhone 5, but still, the fact that this software exists in iceredible!


    Obviously the next step will be some type of holographic (Star Wars, chess board), Think of this for live action sports!!! Incredible, especially if you can (will) control the view as you do in Apple Maps.


    The others will be virtual reality and augmented.


    I am excited about he future.


    My one puzzlement, if video games, using virtual reality, which have the player walking or running about. I would love to see some technology to allow a player to physically move about with in a finite space (Star Trek, Holodeck)
     
  26. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,680

    Awesome!
    So, by "data", do you mean images and scanning entirely?? This is Google mapping cars and satellites? Or are there other sources? If so, what? They don't data base random photos from the web right? I would think not.

    And by scanning, this is just satellites, "probing" the earth? They use radio waves? Off topic I know.


    All incredible stuff. Totally fascinating.

    Thanks!
     
    Last edited: Oct 21, 2016
  27. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    As you wish. This is just up the road from my place. Haven't been yet, but have heard rave reviews from everyone who has.

    https://www.zerolatencyvr.com/
     
  28. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,680

    That's cool, but what im talking about is, if the floor could be a morphing mesh, so it could form a boulder, a hill, a building that you could mean against.

    Also, this room is finite in space, as all rooms are. What I am talking about is if some technology (I have no idea what) could allow you to walk infinitely (or so you think) in all directions on any terrain kind of thing.
     
  29. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    8,950
    Tons of data sources. USGS data, commercial and government collected data, some large cities had data via city planning, whatever they can source and convert to information usable by thier system.

    Topographic laser scanning. It been around for years. I'm sure they do thier own (some driverless cars use this), and they can license it from other companies.
     
  30. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,680

    So would blue prints, actual architectural designs be data? Would random dudes Instagram pics be data??
     
  31. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    8,950
    No, they aren't using random stuff from the web.
     
    renman3000 likes this.
  32. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Zero Latency does a bunch of cool design tricks that make the space much bigger then it appears. Basically you can re-traverse the same section of the building multiple times with a different virtual environment. Its not exactly what you are after, but its starting to get close.
     
    renman3000 likes this.
  33. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,680


    I want the freakin' Holodeck!!!!

    :)