查看: 1200|回复: 0

UE4 VR射箭游戏如何优化体验?

[复制链接]

39

主题

47

帖子

162

积分

注册会员

Rank: 2

积分
162
发表于 2018-11-20 09:53:17 | 显示全部楼层 |阅读模式
之前有人发了一个官网弓箭工程,看起来觉得很复杂 ,也不方便个人做扩展。the lab中的弓箭体验就很顺畅,以这个体验做目标参考,这里一起讨论下实现方法。

1.模型制作 绑定(我只用2个骨骼,一个在弓上就是手握弓的轴心出,一个在弦的受力点上。绑定效果不是很好,弓弦受力与弓的物理变形效果没做出来)

2.在ue里做2个碰撞体,跟踪这2个骨骼轴心。

3.箭模型的轴心设置在尾端,同样尾端(就是轴心位置)加一个碰撞体。

4.通过箭尾端的碰撞体与弦上的碰撞体碰撞触发,带动弦上骨骼的位移模拟弦受力的效果,(驱动骨骼的位置用组件里的PoseableMesh)。受力后没有碰撞用timeline做弦的回弹。

5.箭发射,发射事件自行定义。用ProjectileMovement组件模拟抛物线射击效果。

这些是基本实现思路,比较好理解。这个是7月份的时候体验the lab后想到的一个思路,只做了上面说的大概思路,之后几个月就放在一边了,还不完善。
(比如 箭和弦在受力向后位移的轴向没有锁定,拉半弓和满弓的情况下射程的模拟)。不过都比较简单还是做些判断,我后面会贴出工程,有兴趣的朋友,可以自己做扩展。 1.jpg 2.jpg 03.jpg 04.jpg 05.jpg 6.jpg

最近有时间将这个完善了一下 功能
1.箭的轴向锁定 用 attach,位置自己随便定 根据自己合适的位置调整。

2.实现拉弓箭偏移效果 我的这个是负x轴 。用拿箭的控制器减掉拿弓控制器得到距离 Dis。赋值给箭的-x轴就得到偏移效果。

3.满弓半弓射程实现。将之前箭的射程3000 改成Dis*50,就可以得到一个动态偏移量影射到动态射程效果。
最后要注意的就是 箭射出的一瞬间,要detach,并且不能被控制器影响、控制器震动关闭等等效果。

7.jpg
箭碰到弓 附加到一个位置


8.jpg
同时拿到左右控制器的距离Dis 。error value变量是修整Dis值的误差。

9.jpg
之前箭的射程永远都是3000 这里Dis*50影射的 。

10.jpg
最后箭离弦的时候。关掉所有影响。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


快速回复 返回顶部 返回列表