UE 5.4在CharacterMovementController中引入了对自定义重力的支持。了解如何利用它并做一些很酷的事情,比如重力拼图,或者创建一个像重力游戏一样的迷你星球。
简介
在本教程中,我们将利用UE 5.4的重力覆盖功能,使Player能够在一个小行星上奔跑。
这将为您自己的项目提供任何其他类型的重力操作的良好基础。
注:自定义重力在早期版本的Unreal中并不完全有效。相关代码可能存在,但存在一些问题使其无法使用。
创建项目
对于此项目,我们将扩展第三人称蓝图项目。本教程不需要初学者内容包,因此我跳过了它,但欢迎您将其包含在内。
添加重力摄像机处理(C++)
当您在游戏中移动鼠标时,Unreal将获取该鼠标输入并将其转发到Player Controller以用于在Player周围移动摄像机。但是鼠标坐标始终和世界本身保持相关,其Z轴向下。例如,当Player倒置时,这些鼠标输入需要考虑到这一点,否则我们的摄像机控制将颠倒。
为了解决这个问题,我们将添加一些代码来接收此输入,然后将其转换为“局部重力空间”,以便摄像机控制可以保持“相对”。我们通过创建一个名为GravityController的新C++类来实现这个功能,该类扩展了普通的APlayerController类,但增加了对相对重力输入处理的支持。
这是我们在本教程中唯一需要的C++类,其他所有内容都将在蓝图中。让我们通过单击工具 → 创建新的C++类...
对于父类,我们现在只需选择“无”,无论如何,我们都将在下一步中将代码复制并粘贴到其中。
调用新类GravityController,然后创建它。Unreal现在会将项目转换为C++项目,并为我们创建一个默认代码模块。
按“OK”继续。
按“No”关闭此对话框。
现在,我们将关闭Unreal并填充新类。
转到项目的文件夹并打开Source文件夹。其中应该有一个与您的项目同名的子文件夹,这是您的默认游戏模块。我们的新类应该在那里。
在诸如Visual Studio甚至只是记事本这样的文本编辑器中打开GravityController.h。删除其中的所有内容并将其替换为以下代码:
br/>
编译项目
使用新的重力控制器
和重力相关的鼠标输入
img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2024%2F1103%2Fa147d5b5j00smcso3003vd200u0005ag00it003b.jpg&thumbnail=660x&quality=80&type=jpg"/>
br/>
修正动画图表
br/>
操纵重力
重力切换器
行星引力
全文完
太逼真了!
《荒野机器人》概念图和动画制作幕后
他用PS把Blender模型都涂成了脑洞超大的概念图
到此这篇painter小箭头(plater箭头)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/40106.html