10 2018 档案
[UE4]复制引起的重复对象
摘要:一、在角色的BeginPlay事件中,在角色正前方1米到2米处生成一立方体。 二、开启2个玩家,第一个创建是服务器端,第二个窗口是客户端。可以看到:服务器端窗口创建了2个灰色的立方体,客户端却创建了4个立方体。 造成创建重复对象的原因是: 1.服务器端创建了2个立方体(2个客户端,给客户端都创建一个 阅读全文
posted @ 2018-10-31 22:59 一粒沙 阅读(1502) 评论(0) 推荐(0)
[UE4]封装蓝图函数Print String
摘要:World Context Object一定要赋值才会在多人游戏中出现Server和Client,如下图所示: 阅读全文
posted @ 2018-10-31 15:29 一粒沙 阅读(3235) 评论(0) 推荐(0)
[UE4]碰撞的随机性
摘要:物理引擎(包括碰撞)的计算具有随机性 原因: 一、每一帧的时间并不是严格相等 二、浮点数计算不是完全准确(两个浮点数运算,结果不可重复) 影响 在左边窗口(服务器端)打几发子弹把其中3个立方体的位置打偏,如图所示:由于碰撞有随机性,所以左右窗口的立方体位置是完全不一样的。 结论:两个客户端无法通过物 阅读全文
posted @ 2018-10-31 10:22 一粒沙 阅读(763) 评论(0) 推荐(0)
[UE4]在当前角色正前方2米处生成一个Actor
摘要: 阅读全文
posted @ 2018-10-30 17:31 一粒沙 阅读(3085) 评论(0) 推荐(0)
[UE4]Authority,网络控制权
摘要:复制的条件 1、是否可复制开关打开 2、而且是服务器创建,或者放在关卡中. Authority,网络控制权 1、在网络游戏中,由当前进程创建的Actor,对其拥有网络控制权 2、Has Authority函数,当前进程是否对这个Actor具有网络控制权 3、如有,则当前进程可以销毁这个Actor 第 阅读全文
posted @ 2018-10-30 15:46 一粒沙 阅读(2950) 评论(0) 推荐(0)
[UE4]Replications,复制
摘要:关于进程 1.进程:运行中的程序 虚幻4游戏进程的四种网络模式 1、StandAlone:单机模式,不联网 2、Client,网络游戏中的客户端。 3、ListenServer,服务器和一个客户端 4、DedicatedServer,专用服务器,没有图形表现,本地没有客户端 Replication, 阅读全文
posted @ 2018-10-29 21:53 一粒沙 阅读(5448) 评论(1) 推荐(1)
[UE4]最简单的虚幻4网络游戏,使用虚幻4内置服务器
摘要:一、设置游戏窗口合适的大小 二、在新窗口中运行游戏。玩家数量改成大于1。 三、运行游戏就会打开多个窗口 在打包完成的游戏中进行网络游戏: 一、虚幻4打包好的文件是放在WindowsNoEditor目录。 二、创建2个快捷方式,一个命名为Server作为服务器端,一个命名为Client作为客户端。 三 阅读全文
posted @ 2018-10-28 21:06 一粒沙 阅读(5372) 评论(0) 推荐(0)
[UE4]Format Text
摘要:蓝图会自动把字符串中的占位换成参数输入。 字符串不会自动转换,需要手动转换 阅读全文
posted @ 2018-10-28 18:10 一粒沙 阅读(5307) 评论(0) 推荐(0)
[UE4]虚幻4链接独立服务器
摘要:如果虚幻4只做客户端的话,应该怎么连接服务器呢? 官方并没有提供蓝图的网络函数,C++里面有。 一、自己实现,提供接口给蓝图使用。 二、第三方插件。插件下载地址:https://github.com/feixuwu/UEWebsocket 1.已经安装VS2015或者VS2017,并已经安装其中的C 阅读全文
posted @ 2018-10-28 16:38 一粒沙 阅读(5665) 评论(2) 推荐(0)
[UE4]虚幻4的网络适合开发什么游戏
摘要:使用虚幻4开发网络游戏的两种方式 一、虚幻4只做客户端,服务器端独立开发,适用于任何网络游戏 二、使用虚幻4同时开发客户端和服务器(使用虚幻4内置的服务器),适用于一部分网络游戏。 如果使用虚幻4作为游戏客户端,最好也是要虚幻4的内置服务器(这样可以解决很多问题,同时节省很多巨大的工作量),自己开发 阅读全文
posted @ 2018-10-28 16:16 一粒沙 阅读(6248) 评论(0) 推荐(0)
[UE4]客户端-服务器模式
摘要:客户端负责表现、服务器端负责数据。 以掉血为例: 一、玩家A砍了B一刀 二、服务器计算伤害,修改B的血量 三、把B的血量发给B,A砍B的动作发给所有能看到的玩家 四、客户端播放掉血量(如果允许可见),播放动作 以抽卡为例: 一、客户端发起抽卡请求 二、服务器端根据此玩家的消费、等级等随机产生一张卡牌 阅读全文
posted @ 2018-10-28 14:17 一粒沙 阅读(2694) 评论(0) 推荐(0)
[UE4]修改相机裁剪距离
摘要:在UE4中,相机距离一个物体太近,物体就会被裁剪,这个距离是一个全局设定,无法单个相机设置。 项目设置: 阅读全文
posted @ 2018-10-27 14:59 一粒沙 阅读(9228) 评论(0) 推荐(0)
[UE4]世界坐标和相对坐标
摘要:一、世界坐标:相对于整个世界的坐标 二、相对坐标是相对于组件父级的坐标。如下图: 1.Mesh组件和CameraPositionArrow组件的相对坐标是相对于Root组件的坐标 2.Cube组件的相对坐标是相对于CameraPositionArrow组件的坐标 相对坐标使用:Relative Lo 阅读全文
posted @ 2018-10-27 10:15 一粒沙 阅读(9953) 评论(0) 推荐(1)
[UE4]移动相机,使用Arrow组件来标记移动位置
摘要:一、创建一个Arrow组件来标记要移动的位置(Arrow的用法之一就是用来标注坐标)。 二、使用TimeLine时间轴结合插值Lerp来移动相机 阅读全文
posted @ 2018-10-27 09:49 一粒沙 阅读(1896) 评论(0) 推荐(0)
[UE4]蓝图:重写父类时调用父类方法
摘要:右键重写的方法选择“Add call to parent function” 一定要善用这个功能,实现原有父类功能的同时实现子类特别的功能。 阅读全文
posted @ 2018-10-26 21:34 一粒沙 阅读(4422) 评论(0) 推荐(0)
[UE4]时间轴线TimeLine,Lerp插值
摘要:一、TimeLine时间轴线 勾选“User Last Keyframe”表示使用时间轴最后一个关键帧所在时间点作为结束时间,而不是使用设置的5秒作为结束时间点。 二、Lerp插值 Lerp插值一般与Timeline时间轴一起使用,Alpha取值范围是浮点数0到1,当Alpha为0的时候返回的数值为 阅读全文
posted @ 2018-10-25 10:48 一粒沙 阅读(11322) 评论(0) 推荐(0)
[UE4]删除UI:Remove from Parent
摘要:同时要将保存UI的变量清空,以释放占用的系统内存 阅读全文
posted @ 2018-10-24 10:43 一粒沙 阅读(3385) 评论(0) 推荐(0)
[UE4]AWP开镜时模糊
摘要:一、Add to Viewport的Zorder越大,添加进来的UI越靠近前面。也就是大的Zorder会覆盖Zorder小的UI。 二、镜头模糊,在专心UI中添加一个模糊滤镜设置模糊值,并放在最上层。 阅读全文
posted @ 2018-10-24 10:32 一粒沙 阅读(1244) 评论(0) 推荐(0)
[UE4]AWP狙击枪开镜
摘要:一、使用一张PNG图片,中间是透明的,其他部分是纯黑色。创建一个UserWidget。作为AWP的开镜后的准心。AWP默认状态下是没有准心的。 二、右键开镜。把第一步创建的UserWidget创建出来,并设置角色相机的视野角度Field Of view数值(默认值是90°),简称FOV,数值越大,看 阅读全文
posted @ 2018-10-23 10:13 一粒沙 阅读(1371) 评论(0) 推荐(0)
[UE4]AWP组合
摘要:AWP狙击枪可以由主枪和镜头模型组合而成。 一、主枪 二、镜头组合 阅读全文
posted @ 2018-10-23 10:01 一粒沙 阅读(439) 评论(0) 推荐(0)
[UE4]把枪打飞addImpulse
摘要:一、武器如果没有开启模拟物理,会漂浮在空中 二、武器开启模拟物理,运行游戏的时候就会掉到地上了。之所以要加“Delay”延迟,是因为创建武器在先(没有持有人),持有武器动作在后,加上“delay”延迟可以改变执行顺序。UE4使用Delay延迟改变运行顺序的做法很常见! 三、Add Impulse给物 阅读全文
posted @ 2018-10-23 08:23 一粒沙 阅读(2083) 评论(0) 推荐(0)
[UE4]扔枪后捡枪:Get Overlapping Actors
摘要:一、搜索碰撞体是否碰撞到枪,使用Get Overlapping Actors,只搜索Class Filter设置的对象类型。Get Overlapping Actors没有Class Filter参数,会搜索所有碰撞的对象类型。 二、枪如果有主人则不能捡起 三、要排除已经扔出去的枪 阅读全文
posted @ 2018-10-21 12:41 一粒沙 阅读(1424) 评论(0) 推荐(0)
[UE4]蓝图调试
摘要:1.蓝图下断点:选择蓝图节点按F9下断点;再按一下F9就会去掉断点。 2.游戏运行到断点会自动这暂停,鼠标移到某个变量上面,会显示该变量的值。 3.按F10执行下一步。 4.蓝图调试没有跳出函数的功能,只能一步步往下走,遇到执行另外一个函数也会直接进去。 5.如果设置了多个断点,可以点击按钮,就会直 阅读全文
posted @ 2018-10-21 08:33 一粒沙 阅读(9047) 评论(0) 推荐(0)
[UE4]捡枪
摘要:一、给角色添加碰撞胶囊体并添加On Component Begin Overlap事件 二、检查碰到的东西是不是武器 三、要捡的武器是否已经有主人、检查身上是否有同样类型的枪 五、把枪放到背包数组、关闭碰撞,关闭模拟物理 六、挂载枪到身上插槽、设置枪的主人、切换到刚捡到的枪 挂载枪到身上要使用Att 阅读全文
posted @ 2018-10-19 23:18 一粒沙 阅读(1426) 评论(0) 推荐(0)
[UE4]小技巧:自动添加函数返回值
摘要:将一个变量拖放到返回节点上面会自动创建响应类型的返回值 同样的,函数参数也可以这样来做: 阅读全文
posted @ 2018-10-19 22:15 一粒沙 阅读(1066) 评论(0) 推荐(0)
[UE4]蓝图中清空变量值或设置为null
摘要:不赋值就会被设置为null了。 对象是否可使用,也可以这样判断 阅读全文
posted @ 2018-10-19 17:39 一粒沙 阅读(5024) 评论(0) 推荐(0)
[UE4]运行时脱离视角,进入自由视角
摘要:按 Shift + F1让鼠标脱离游戏窗口,然后点击右上角的按钮,然后鼠标在游戏窗口点击一下,就只有自由漫游了。 还可以点击选中Word Outliner窗口的物体。 阅读全文
posted @ 2018-10-19 17:09 一粒沙 阅读(4518) 评论(0) 推荐(0)
[UE4]扔枪
摘要:1.把枪Detach掉:DetachFromActor 3个都选择“Keep World” 2.模拟物理 3.给一个向前的速度 4.切枪,到上一个武器,或者捡起脚底下的武器 注意Get Component by Class的搜索范围:因为是在weapon枪支组件内部调用该方法,因此搜索范围仅限于we 阅读全文
posted @ 2018-10-19 13:27 一粒沙 阅读(1663) 评论(0) 推荐(0)
[UE4]链接多个字符串Make Literal String
摘要: 阅读全文
posted @ 2018-10-18 20:58 一粒沙 阅读(3914) 评论(0) 推荐(0)
[UE4]反射
摘要:1、根据名字获得类(C++支持,蓝图本身不支持但可以通过工厂模式模拟) 国外大神提供的封装好的C++实现: https://github.com/getsetgames/BlueprintReflection 功能: 1) Get Class By Name(根据类的名字获得类) The Get C 阅读全文
posted @ 2018-10-18 19:48 一粒沙 阅读(3161) 评论(0) 推荐(0)
为帮助保护你的安全,您的Web浏览器已经限制此文件显示可能访问您的计算机的活动内容
摘要:在开发时,会遇到是要HTML来做UI,是要js与C++进行交互。 在加载完页面后,一些电脑中会出现“为帮助保护你的安全,您的Web浏览器已经限制此文件显示可能访问您的计算机的活动内容”(用IE打开,自己程序里面用的是chtmlview是看不到的),这导致页面中用于与C++代码交互的按钮事件不能在C+ 阅读全文
posted @ 2018-10-15 17:19 一粒沙 阅读(4721) 评论(0) 推荐(1)
[UE4]根据名字调用函数(蓝图)
摘要:一、Set Timer by Function Name 二、Set Timer by Event 阅读全文
posted @ 2018-10-12 17:00 一粒沙 阅读(2206) 评论(0) 推荐(0)
[UE4]移除UI(User Widget)并销毁
摘要:1、移除UI,使用“Remove from Parent”方法 2、最后一步给UI变量赋值的时候,如果保持默认选择“Select Assets”,则会把UI变量销毁(赋值为null)。 阅读全文
posted @ 2018-10-05 21:57 一粒沙 阅读(13094) 评论(0) 推荐(0)
[UE4]Return Node节点好用法
摘要:蓝图自定义函数中,碰到“Return Node”也会推出当前的函数,跟高级语言的“return”是一样的用法 阅读全文
posted @ 2018-10-05 16:24 一粒沙 阅读(1596) 评论(0) 推荐(0)
[UE4]关于分支Sequence和条件分支的组合用法
摘要:当需要不管条件语句是否成立的后面都需要执行的语句,可以使用“Sequence”来分支,达到简化蓝图连线的目的。如下图所示: 阅读全文
posted @ 2018-10-05 15:53 一粒沙 阅读(4726) 评论(0) 推荐(0)
[UE4]在蓝图中判断一个对象是否有效
摘要: 阅读全文
posted @ 2018-10-05 12:23 一粒沙 阅读(6143) 评论(0) 推荐(0)
[UE4]隐藏对象Set Visibility
摘要:Propagate to Children:是否遍历子对象(用来设置子对象可见性) 阅读全文
posted @ 2018-10-05 12:06 一粒沙 阅读(4265) 评论(0) 推荐(0)
[UE4]自定义函数,快速增加输入参数的一种方法
摘要: 阅读全文
posted @ 2018-10-05 11:35 一粒沙 阅读(1579) 评论(0) 推荐(0)
[UE4]使用蓝图关闭对象的碰撞SetActorEnableCollision
摘要:在一个人的身上创建多把枪的时候,由于枪与枪之间重贴会产生碰撞冲突,到时角色控制出现不正常(上下左右行走总是往一个方向移动),这些可以关闭枪支的碰撞: 阅读全文
posted @ 2018-10-05 11:25 一粒沙 阅读(5193) 评论(0) 推荐(1)
[UE4]创建属性绑定
摘要: 阅读全文
posted @ 2018-10-04 21:53 一粒沙 阅读(677) 评论(0) 推荐(0)
[UE4]Cast to 转换成纯函数
摘要:这样就变成不需要执行线了,可以直接得到转换结果 阅读全文
posted @ 2018-10-04 21:50 一粒沙 阅读(998) 评论(0) 推荐(0)
[UE4]删除动画:Remove from frame 5 to frame 18
摘要:从当前帧开始删除到结尾的动画帧 阅读全文
posted @ 2018-10-03 10:06 一粒沙 阅读(610) 评论(0) 推荐(0)