导入地板资源时,不用导入默认材质

BoxMesh可以用来加载网格物体



pikaSpawnPoint该点要从模型的头部拉到尾部,否则不支连续生成

碰撞里放到模型尾部,检测到碰撞时,移除旧的地板,生成新的地析

碰撞属性里更改成OverlapOnlyPawn

模型本身的碰撞设置为BlockAll


查看模型本身的碰撞体,该碰撞体为实际上可以进行移动的路径

移除模型本身的碰撞体,然后新建一个Box的碰撞体,并将其移动到模型平面上

在模型两端加两个碰撞体,以防止玩家掉下去

调整角色的摄像机的位置

三渲二
拖拽一个Post Process Volume到场景,并缩放1000倍


在Poss Process Volumn里载入line材质


line材质里要选择Post Process

PiakFloor.cpp的beginPlay里添加模型的渲染深度为true

效果为:

创建UI
创建UI类

创建UI蓝图

修改UI蓝图的父类为自己创建的UI类


绑定UI蓝图里的TEXT到自己定义的属性里

在游戏开始时将UI加载到屏幕上


手动加入模块

创建gameState的C++类用于保存用户的全局数据,该类存在于服务端


代码里的碰撞修改成overlap后,金币蓝图里的碰撞也要更改成overlap,overlap的碰撞不会对碰撞的对象产生阻力,BlockAllDynamic则会产生阻力;



除碰撞BOX外,Mesh本身的碰撞也要改成overlapAll


声音播放
导入wav格式的声音文件后,创建cue文件


在金币的蓝图上加载声音



通过UGameplayStatics播放声音

通过UGameplayStatics,还能将声音绑定在组件上;