开源篇-UE5实现动态POI点

Part1前言

POI点是三维可视化中最常用的一类视觉效果,传统的POI点就是在屏幕空间(大小与距离无关)中画一个二维图形,通过一条引脚指向三维空间中的某个点,并在旁边配一些文字信息来描述这个点,高效地传递信息,比如下面这种:

f1555f1c17ed74eae6e126948e2bffb0.png但这种毕竟是静态的POI图标,有时候为了更好的视觉体验,需要一些动态的POI特效,这就需要全新的设计思路了,我们考察了市面上主流的动态POI特效,大致可以分为2类:平面动画类和自转模型类,各占一半。我们以此为例分析一波。

Part2平面动图

平面动画的思路比较简单粗暴,就是在POI的位置放置一块面板,面板上循环播放着一个GIF动图(支持半透明),而且由于面板始终面向相机,看上去就像是一个三维的物体在运动(虽然很容易看出破绽)。别看这种方法很粗暴直接,但因为它简单易用,性能好等优点,平面动画在三维游戏领域早已被用烂了,所以我们的inveta插件也毫不犹豫地推出了基于动图的解决方案。

ae73fce8c8090620afe05ed28d0970f1.png● 类型:固定字符串“spawn-VFX”。
● 动图:选择图片 id,从0递增,整数。
● 位置:三维空间中 XYZ 坐标(需要从经纬海拔转换),cm。
● 尺寸:无需传参,等于图片本身的宽高(1px=1cm)。
● 缩放:根据序列帧尺寸的缩放倍数,实数。
● 周期:序列帧(GIF)播放一遍的时间,单位s。

Part3自转模型

绕Z轴自转的模型就高级一点了,视觉效果上比动图更真实,但需要消耗建模和渲染的成本,不过POI常用的小模型都有一些共同的特点,比如三角面少、自发光、使用顶点色渲染、绕竖轴自转,原点位于底部。使用顶点着色(支持透明)省去了UV贴图,大大降低了模型的体积,每个模型只有20~50KB,平均三五百个面片+顶点。我们inveta插件自然也提供了生成POI模型的接口。

f02c2dd3daac579e5a7f75d652929678.png● 类型:固定字符串“spawn-model”。
● 模型:选择模型 id,从0递增,整数。
● 位置:三维空间中 XYZ 坐标(需要从经纬海拔转换),cm。
● 缩放:模型整体的缩放倍数,实数。
● 运动:选择旋转模式。

Part4总结

本文主要介绍了Inveta团队开源的两种动态POI实现思路。项目开源地址:https://github.com/inveta/PLSB
欢迎点赞fork。

Part5关于IN VETA

IN VETA是一支由建模、美术、UE5组成的年轻团队。

269ec8ee42599ae32880aae98144e9ad.jpeg

我们的开源项目:
https://github.com/inveta

我们致力于三维数字孪生技术分享与研发。
欢迎与各界朋友一起探讨技术与商务合作,一起推动数字孪生的发展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值