网站开发报价单,班级网站建设模板,创意网站页面,湖南百度seo代码更新 11.13 BAOfanTing/ARPG_Game_Code7ab54d2 GitHub 武器类 基于item类#xff0c;创建一个weapon的C类#xff0c;基于它创建一个蓝图#xff0c;刀剑的网格体给它。在蓝图里调动之前在C写好的sin函数添加到世界偏移量里#xff0c;得到一把悬浮刀 在item把重叠函… 代码更新 11.13 · BAOfanTing/ARPG_Game_Code7ab54d2 · GitHub 武器类 基于item类创建一个weapon的C类基于它创建一个蓝图刀剑的网格体给它。在蓝图里调动之前在C写好的sin函数添加到世界偏移量里得到一把悬浮刀 在item把重叠函数虚函数话可以重写重写后需要在重写的地方删掉UFUCTION,并使用override重写函数 当不使用super的时候不会调用父类函数也就是该函数目前是空的我们经过这把刀不会显示名字。使用super需要把参数也 传入这样会调用我们在父类里边写的显示名称 Sockets 进入人物骨骼树在右手底下添加一个Socket插槽可以用来连接其他物体可以和骨头一起移动 右击添加一个资产预览把剑添加上调整位置 获取挥剑动画 Mixamo Mixamo动画资源网站 找到人物xbot下载Tpose在引擎里右击导入包或库直接默认导入 找到想要的动画不带皮肤下载 导入动画并且选择之前下载的机器人骨骼 IK RIG和动画重定向 新建一个IKRig选择机器人的骨架 先右击豚骨将它设置为重定向根并且在此右键生成重定向链然后将下表这些头手臂手指腿都设置重定向链 在对于人物的mesh新建一个ik rig按照下表进行重定向链的搭建 新建一个IK retarget选择ik Xbot现在有的动画的对象双击进入新建姿势让人物和机器人的姿势差不多这样重定向的动画才不会有太多问题直接输出动画这样就得到了拿剑和挥剑的动画然后进入动画停在帧的位置微调剑的位置 装备武器 编写代码 捡起武器 添加一个按键映射E绑定按键。在人物里添加一个内联函数内联函数通常用于简单的操作以提高性能因为它们在编译时会被直接嵌入到调用它们的地方而不生成额外的函数调用 修改item当人物与物体重叠时调用这个SetOverLappingItem函数将重叠物体存为一个变量 在weapon.cpp里重新写下把武器附加到手上的代码在人物里能够调用因此在人物文件里包含武器头文件 在人物cpp里先将重叠物体转换然后调用Equip函数装上武器 Enum for Character State角色状态 在角色代码的开头创建一个枚举对于下边的情况其实已经赋值了顺序是012。宏UENUM是为了让蓝图能够读取到这个枚举UMETA的名字是为了在蓝图里看到 在我们拿起武器时将角色状态设置为装备一把武器为了让动画蓝图能够读取到这个变量我们新建议一个characterType的头文件将ENUM的代码剪切进去这样我们就引用了一个很小的头文件。在动画的头文件里我们依旧新建一个角色状态变量 再到cpp里在动画的每一帧里获取角色状态和其他的状态变量一样 选择动画转态 进入动画蓝图待机动作处使用一个BlendPose混合动作基于我们角色状态的枚举把角色状态传入新增两个pose一个不拿武器待机一个拿武器待机这样动画就会根据状态变量来选择 找一个那武器往前走的动画这里选上Inplace只有动画不会往前移动下载导入重定向 一样的操作使用动画混合让不同的状态有不同的动画 更好的组织动画蓝图 新建一个mainState的动画蓝图然后将mainState的节点复制过去 此时GetCharacterstate是灰色的节点因为父类是默认的类需要右击新建这个变量让它实际存在。对于其他出错的变量也进行新建但这样的话其实这些变量永远都不会被设置 回到初始动画蓝图新建一个LinkedAnimGragh将新建的mainstate给他并且绑定变量 在新建一个动画蓝图IK将剩余节点复制过去创建错误变量新建一个inputpose将它存储为cachepose并使用 回到初始动画蓝图新建一个linkAnimGraph使用ik的那个蓝图