如何在Google地图上添加3d对象作为标记,就像Uber一样

问题描述 投票:30回答:5

我想在Uber上添加一个用于在地图上显示汽车的3D标记,但我无法找到有关在Google Maps SDK for iOS上添加3d对象的任何信息。

非常感谢任何帮助。

显然没有人看到OP和我看到的是什么,所以这里是一辆转向90度的优步汽车的video。逐帧播放,你会发现它不是一个简单的图像旋转。要么优步经历了每辆车的360度角度的麻烦,要么它真的是一个3D模型。对每辆车做360度图像对我来说都是愚蠢的。

ios swift google-maps google-maps-sdk-ios
5个回答
5
投票

优步只是released a blog post documenting this

看起来车辆在3D软件中建模,然后为应用程序导出描绘不同角度的图像资产。根据车辆在地图上的位置及其标题,使用不同的资产。

enter image description here


27
投票

据我所知,他们没有使用3D对象。它们也不能在不同角度的400辆汽车图像之间制作动画。他们正在混合使用旋转图像资源,并在不同角度对约50-70个汽车图像进行动画制作。幻觉是完美的,因为它确实看起来像他们使用3D汽车模型!

看看这辆优步车的GIF转弯(qazxsw poi):qazxsw poi

我们可以清楚地看到,阴影和汽车的视角不会像汽车的旋转那样频繁更新。

在这里,我以不同的角度覆盖了2辆汽车的图像,但使用相同的汽车图像:Dropbox link

我们可以看到地图旋转了~5度,但汽车图像非常清晰,因为它没有改变,只是简单地旋转。


5
投票

首先,它们不是3D对象,如果这是你所指的(虽然可以创建一个,但浪费时间)它们只是在Photoshop或Illustrator(大多数)中创建的具有3D透视的3D图像(它也是视网膜优化的,这是为什么它看起来很清楚)。

之所以你看到汽车是旋转的,是因为图像被保持的GIF showing a Uber car turning a corner旋转(主要使用Uber car images at 2 different angles)使用3D设备位置的计算基础(运行应用程序以跟踪您的位置的相同技术用途等),你可以使用UIImageView来检索那些数据。

这是一个过程,但非常可行。祝好运!


0
投票

谢谢所有答案都有效。

如果你想要,你可以看到视频正在运行,它是如何工作的

您可以生成精灵表(大约60个)磁贴

我如何实现它和你需要的工具

  • 3d源汽车模型。
  • 搅拌机,使用路径动画椭圆的动画相机。
  • 相机从上到下围绕汽车旋转
  • 渲染3d标记使用精灵生成的精灵,角度使用轴承更改位置更新。

您的车辆需要渲染以支持大多数屏幕,因此每个平铺的基本尺寸为64像素,我根据屏幕的dpi进行缩放

结果实施:

CABasicAnimation


-1
投票

如果要将图像旋转为标记。想要显示一个可以使用的移动对象.git图像。这对你来说很有帮助。

斯威夫特3

Core Location

有关更多信息https://twitter.com/ronfravi/status/1133226618024022016?s=09

© www.soinside.com 2019 - 2024. All rights reserved.