UE4多人VR随手笔记—— MotionController 的问题

MotionController 的问题

开发平台:UE4 4.18.3 纯蓝图

2020年 2月27日, 开发多人VR 中遇到如下问题:

1,采用自带的VR 模板, 手柄采用了一个单独的Actor 蓝图, 然后代表VR 头显的 VRPawn , 在初始化的时候 自动生成了 两个手柄对应的的蓝图。
第一阶段问题: 直接采用以上的模板,在开发局域网互联机制的基础上进行联网测试,发现问题:
(1) Server 端 初步启动之后, 创建了房间, 可看到自己头显的移动以及摆动的角度。 自己的手柄也可自由的进行控制。包括抓取以及瞬移功能。 但是自从 Client 端联网之后, bug 开始出现: Client 端发现自己的每个手柄对应的模型 生成了 两个一模一样的手, 并且两个手的动作是完全同步的 ,但是两个手的坐标是不同的。 Server 端 是没有问题的。
第一阶段应对: 猜测:在 Gamemode 里面 有一个postlogin 的过程, 主机端初始初次进入之后, 自动生成了两个手。 然后client 端进入后, 如果当前有控制的pawn 需要进行销毁 重新进行生成。 但是这个过程, 并没有对 生成了两个手进行销毁。 server端 和client 端 会各自重新一遍手。也就是说 此时 场景中 应该有 3 组手。
为了验证此猜想, 我们在 postlogin 后 在判断是否pawn 有效的基础上, 提前 将所有的 手的蓝图宣布进行销毁。 销毁完毕后 再将 pawn 效果 ,然后重新生成pawn.。 并且 我们将 销毁全部的手 做成了 一个 广播事件(此条是否有问题 ,待验证)。
修改完毕后, 重新打包联机测试: 场景中 只生成了 两对手, 但是 诡异的事情发生了: 初始的时候 ,server端 只有一组手。 client 端加入之后, 又生成了一组手。 但是两组手 是完全重合的。 一个手握拳的时候 就会发现 ,还有一只静止的手一只附着。
郁闷。。。

第二阶段应对: 直接采用 VR 模板还未出现之前的思路 ,直接在 VR pawn 下面 直接 定义左右手的 motionController , 然后将手的全部逻辑在 VRpawn 所在的蓝图进行书写。 为了初步验证能否将以上问题给解决: 打包之后, 链接测试, 测试OK;
So ,MotionController 已经挂在了 pawn 上面,所以同生共死,解决了以上的bug。 接下来需要对 以前单独手部蓝图中的逻辑重新进行复现。 很多函数需要进行修改 ,尤其是函数的输入参数需要增加 来区分左右手。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值