- 博客(13)
- 收藏
- 关注
原创 可乐的UE4学习笔记(十三)—关于联机的一些坑2
搞了整整两周之后,彻底的把rpc和gameplay通了一遍,玩法层面的需求也都实现了,结果打包出来测试的时候大失所望。1,因为延迟问题,新客户端加入后,原有场景内的actor会同一时间一起把数据传递过来。结果导致有时候角色的初始化不成功。解决办法暂时是加个delay延迟一下,并且在角色初始化完成前禁用用户输入,能解决很大问题。并且相应的在不同阶段重复加了确保执行的函数,比如动态材质没设置成功,就delay一下再设置。武器什么的都同样。2,delay造成了一些理所应当的逻辑不成立,很简单的overlap事件,
2022-06-21 19:51:52 829 1
原创 可乐的UE4学习笔记(12)--字典和枚举变量的使用
为了做联机的团队计分,团队总人数统计,使用了枚举(team)配合字典来使用字典本身UE给的工具很少,一开始一直没找到字典的修改变量的函数,后来发现居然叫add。具体用法是,如果find找到目标,然后用add替换,这个函数名称很容易让人理解错误。当字典里没有这个索引的时候,add会增加一个条目,索引存在则会用给定值替换该条目。字典也可以用foreach来遍历。顺便在gamemode里面重写了playerstart。先根据id(player login的时候分配的)取模来分配团队,然后创建actor(
2022-06-16 02:23:18 1215
原创 可乐的UE4学习笔记(11)--局域网联机RPC的一些坑
连加两个月班,最近调休了一周,捡起UE,打算做个局域网联机对战的游戏,结果被RPC坑的一塌糊涂。坑1.如果动画蓝图打开root motion,server跳跃的时候客户端不刷新,但是客户端跳跃两边都刷新。解决办法:只在蒙太奇里使用root motion。坑2.客户端的角色在服务器视野外动画不同步。客户端(左)视野内,开枪视野内,开枪是正常的。离开视野,子弹直接往地上打。解决办法,一点点查原因,因为角色手部是ik控制的,ik是建投控制的,枪是插槽插在手上的,子弹是靠抢的箭头方向生成的,发射的命令是
2022-06-13 01:39:32 1087
原创 可乐的UE4学习笔记(10)--官方教程“蓝图AI简介”的笔记
大纲视图右键browse asset可以直接在资源视图查看源TIP:1,场景中按end键可以让物体落到地面2,按F7可以直接compileAI创建:点击all class,选择AIcontroller创建在charactor中选择新建的AIC类型
2021-04-23 00:03:14 543
原创 可乐的UE4学习笔记(9)--官方教程初识UMG笔记
UI编辑器的组件都可以作为变量,需要勾选is variable更新生命值的自定义事件创建UHD之后需要添加到屏幕,一般用add to viewport,player screen一般用于分屏显示。常规方式的储存UI变量和加载显示alignment里XY控制空间的对齐位置,position xy决定距离anchors的偏移控件根据自身内容调整大小控制前后顺序开始菜单:游戏开始菜单的载入关卡和退出游戏UI接受input,并且显示鼠标当加载关卡时,将输入模式改为Game O.
2021-04-19 10:14:20 273
原创 可乐的UE4学习笔记(8)--官方教程蓝图散布工具的笔记
散布工具的核心实现生成前的碰撞检测,只测量位置上一段位置内的碰撞(实际效果与胶囊非常类似)这个没太看懂,为啥要连个Do N 0,直接branch后,一边创建一边重来不就应该可以了么…...
2021-04-17 17:26:26 136
原创 可乐的UE4学习笔记(7)-官方教程蓝图适配开发和游戏设计师的蓝图的笔记
抓紧记一下这几天看的教程和里面的知识点首先看完了是官方的这个教程里面主要的知识点其实就是UI和材质的互动,以及摄像机切换用set view Target with blend切换摄像机,里面可以选择混合时间。之后再扩展就可以在相机混合后切换控制权表格的主要导入方式,是要先创建一个结构体,里面的列名称必须要和表格数据一致。然后使用结构体导入表格就可以读取成功之后就会创建一个表格文件UI里面的文本文件旁边可以创建一个绑定函数,在内部控制如何显示获取表格数据的时候用get d
2021-04-15 23:20:36 435
原创 可乐的UE4学习笔记(6)--AttachActorToComponent(UE4里的父子约束)与接口的应用,一个稍微复杂的机关
最近一直在加班,所以导致没什么时间,更新一下目前做到了什么首先是所有组件做了互相对应的接口,这样钥匙、按键、门、动画组件都可以直接互相控制。动画播放做了一套完整的播放停止事件,可以在任何时候停止当前动画,并利用timeline将transform复原。停止事件发生后,会广播一个停止的通知,在其子类ControllableAnimator里就可以与接口输入的Stepmotion组件(Door)绑定,在动画播放的时候Door是不能打开的,动画停止的时候Door就可以受控制。最有意思的是发现了这个
2021-04-13 09:19:30 2117
原创 可乐的UE4学习笔记(5)UI的创建和调用
简单试了一下UI,动画方面没啥可说的(跟AE差不多),key之前要先建立一个动画层,之后在任意蓝图里就可以创建一个UI weidget,播放用play animation调用该层。先试了一下dely之后隐藏,有机会深入学习UI的时候再研究更严谨的方法吧...
2021-03-31 02:45:02 394
原创 可乐的UE4学习笔记(4)第一个小游戏,基于继承和child actor的构建思路
我的第一个UE4小关卡Demo 这两天花时间好好的把所有组件重新搞了一次,具体做出了这种按键+钥匙+开门的模组。这次主要的目的就是全面使用面向对象的思路,把所有的组件都做成和拼接可扩展的积木。目前为止具体可以实现游戏内任意更换不同功能的对应组件,并且可以自定义组件的材质和覆盖颜色。主要的结构其实是按键(父):具有按下、抬起、广播、声音播放、总开关、提示缺少钥匙等基础的事件|...
2021-03-30 11:58:00 424
原创 可乐的UE4学习笔记(3)蓝图自定义事件为之前的组件添加拾取和钥匙功能
目前为止接触虚幻4已经一周多了,慢慢开始理解UE4的操作逻辑。尤其是这两天学了自定义事件,蓝图通信,事件分发Dispatchers,BP的父子继承之后,更是发现UE4的这套操作逻辑的强大(尤其是在游戏类这种大量组件/功能复用的使用环境下)。上面是目前为止实现的蓝图效果,开关组件默认不激活,并且有一个虚拟碰撞阻止玩家靠近。当玩家靠近钥匙按F拾取,这个开关组件就激活了,虚拟碰撞失效。大体的开发逻辑是:1,做了一个自动旋转浮动的蓝图类做父物体,角色靠近可以按键拾取也可以自动拾取,拾取完成广播(Dispat
2021-03-26 11:03:03 397
原创 可乐的UE4学习笔记(2)根据每次触发控制物体transform的蓝图
第一个蓝图actor做完以后就想着怎么把他做成能真正可用的资产,所以计划如下:1,不能只单纯的控制一个轴向的旋转,要可以提供一个每次变化量的transform。2,不要直接控制物体,为了以后的扩展要用类似locator之类的父物体3,增加材质控制4,增加一个反弹模式(比如初始位置是0,移动单位是1,可以让用户设定在某个范围内循环移动) v ...
2021-03-24 20:40:07 1246
原创 可乐的UE4学习笔记(1)第一个蓝图,timeline控制物体90度旋转
自学UE4开始,首先看了官方的新手视频,大致的了解了一下UE4的操作界面。对整体的框架依旧糊涂,又看了官方的的那个“初识动画”,尝试着自己操作蓝图,感觉更加糊涂了。因为还是保留着用houdini的思维,因为在houdini中,所有的内容其实都是以数据形式存在的,直接用名称就可以取得。但是在蓝图里的操作思路则是与C++的一直,参数的获取和设置其实要依靠对象内部的方法。比如houdini或其他的三维软件内,获取变量的形式是getAttr(属性名),而UE4则需要按照继承关系用每个类提供的方法向下一步步.
2021-03-23 02:02:16 1426
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人