上一页 1 2 3 4 5 6 7 8 9 ··· 20 下一页
  2018年11月26日
摘要: 要点: 一、鼠标在编辑器关卡中点一下,然后按F9键截图,右下角会出现截图后的文件链接,点击后会自动打开截图文件所在的文件夹。截图的大小正好的关卡视图的大小。 编辑器:F9键截图,只截图关卡视图界面 运行时:F9键截图,会截图整个显示器窗口。相当于按Print Screen键 二、按“~”调出控制台, 阅读全文
posted @ 2018-11-26 13:52 一粒沙 阅读(8194) 评论(0) 推荐(0) 编辑
摘要: 挂一个相机(Scene Capture Component 2D)在人物角色的正上方,相机朝下,让UI上的某一块区域看到相机所显示的内容。 一、在人物角色正上方添加相机组件Scene Capture Component 2D,并旋转相机朝下(X轴方向是相机照射的方向)。 二、创建一个一个Render 阅读全文
posted @ 2018-11-26 10:18 一粒沙 阅读(8375) 评论(0) 推荐(0) 编辑
  2018年11月24日
摘要: 一、哪些逻辑放服务器,哪些逻辑放客户端? 二、它们之间怎么通信?会不会覆盖? 三、服务器应该做哪些验证?(防止外挂) 阅读全文
posted @ 2018-11-24 15:28 一粒沙 阅读(387) 评论(0) 推荐(0) 编辑
  2018年11月20日
摘要: 天系统:客户端发消息到服务器端,服务器端把收到的消息广播到所有客户端。 由于聊天对象需要支持“可复制”和每个客户端都发给一个,所以GameInstance、GameModeGameState都不适合存放用来做聊天系统。 一、PlayerController可以为聊天系统,只不过稍微有点复杂 二、Pl 阅读全文
posted @ 2018-11-20 22:09 一粒沙 阅读(4175) 评论(0) 推荐(0) 编辑
  2018年11月19日
摘要: 角色死亡以后,让控制器控制另外一个只能移动,没有实体的Character角色 使用“Possess”函数让控制器控制新生成的观察者对象。如上图所示要使用Delay延迟1秒再生成观察者,是因为死亡的时候执行了AttachToComponent(把死亡时候第一人称模型的武器转移到第三人称模型上面去),然 阅读全文
posted @ 2018-11-19 21:11 一粒沙 阅读(950) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-11-19 20:18 一粒沙 阅读(1974) 评论(0) 推荐(0) 编辑
  2018年11月18日
摘要: 一、在第一人称网络游戏中,自己看到的是第一人称,其他玩家看到的自己是第三人称。 二、由于第一人称和第三人称是不同的模型,所以枪在模型上面的插槽位置也会不一样。 三、在武器挂载在人物模型的使用,使用“Is Locally Controlled”判断当前是否在本地控制的人物(而不是镜像人物),接收的Ta 阅读全文
posted @ 2018-11-18 11:31 一粒沙 阅读(1445) 评论(0) 推荐(0) 编辑
摘要: 只有服务器才有权限做广播,所以要判断确保是服务器端才做广播,有以下几种方法: 一、使用“Switch Has Authority”判断是否在服务器端 因为character一定是在服务器端创建出来的,而且也默认开启“复制”选项,因此character中碰撞体事件会同时在服务器和客户端发生,因此在网络 阅读全文
posted @ 2018-11-18 10:49 一粒沙 阅读(2257) 评论(0) 推荐(0) 编辑
  2018年11月4日
