利用虚幻引擎5.1的强大功能,当谷歌地图3D图块API发布时,我开始了一次技术冒险。怀着雄心勃勃的目标,我挑战自己,在紧迫的一周期限内完成这个项目。在此页面上,我尝试分享创建此交互式体验背后的过程。
结合Google 3D磁贴和ChatGPT API,我利用虚幻引擎的功能创造了一种身临其境的体验,突破了可能性的界限。利用虚幻引擎蓝图的灵活性,我无缝集成了ChatGPT API,使用户能够输入提示并接收动态响应。
提示:
Answer the following question in the following format.
<< Latitude, Longitude >> ((City Name)) [Country name] ^^a fun fact about this place^^
nothing else. Use that format include the <, > and {} and ().
[USER INPUT]
每次用户输入提示时,它都会使用提供的提示触发特定功能。然后,ChatGPT 提供的答案分为四个部分:XY 坐标、城市名称、国家和有关该位置的有趣事实。然后,这些数据首先被解析为3D文本并放置在虚拟世界中。
但是,我们如何通过准确的位置数据使这个虚拟世界栩栩如生呢?这就是Google Maps API发挥作用的地方。我利用另一个函数来翻译从提示中获得的 XY 坐标,以通过 Google 地图 API 检索位置数据。然后,位置数据用于获取3D几何体,这要归功于出色的Cesium平台和虚幻引擎插件。
收集位置和几何数据后,将 3D 几何加载到指定位置。将用户从其当前位置无缝过渡到新位置。我使用Niagara粒子系统创建了一个门户机制,巧妙地隐藏了过渡过程。
当然,我们不能忘记瞬移的实用性。由于世界各地的地面关卡各不相同,我们需要确保玩家不会在地下或高出地面的地方生成。通过检查地面碰撞,我们确保玩家在离地面适当的高度生成。此外,为了增强用户体验,我们将玩家从预定位置稍微向后放置,让他们在到达时清楚地看到目的地。
在传送过程中,我们还设置了位置的时间。尽管当前的实现会生成时间的随机值,但最初的计划是从另一个 API 检索实际时间和天气数据。但是,鉴于项目的时间限制,该功能将不得不等待未来的开发。
这个项目是一次非常有趣和有益的经历。它展示了虚幻引擎的巨大功能,并展示了集成Google 3D磁贴和ChatGPT等工具所带来的无限可能性。如果您对这个项目有任何疑问,请随时与我们联系。我非常乐意分享更多见解!