查看: 411|回复: 7

[示例和教学] 【2.3 - 网络关联性(第三部分-变量复制解决方案的尝试) | Unreal Engine】

[复制链接]

1

主题

342

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
75866
发表于 2016-6-27 19:54:14 | 显示全部楼层 |阅读模式



【虚幻4翻译文档-2.3 - 网络关联性(第三部分-变量复制解决方案的尝试) | Unreal Engine】[虚幻4中文文档]



为能同时从 服务器 和 客户端 进行查看,请在 Play (运行)的下拉框中,设置 Number of Clients (客户端数量)区域为2。
概述
示例2.2失败了,因为复制的Multicast函数没有在执行后处理对箱子状态的保留。 在这种情况下,一种很自然的解决方法是尝试使用复制的变量来解决这个问题。

本例中,RepNotify布尔值被用来保存箱子为开启或关闭的状态。 我们再一次将客户端划出蓝圈外并让服务器激活箱子。 当客户端在之后马上进入蓝圈内会发生什么? 客户端侧能看到箱子开启,但同时也会看到黄金特效的播放,而这个特效之前在服务器上已经发生!

当箱子再次与客户端相关时,客户端会获取对复制变量的变更,并且调用相关RepNotify函数。 不幸的是,客户端无法获知变量实际上在过去发生了很大的变化,只是获知它发生了改变,而这对于处理此例是不够的。
蓝图详细信息
在 BP_Relevancy_Replication_RepNotify 蓝图的事件图表中,如下方有注释的图片所示,OnChestTouch被覆盖以设置RepNotify变量,而此变量的OnRep函数负责处理开箱的视觉效果。

【虚幻4翻译文档-2.3 - 网络关联性(第三部分-变量复制解决方案的尝试) | Unreal Engine】[虚幻4中文文档]



下方是在变量 bChestOpened 被更新时调用的OnRep函数。

点击查看放大图片

【虚幻4翻译文档-2.3 - 网络关联性(第三部分-变量复制解决方案的尝试) | Unreal Engine】[虚幻4中文文档]




当箱子具有关联性时,这样可以让客户端获取更新值,它同时表示对于客户端,即使黄金特效应该在很久以前在服务器上完成播放,这种不需要的黄金粒子特效仍然会在客户端进行播放。
回复

使用道具 举报

0

主题

1327

帖子

4056

积分

vip会员

Rank: 1

积分
4056
发表于 2016-7-2 20:43:48 | 显示全部楼层
这个是什么呢,看看看
回复 支持 反对

使用道具 举报

0

主题

851

帖子

2784

积分

vip会员

Rank: 1

积分
2784
发表于 2016-7-4 03:29:50 来自手机 | 显示全部楼层
感谢分享,学习一下!
回复 支持 反对

使用道具 举报

0

主题

861

帖子

2844

积分

vip会员

Rank: 1

积分
2844
发表于 2016-7-4 03:29:50 来自手机 | 显示全部楼层
谢谢楼主分享!回复看下
回复 支持 反对

使用道具 举报

0

主题

895

帖子

2946

积分

vip会员

Rank: 1

积分
2946
发表于 2016-7-4 05:59:39 来自手机 | 显示全部楼层
好吗
回复 支持 反对

使用道具 举报

0

主题

866

帖子

2888

积分

vip会员

Rank: 1

积分
2888
发表于 2016-7-4 16:46:08 来自手机 | 显示全部楼层
我吭哧瘪肚 终于下载下来了,但是不会用- -
回复 支持 反对

使用道具 举报

0

主题

868

帖子

2865

积分

vip会员

Rank: 1

积分
2865
发表于 2016-7-11 19:38:46 | 显示全部楼层
恩,好资源~ 哈哈~
回复 支持 反对

使用道具 举报

0

主题

851

帖子

2797

积分

vip会员

Rank: 1

积分
2797
发表于 2016-7-20 03:43:30 | 显示全部楼层
怎么样呢急
回复 支持 反对

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | enginedx注册

本版积分规则

 
 



邮件留言:


 
返回顶部