摘要: 把Actor的复制打开 中腰数据的复制打开,且只在服务器修改(比如角色属性血量) 需要同步的Actor,不在客户端Spawn 客户端的操作,先报告到服务器,服务器再广播到所有客户端 某些逻辑只在服务器运行(比如捡枪) 考虑相关性、延迟等等更多因素 。。。 阅读全文
posted @ 2018-11-04 19:32 一粒沙 阅读(605) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-11-04 12:51 一粒沙 阅读(1613) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-11-04 12:40 一粒沙 阅读(2612) 评论(0) 推荐(0) 编辑
摘要: Execute console Command ServerTravel {地图名称}?listen 在服务器执行了这个命令,所有连接到该服务器的客户端都会跟着服务器同时切换到指定的地图。 1、创建一个切换地图UI 二、给角色绑定一个快捷召唤出地图切换UI 三、删除地图默认添加到地图的角色(防止添加 阅读全文
posted @ 2018-11-04 12:14 一粒沙 阅读(3504) 评论(0) 推荐(0) 编辑
  2018年11月2日
摘要: google搜: UE4 compile dedicated server,编译UE4专用服务器 UE4默认网络端口可以在引擎配置文件中修改: 一、创建文件。需要修改一下工程的配置文件DefaultEngin.ini,在文件最后加入: [OnlineSubsystem] DefaultPlatfor 阅读全文
posted @ 2018-11-02 12:59 一粒沙 阅读(2301) 评论(0) 推荐(0) 编辑
摘要: 进入游戏界面,按下键盘的“~”键,打开控制台界面,输入net会自动列出跟网络相关的命令 1、Net pktLag=,模拟延迟,单位是毫秒 2、Net PktLagVariance=300,在模拟延迟的基础上,再上下浮动300毫秒。加上这个就会出现移动瞬移卡顿的效果 3、Net PKtLoss=,丢包 阅读全文
posted @ 2018-11-02 11:35 一粒沙 阅读(6875) 评论(0) 推荐(0) 编辑
  2018年11月1日
摘要: 一、给Character添加一个SkeletalMesh,并设置为第三人称模型。并设置自己看不到该模型。 二、添加给骨骼的右手添加一个Socket插槽用来挂载武器 三、判断当前角色是否被本地Controller控制,如果不是,则表示要显示为第三人称模型,把武器挂载在上面第二步创建好的第三人称的右手武 阅读全文
posted @ 2018-11-01 23:36 一粒沙 阅读(1964) 评论(0) 推荐(0) 编辑
摘要: 一、只有PlayerController和Pawn/Character才有输入事件(键盘、鼠标等等),PlayerState没有输入事件。 二、对于需要跨域关卡的数据信息,根据上图所知需要放到GameInstance,但是GameInstance是不支持复制的,所以在网络游戏中需要自己手动做Game 阅读全文
posted @ 2018-11-01 22:51 一粒沙 阅读(7641) 评论(0) 推荐(1) 编辑
摘要: 最终效果 由于隐私保护,不想截实际的效果图,下面给出了示意图,左边是背包A,右边是背包B,将其中的子项目从左侧拖往右侧的背包,然后在插入位置放置。 第一步: 制作一个user widget(在内容浏览器中右键-ui widget-user widget),命名为subwidget_singleite 阅读全文
posted @ 2018-11-01 18:44 一粒沙 阅读(2072) 评论(0) 推荐(0) 编辑
摘要: Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(七)Ability的信息传递等 Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(七)Ability的信息传递等 Unreal Engine 4(虚幻UE4)Ga 阅读全文
posted @ 2018-11-01 18:41 一粒沙 阅读(3072) 评论(0) 推荐(0) 编辑
摘要: 一、优先级 每个 Actor 都有一个名为 NetPriority 的浮点变量。这个变量的数值越大,Actor 相对于其他“同伴”的带宽就越多。和优先级为 1.0 的 Actor 相比,优先级是 2.0 的 Actor 可以得到两倍的更新频度。唯一影响优先顺序的就是它们的比值;所以很显然,您无法通过 阅读全文
posted @ 2018-11-01 16:54 一粒沙 阅读(2065) 评论(0) 推荐(0) 编辑
摘要: “复制”: 1、Replicated:复制更新 2、RepNotify:更新通知。选择这个选项,会自动生成一个通知函数(如上图所示的“OnRep_Health”),当这个变量的值有变化的时候,这个函数就会在服务器和所有客户端被调用。 之前我们是通过Tick事件来不停的检测更新Health的变化值(T 阅读全文
posted @ 2018-11-01 16:29 一粒沙 阅读(3340) 评论(0) 推荐(0) 编辑
摘要: 1、Reliable,不会丢失,立刻发出,适合重要的事件 2、Unreliable,可能会丢失,适合表现相关的和不重要的事件 3、全部的远程调用都使用Reliable,可能会造成网络拥堵 4、尽量避免在循环里面进行远程调用和勾选Reliable选项 阅读全文
posted @ 2018-11-01 16:06 一粒沙 阅读(1493) 评论(0) 推荐(0) 编辑
摘要: RPC 一、Remote Procedure Call:远程程序调用 二、一个进程调用另外一个进程上的函数 由于“Server-shoot”方法被标记为“在服务器上运行”,所以尽管是在第二个窗口(客户端)开火,输出的信息是:Server:准备射击,表明这是在服务器上运行。 在服务器上“Server- 阅读全文
posted @ 2018-11-01 13:55 一粒沙 阅读(5644) 评论(0) 推荐(0) 编辑
摘要: 解决客户端射击,在服务器端和其他客户端看不到的问题。 一、把要广播的操作封装成一个事件(函数不支持网络属性),选择“多路传送” 二、创建一个事件,选择“在服务器上运行” 总结:从客户端执行的事件报告到服务器端,服务器端将要执行的操作广播到所有客户端。 阅读全文
posted @ 2018-11-01 13:14 一粒沙 阅读(561) 评论(0) 推荐(0) 编辑
  2018年10月31日
摘要: 一、在角色的BeginPlay事件中,在角色正前方1米到2米处生成一立方体。 二、开启2个玩家,第一个创建是服务器端,第二个窗口是客户端。可以看到:服务器端窗口创建了2个灰色的立方体,客户端却创建了4个立方体。 造成创建重复对象的原因是: 1.服务器端创建了2个立方体(2个客户端,给客户端都创建一个 阅读全文
posted @ 2018-10-31 22:59 一粒沙 阅读(1423) 评论(0) 推荐(0) 编辑
摘要: World Context Object一定要赋值才会在多人游戏中出现Server和Client,如下图所示: 阅读全文
posted @ 2018-10-31 15:29 一粒沙 阅读(3149) 评论(0) 推荐(0) 编辑
摘要: 物理引擎(包括碰撞)的计算具有随机性 原因: 一、每一帧的时间并不是严格相等 二、浮点数计算不是完全准确(两个浮点数运算,结果不可重复) 影响 在左边窗口(服务器端)打几发子弹把其中3个立方体的位置打偏,如图所示:由于碰撞有随机性,所以左右窗口的立方体位置是完全不一样的。 结论:两个客户端无法通过物 阅读全文
posted @ 2018-10-31 10:22 一粒沙 阅读(694) 评论(0) 推荐(0) 编辑
  2018年10月30日
摘要: 阅读全文
posted @ 2018-10-30 17:31 一粒沙 阅读(2921) 评论(0) 推荐(0) 编辑
摘要: 复制的条件 1、是否可复制开关打开 2、而且是服务器创建,或者放在关卡中. Authority,网络控制权 1、在网络游戏中,由当前进程创建的Actor,对其拥有网络控制权 2、Has Authority函数,当前进程是否对这个Actor具有网络控制权 3、如有,则当前进程可以销毁这个Actor 第 阅读全文
posted @ 2018-10-30 15:46 一粒沙 阅读(2316) 评论(0) 推荐(0) 编辑
  2018年10月29日
摘要: 关于进程 1.进程:运行中的程序 虚幻4游戏进程的四种网络模式 1、StandAlone:单机模式,不联网 2、Client,网络游戏中的客户端。 3、ListenServer,服务器和一个客户端 4、DedicatedServer,专用服务器,没有图形表现,本地没有客户端 Replication, 阅读全文
posted @ 2018-10-29 21:53 一粒沙 阅读(4729) 评论(1) 推荐(1) 编辑
  2018年10月28日
摘要: 一、设置游戏窗口合适的大小 二、在新窗口中运行游戏。玩家数量改成大于1。 三、运行游戏就会打开多个窗口 在打包完成的游戏中进行网络游戏: 一、虚幻4打包好的文件是放在WindowsNoEditor目录。 二、创建2个快捷方式,一个命名为Server作为服务器端,一个命名为Client作为客户端。 三 阅读全文
posted @ 2018-10-28 21:06 一粒沙 阅读(5257) 评论(0) 推荐(0) 编辑
摘要: 蓝图会自动把字符串中的占位换成参数输入。 字符串不会自动转换,需要手动转换 阅读全文
posted @ 2018-10-28 18:10 一粒沙 阅读(4726) 评论(0) 推荐(0) 编辑
摘要: 如果虚幻4只做客户端的话,应该怎么连接服务器呢? 官方并没有提供蓝图的网络函数,C++里面有。 一、自己实现,提供接口给蓝图使用。 二、第三方插件。插件下载地址:https://github.com/feixuwu/UEWebsocket 1.已经安装VS2015或者VS2017,并已经安装其中的C 阅读全文
posted @ 2018-10-28 16:38 一粒沙 阅读(5534) 评论(2) 推荐(0) 编辑
摘要: 使用虚幻4开发网络游戏的两种方式 一、虚幻4只做客户端,服务器端独立开发,适用于任何网络游戏 二、使用虚幻4同时开发客户端和服务器(使用虚幻4内置的服务器),适用于一部分网络游戏。 如果使用虚幻4作为游戏客户端,最好也是要虚幻4的内置服务器(这样可以解决很多问题,同时节省很多巨大的工作量),自己开发 阅读全文
posted @ 2018-10-28 16:16 一粒沙 阅读(6174) 评论(0) 推荐(0) 编辑
摘要: 客户端负责表现、服务器端负责数据。 以掉血为例: 一、玩家A砍了B一刀 二、服务器计算伤害,修改B的血量 三、把B的血量发给B,A砍B的动作发给所有能看到的玩家 四、客户端播放掉血量(如果允许可见),播放动作 以抽卡为例: 一、客户端发起抽卡请求 二、服务器端根据此玩家的消费、等级等随机产生一张卡牌 阅读全文
posted @ 2018-10-28 14:17 一粒沙 阅读(2623) 评论(0) 推荐(0) 编辑
  2018年10月27日
摘要: 在UE4中,相机距离一个物体太近,物体就会被裁剪,这个距离是一个全局设定,无法单个相机设置。 项目设置: 阅读全文
posted @ 2018-10-27 14:59 一粒沙 阅读(8871) 评论(0) 推荐(0) 编辑
摘要: 一、世界坐标:相对于整个世界的坐标 二、相对坐标是相对于组件父级的坐标。如下图: 1.Mesh组件和CameraPositionArrow组件的相对坐标是相对于Root组件的坐标 2.Cube组件的相对坐标是相对于CameraPositionArrow组件的坐标 相对坐标使用:Relative Lo 阅读全文
posted @ 2018-10-27 10:15 一粒沙 阅读(9329) 评论(0) 推荐(1) 编辑
摘要: 一、创建一个Arrow组件来标记要移动的位置(Arrow的用法之一就是用来标注坐标)。 二、使用TimeLine时间轴结合插值Lerp来移动相机 阅读全文
posted @ 2018-10-27 09:49 一粒沙 阅读(1811) 评论(0) 推荐(0) 编辑
  2018年10月26日
摘要: 右键重写的方法选择“Add call to parent function” 一定要善用这个功能,实现原有父类功能的同时实现子类特别的功能。 阅读全文
posted @ 2018-10-26 21:34 一粒沙 阅读(4174) 评论(0) 推荐(0) 编辑
  2018年10月25日
摘要: 一、TimeLine时间轴线 勾选“User Last Keyframe”表示使用时间轴最后一个关键帧所在时间点作为结束时间,而不是使用设置的5秒作为结束时间点。 二、Lerp插值 Lerp插值一般与Timeline时间轴一起使用,Alpha取值范围是浮点数0到1,当Alpha为0的时候返回的数值为 阅读全文
posted @ 2018-10-25 10:48 一粒沙 阅读(10539) 评论(0) 推荐(0) 编辑
  2018年10月24日
摘要: 同时要将保存UI的变量清空,以释放占用的系统内存 阅读全文
posted @ 2018-10-24 10:43 一粒沙 阅读(3041) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 20 下一页