如何自己写一个游泳区域?

[复制链接]
806 |1
焦糖乳酱 An0 发表于 2023-5-8 15:25:43 | 显示全部楼层 |阅读模式
rt
回复

使用道具 举报

Othanse 发表于 2023-5-14 09:49:31 | 显示全部楼层
当然,最简单的方式,就是从游戏功能对象列表里面,拖出一个“游泳区域”对象到场景里面使用,相应文档:https://docs.ark.online/Gameplay ... 3%E5%8C%BA%E5%9F%9F

如果编辑器自带的不满足需求的话,自己实现一个游泳区域还是需要比较多代码的,不太建议这么操作。下面提供一下这样的思路:
1. 使用触发器来作为区域控制,进入触发器将角色标识为游泳状态(自定义的标识)
2. 设置角色为飞行状态,来处理角色会一直在最下面的问题
3.替换角色的动画为漂浮状态的动画,且要一直执行该动画(直到被其他状态替换)
4.更改摇杆为自定义摇杆,玩家操控摇杆时,不使用默认的角色移动,需要替换为游泳状态的移动动画
5.摇杆停止操作时,角色恢复漂浮状态(此处实际还得写个状态机来控制各种情况下的动画)
6.离开游泳区域时,恢复之前的摇杆以及角色状态

上述是一个简单的游泳区域制作思路,实际要更加可用一些,还需要处理很多的case,比如:
1.角色脚踩在物体上,是否需要恢复行走状态
2.是否要考虑重力和浮力的问题
3.是否要考虑角色在水中没有摩擦力,往前移动加惯性的问题
4.在水面上移动时,是否需要更换更多游泳姿态让角色看起来更自然
5.从上方离开游泳区域时,是否要施加一个向上冲力,以便于角色能正常离开游泳区域
5.其他物体进入游泳区域,是否要根据质量去计算浮力重力等
回复

使用道具 举报

72小时热榜
热门版块
快速回复 返回顶部 返回列表