Apple Maps Custom 3D Landmarks

It is…

These elements in Apple Maps are custom models made in Maya to capture the various landmarks all wound the world.

I did…

I modeled, baked AO maps and emissive maps for various models through the years. In addition, I scaled the process via external vendor creation + internal contractor ingestion pipelines.

Deliverables

Hundreds of custom real time models.

Results

The details

Apple Maps have always had some form of the 3D buildings. But most buildings were polygons extruded vertically to represent a building. You can imagine this works most of the time but for a lot of structures, this simple methodology can yield bizarre results. Oracle Arena and The Oakland Coliseum (above) were plagued by this until they finally got the proper landmark treatment in Maya.

Unfortunately for us, most of our users never used our product beyond a traditional 2D top-down mode. In addition, for the people that did know about our 3D maps entering that camera mode was not intuitive. We did not have the 3D affordance that is visible today. The way to tilt the camera was a two finger drag on the screen which was a difficult gesture to execute let alone remember.

Even with those challenges, the early cartography team hand created a small number of custom low polygon landmarks around the world. This was not the highly visible in the press sexy 3D photogrammetry that I was scaling back in 2012 but these models were found in our standard map mode. Given the limited staff and technical challenges, it was a nice bonus.

Starting in 2013, I was tasked to accomplish 3 goals with these landmarks.

  1. Improve visual fidelity
  2. Stay within the current constraints of the pipeline
  3. Expand the quantity

My team including myself was comprised of a lot of 3D talent from both games and film. The first task of improving the visual fidelity was relatively easy. Adding polygons to include some smaller details really helped. In addition, we went to tools like Z-brush to create statues and add other organic details.

Finally, adding texture maps was a must. In this case, the small step was AO maps.

These are the studies I created by baking some AO maps. Not only does it help with edge definition, but from a top-down perspective it actually makes these large blocks readable and understandable in some cases as to know what you are looking at.

While this was going in the right direction, the extremely difficult part was trying to get these models into the engine. My team had to understand the pipeline and propose ways to achieve the look and feel we wanted.

After many meetings with our Eng and services team, we learned about 2 major hurdles.

  1. Any tile could not be more than 512kb (remember cellular data caps in the 3G days?)
  2. Our models could not exceed more than 2000 triangles

The first problem was related to the delivery of the mesh+texture to the client team and which tile the landmark sat on. 512kb included anything on the map tile including the landmark mesh. To make sure these improved landmarks didn’t blow up tile sizes we limited textures to AO maps only (we wanted diffuse, Normals, etc.) and we found clever compression techniques to stay within the contraints.

The second problem was tough as many of the geometry details we added to the landmark meshes blew up models well beyond 2000 triangles. The work around was simple in hindsight. We built models regardless of polycount. Once done, we broke the models into multiple pieces (like multiple landmarks) of less than 2K triangles each.

So we now had a methodology but not the staff. My team of 3 needed to work on other projects versus scaling the models on our own. I then put on my project manager hat and researched 3D art houses to not only match our look and feel but deliver on a weekly basis. Once identified I worked on a SOW, documented all processes, and trained the vendor to get up to speed. Finally, I was the POC for weekly stand up meetings, PO requests and invoice approver.

While I had asked our vendors to deliver diffuse maps for future reference, we only used the AO maps for production and here are some samples that made it into the product. Some are still in maps today!

Fast Forward to 2018. In one of my other projects I covered the improvement of Apple Maps for iOS15. Of course landmarks had to evolve as well and my team created the pipeline to make this all possible.

After hiring a 3D artist that we found online to set the visual style, we again researched, discussed, haggled, and forged a entirely new pipeline to set the latest look and feel and custom 3D landmarks.

The old pipeline had been pushed to the limit and it was time to start with a clean slate. While the geometry was upgraded it wasn’t about making realistic movie assets. We had set a stylized tone that included rounded corners and simplified details. The big changes were the ability to have diffuse/albedo maps for the first time. Amazing how just introducing color changes everything.

In addition, we had an opportunity to do something amazing with Dark Mode. This mode has always existed in maps but other than a palette change, the map was pretty much the same.

While we did support albedo maps in our new client, multiple maps were still out of the question due to constraints on data size for sending down to the client. This ended any dreams of normal, maps, spec maps and most importantly for Dark Mode, emissive maps. Of course we couldn’t have that so the team developed a pipeline to merge albedo and emissive maps into one and we would switch out with the day albedo when Dark mode was turned on.

I assisted the team to create the first emissive maps for baking and the results were very successful as you can see.

Finally, we again had to scale the production beyond what the team could support. I again put on my PM hat and sourced new vendors to work in the production of these latest landmarks. Rinse and repeat!