【UE5.8零基础入门】7.0 实战项目-3D闯关游戏-第一道机关陷阱

制作大摆锤陷阱

新增 /Game/CodeMechanism文件夹。
创建Actor的蓝图,命名为:BP_Sphere。

image.png

image.png

双击进入,添加静态网格体组件。
image.png

image.png

选择静态网格体为SM_Sphere。

image.png

image.png

顶点在原点位置。这样控制左右旋转时就可以简单操作原点的动作。
image.png

添加组件球体碰撞体Sphere Collision。

image.png

image.png

设置球体半径160


image.png

将碰撞体往下移动,包裹底部的球体。


image.png

image.png

事件图表

添加时间轴,输入..搜索即可(两个点)。

image.png

创建后,双击时间轴,就可以编辑。
左上角添加轨道——添加浮点型轨道。
image.png

鼠标在时间轴上右键,添加关键帧 0s是-40。
image.png

再添加1.2s 是40和添加2.4s为-40;按F可以自通调整预览大小。
image.png

三个点鼠标右键点击,选择自动。
image.png

image.png

回到时间轴图表,准备将时间轴复制给轴的摆动。

添加设置相对旋转节点 ,搜索关键字rela。右键分割引脚。
可以去视口看是旋转哪个轴,可以看到是Y轴。

image.png

image.png

编译,保存,在主界面拖动到场景中尝试。

image.png

空白处添加自定义事件,搜索..(点点)

image.png

image.png

增加自定义事件,通过这个自定义事件实现循环。


image.png

开发碰撞“死亡”,和角色死亡布娃娃效果

思路

  • 创建Dead自定义事件
  • 拖入角色的网格体
  • 添加检查碰撞
  • 大摆球也添加碰撞
  • 如果碰撞成立,就获取反向力,播放死亡动画。

打开角色蓝图。

image.png

输入..添加自定义事件,重命名Dead。
image.png

image.png

拖入网格体


image.png

拉出线,搜索set simu

image.png

image.png
  • 打勾(√ = True):开启该碰撞组件(StaticMeshComponent/SkeletalMeshComponent 等)物理模拟,物体受重力、碰撞、力、速度影响,会自由掉落、滚动、被撞击。
  • 取消勾选(× = False):关闭物理模拟,物体固定在空间中,不受物理引擎驱动,仅做静态碰撞检测。

Set Simulate Physics = True(开启布娃娃物理)

  1. Set Simulate Physics 只是总开关:告诉引擎 “这个组件要跑物理”;
  2. Physics Asset 物理资产才是布娃娃的根源:
    只有 SkeletalMesh 提前在编辑器里创建了 Physics Asset、给骨头加了胶囊碰撞、关节限制,开启 Simulate Physics 才会变成布娃娃;
image.png

回到我们的大摆球陷阱BP_Sphere,选中Sphere1,添加事件组件开始重叠时。

image.png

image.png

Other Actor:碰到了什么物体就会输出该物体对象。
选择转换成角色,如果转换成功,意味着可以执行后续逻辑。


image.png

image.png

Cast failed:转换失败执行的引脚。
As BP Challenge Character:输出成功下转换成的该对象实体。

然后调用该自定义事件Dead。


image.png

image.png

编译保存运行。
发现还是没有触发碰撞效果,可以dug调试。增加调试节点。

image.png

shift+F1可以独立出鼠标,可以调试出,已经调用到了“碰撞了”。


image.png

这时候需要检查网格体的物理资产,是否设置正确。

image.png

双击进入,右下角滚动到物理。
image.png

可以看到没有设置任何物理资产,自然没有任何物理效果。
选择SK_Adventurer_Physics。这个物理资产,专门用来实现死亡布娃娃 Ragdoll、被击飞肢体晃动、受重力瘫倒效果。
image.png

image.png

保存,再次运行:


image.png

运行发现人物一撞就遁地消失,按wasd还有一个隐形人可以移动。
进入角色蓝图,选中网格体,修改碰撞预设为“Pyhsics Actor”。这个预设意思是和地面、墙体、玩家 Pawn、其他 PhysicsActor 全部**Block(阻挡)**.

image.png

image.png

再次运行,发现人物倒地上很安详

将摄像机作为网格体的子类,这样

image.png

拖入弹簧臂,增加事件set coll。
image.png

image.png

这样的意思就是关闭碰撞测试。


image.png

这样,撞死也不会被物体碰撞再次生效卡住摄像机。

添加一道保险。拖入角色移动。

image.png

拖入并设置角色移动模式(搜索关键词set move mode)
image.png

设置移动模式为无,这样角色,死亡之后,就无法wasd移动了。

image.png

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容