[UE4]单机游戏改网络游戏,不完全清单
摘要:把Actor的复制打开 中腰数据的复制打开,且只在服务器修改(比如角色属性血量) 需要同步的Actor,不在客户端Spawn 客户端的操作,先报告到服务器,服务器再广播到所有客户端 某些逻辑只在服务器运行(比如捡枪) 考虑相关性、延迟等等更多因素 。。。
阅读全文
posted @
2018-11-04 19:32
一粒沙
阅读(652)
推荐(0)
[UE4]游戏中服务器切换地图,控制台命令Execute console Command
摘要:Execute console Command ServerTravel {地图名称}?listen 在服务器执行了这个命令,所有连接到该服务器的客户端都会跟着服务器同时切换到指定的地图。 1、创建一个切换地图UI 二、给角色绑定一个快捷召唤出地图切换UI 三、删除地图默认添加到地图的角色(防止添加
阅读全文
posted @
2018-11-04 12:14
一粒沙
阅读(3852)
推荐(0)
[UE4]创建游戏、加入游戏
摘要:google搜: UE4 compile dedicated server,编译UE4专用服务器 UE4默认网络端口可以在引擎配置文件中修改: 一、创建文件。需要修改一下工程的配置文件DefaultEngin.ini,在文件最后加入: [OnlineSubsystem] DefaultPlatfor
阅读全文
posted @
2018-11-02 12:59
一粒沙
阅读(2534)
推荐(0)
[UE4]模拟网络延迟和丢包
摘要:进入游戏界面,按下键盘的“~”键,打开控制台界面,输入net会自动列出跟网络相关的命令 1、Net pktLag=,模拟延迟,单位是毫秒 2、Net PktLagVariance=300,在模拟延迟的基础上,再上下浮动300毫秒。加上这个就会出现移动瞬移卡顿的效果 3、Net PKtLoss=,丢包
阅读全文
posted @
2018-11-02 11:35
一粒沙
阅读(8373)
推荐(0)
[UE4]第一人称与第三人称
摘要:一、给Character添加一个SkeletalMesh,并设置为第三人称模型。并设置自己看不到该模型。 二、添加给骨骼的右手添加一个Socket插槽用来挂载武器 三、判断当前角色是否被本地Controller控制,如果不是,则表示要显示为第三人称模型,把武器挂载在上面第二步创建好的第三人称的右手武
阅读全文
posted @
2018-11-01 23:36
一粒沙
阅读(2070)
推荐(0)
[UE4]GameMode、GameInstance、GameState、PlayerState、PlayerController
摘要:一、只有PlayerController和Pawn/Character才有输入事件(键盘、鼠标等等),PlayerState没有输入事件。 二、对于需要跨域关卡的数据信息,根据上图所知需要放到GameInstance,但是GameInstance是不支持复制的,所以在网络游戏中需要自己手动做Game
阅读全文
posted @
2018-11-01 22:51
一粒沙
阅读(8528)
推荐(1)
[UE4]虚幻引擎UE4如何制作可拖动(Drag and Drop)的背包(Scrollbox)(转载)
摘要:最终效果 由于隐私保护,不想截实际的效果图,下面给出了示意图,左边是背包A,右边是背包B,将其中的子项目从左侧拖往右侧的背包,然后在插入位置放置。 第一步: 制作一个user widget(在内容浏览器中右键-ui widget-user widget),命名为subwidget_singleite
阅读全文
posted @
2018-11-01 18:44
一粒沙
阅读(2574)
推荐(0)
[UE4]GameplayAbilities,技能系统插件
摘要:Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(七)Ability的信息传递等 Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(七)Ability的信息传递等 Unreal Engine 4(虚幻UE4)Ga
阅读全文
posted @
2018-11-01 18:41
一粒沙
阅读(3144)
推荐(0)
[UE4]优先级与相关性
摘要:一、优先级 每个 Actor 都有一个名为 NetPriority 的浮点变量。这个变量的数值越大,Actor 相对于其他“同伴”的带宽就越多。和优先级为 1.0 的 Actor 相比,优先级是 2.0 的 Actor 可以得到两倍的更新频度。唯一影响优先顺序的就是它们的比值;所以很显然,您无法通过
阅读全文
posted @
2018-11-01 16:54
一粒沙
阅读(2293)
推荐(0)
[UE4]RepNotify,更新通知
摘要:“复制”: 1、Replicated:复制更新 2、RepNotify:更新通知。选择这个选项,会自动生成一个通知函数(如上图所示的“OnRep_Health”),当这个变量的值有变化的时候,这个函数就会在服务器和所有客户端被调用。 之前我们是通过Tick事件来不停的检测更新Health的变化值(T
阅读全文
posted @
2018-11-01 16:29
一粒沙
阅读(3947)
推荐(0)
[UE4]Reliable,可靠性
摘要:1、Reliable,不会丢失,立刻发出,适合重要的事件 2、Unreliable,可能会丢失,适合表现相关的和不重要的事件 3、全部的远程调用都使用Reliable,可能会造成网络拥堵 4、尽量避免在循环里面进行远程调用和勾选Reliable选项
阅读全文
posted @
2018-11-01 16:06
一粒沙
阅读(1592)
推荐(0)
[UE4]RPC,远程调用
摘要:RPC 一、Remote Procedure Call:远程程序调用 二、一个进程调用另外一个进程上的函数 由于“Server-shoot”方法被标记为“在服务器上运行”,所以尽管是在第二个窗口(客户端)开火,输出的信息是:Server:准备射击,表明这是在服务器上运行。 在服务器上“Server-
阅读全文
posted @
2018-11-01 13:55
一粒沙
阅读(5983)
推荐(0)
[UE4]先报告后广播模式
摘要:解决客户端射击,在服务器端和其他客户端看不到的问题。 一、把要广播的操作封装成一个事件(函数不支持网络属性),选择“多路传送” 二、创建一个事件,选择“在服务器上运行” 总结:从客户端执行的事件报告到服务器端,服务器端将要执行的操作广播到所有客户端。
阅读全文
posted @
2018-11-01 13:14
一粒沙
阅读(583)
推荐(0)
[UE4]复制引起的重复对象
摘要:一、在角色的BeginPlay事件中,在角色正前方1米到2米处生成一立方体。 二、开启2个玩家,第一个创建是服务器端,第二个窗口是客户端。可以看到:服务器端窗口创建了2个灰色的立方体,客户端却创建了4个立方体。 造成创建重复对象的原因是: 1.服务器端创建了2个立方体(2个客户端,给客户端都创建一个
阅读全文
posted @
2018-10-31 22:59
一粒沙
阅读(1496)
推荐(0)
[UE4]封装蓝图函数Print String
摘要:World Context Object一定要赋值才会在多人游戏中出现Server和Client,如下图所示:
阅读全文
posted @
2018-10-31 15:29
一粒沙
阅读(3226)
推荐(0)
[UE4]碰撞的随机性
摘要:物理引擎(包括碰撞)的计算具有随机性 原因: 一、每一帧的时间并不是严格相等 二、浮点数计算不是完全准确(两个浮点数运算,结果不可重复) 影响 在左边窗口(服务器端)打几发子弹把其中3个立方体的位置打偏,如图所示:由于碰撞有随机性,所以左右窗口的立方体位置是完全不一样的。 结论:两个客户端无法通过物
阅读全文
posted @
2018-10-31 10:22
一粒沙
阅读(746)
推荐(0)
[UE4]Authority,网络控制权
摘要:复制的条件 1、是否可复制开关打开 2、而且是服务器创建,或者放在关卡中. Authority,网络控制权 1、在网络游戏中,由当前进程创建的Actor,对其拥有网络控制权 2、Has Authority函数,当前进程是否对这个Actor具有网络控制权 3、如有,则当前进程可以销毁这个Actor 第
阅读全文
posted @
2018-10-30 15:46
一粒沙
阅读(2912)
推荐(0)