【UE4 AI】AI Move To寻路转向时解决突变、使得平滑过渡的方法(含C++)
目录
修改效果对比
问题阐述
蓝图解决设置
C++解决设置
修改效果对比
![](/assets/blank.gif)
![](/assets/blank.gif)
问题阐述
通过观察NPC的寻路不管使用 行为树的Move To任务节点 还是 蓝图中的AI移动到节点,在寻路目标点与当前NPC朝向角度存在差距时,都会有明显的旋转突变,速度过快导致角色瞬间转向下个目标点的方向,使得动画十分突兀。即使通过控制台命令Slomo 0.1放慢10倍观察,也十分明显。
![](/assets/blank.gif)
因而这一定是对于旋转未做类似Lerp的平滑过渡处理,通过百度发现很难找到想要的答案,于是在UE4 AnswerHub、Google、Unreal Forum、Youtube类似网站寻找国外大牛的解决方案,毕竟国外游戏开发环境好(安利给入坑的小白一条解决问题的方式)。
蓝图解决设置
修改寻路的Character蓝图类下——CharacterMovement组件中——Rotation Settings内的参数。
如你所见,勾选Orient Rotation to Movement,根据提示需要去掉Pawn下默认为true的Use Conroller Rotation Yaw。
大功告成,现在执行你的AI可以看到过渡效果。如果不确定是否有效,可以将Rotation Rate下的Z变换设为0,若NPC不能转向,则说明修改是有效的。
C++解决设置
在你的AI Character类的构造器下,修改如下参数
//Make AI rotate smoothly(avoid snapping)
bUseControllerRotationYaw = false; //prepare for orient rotation to movement
GetCharacterMovement()->bOrientRotationToMovement = true;
float YawRotateRate = 360.f;
GetCharacterMovement()->RotationRate = FRotator(0, 0, YawRotateRate);
注意使用GetCharacterMovement函数时,需要添加下面的头文件
#include "GameFramework/CharacterMovementComponent.h"
【UE4 AI】AI Move To寻路转向时解决突变、使得平滑过渡的方法(含C++)相关推荐
- UE4 Boss AI试水(BTT BTS BTD EQS)
装饰器(BTD) 装饰器节点(在其他行为树系统中也称为条件语句)连接到合成(Composite)或任务(Task)节点,并定义树中的分支,甚至单个节点是否可以执行. 服务(BTS) 服务(Servic ...
- 阐述游戏AI设计的两个禁忌及解决方法
此文转自游戏帮,勉励下自己 作者:Jon Shafer 我在过去年几负责了多款游戏的AI设计工作,我从中收获的一个最基本,可能也是最令人沮丧的经验就是:创建一个出色的AI真是出奇地困难.不但制作一个符 ...
- 不会做特征工程的 AI 研究员不是好数据科学家!上篇 - 连续数据的处理方法 本文作者:s5248 编辑:杨晓凡 2018-01-19 11:32 导语:即便现代机器学习模型已经很先进了,也别
不会做特征工程的 AI 研究员不是好数据科学家!上篇 - 连续数据的处理方法 雷锋网(公众号:雷锋网) AI 科技评论按:眨眼间我们就从人工特征.专家系统来到了自动特征.深度学习的人工智能新时代,众多 ...
- 【火炉炼AI】机器学习008-简单线性分类器解决二分类问题
[火炉炼AI]机器学习008-简单线性分类器解决二分类问题 (本文所使用的Python库和版本号: Python 3.5, Numpy 1.14, scikit-learn 0.19, matplot ...
- Adobe Illustrator CS6 界面文字按钮太小,高分屏win10PS/AI等软件界面字太小解决方法
Adobe Illustrator CS6 界面文字按钮太小,高分屏win10PS/AI等软件界面字太小解决方法 参考文章: (1)Adobe Illustrator CS6 界面文字按钮太小,高分屏 ...
- win10安装PS和AI后报代码为16的错误解决方法
win10安装PS和AI后报代码为16的错误解决方法 一.总结 一句话总结:修改兼容性和以管理员方式运行就可以了 修改兼容性 以管理员身份运行 二.PS和AI安装后报代码为16的错误解决方法介绍(转) ...
- ai描边工具怎么打开_ai描边面板怎么调出来? ai找不到描边面板的解决办法
ai描边面板怎么调出来? ai找不到描边面板的解决办法,面板,基本功能,工作,勾选,我们可以 ai描边面板怎么调出来? ai找不到描边面板的解决办法 易采站长站,站长之家为您整理了ai描边面板怎么调出 ...
- 蓝桥杯真题 k倍区间 c++代码实现 给定一个长度为 N 的数列,A1, A2, ··· AN,如果其中一段连续的子序列 Ai,Ai+1,⋯A j ( i \leq ji≤j ) 之
文章目录 题目描述 输入描述 输出描述 输入输出样例 示例 运行限制 代码 思路 题目描述 给定一个长度为 N 的数列,A1, A2, ···AN,如果其中一段连续的子序列 Ai,Ai+1, ···A ...
- unity寻路——一劳永逸地解决寻路问题
一劳永逸地解决寻路问题 作者:PaulT 译者:trcj 原文:http://www.ai-blog.net/archives/000152.html 通常我都会尽量避免对业内游戏产品或开发者们评头论 ...
最新文章
- 周刊#003提要:吴恩达团队盘点2019 AI 大事件圣诞 AI 论战
- 【 压缩感知 】OMP恢复算法
- python创建一个字典、关键字为只包含字母的字符串_探究Python源码,终于弄懂了字符串驻留技术...
- asp.net采用OLEDB方式导入Excel数据时提示:未在本地计算机上注册Microsoft.Jet.OLEDB.4.0 提供程序...
- solidity编写eth智能合约之contract 创建合约(二)
- oracle一页显示15行,oracle rownum分页与显示记录小测
- 《版式设计——日本平面设计师参考手册》—第1章段落样式和字符样式的基础知识...
- 生活大爆炸第7季第6集Howard写给Bernadette的歌
- jquery ajax 详细教程视频,jquery ajax 视频教程
- 微型计算机系统王其藩,王其藩 系统动力学 附录Vensim模型集
- 二阶矩阵特征值与特征向量的计算matlab程序(可指定计算精度)
- 解析几何----阿氏圆的半径公式和调和性质
- mysql常用数据库连接池_Java主流常用的数据库连接池
- mysql dump 1449_Mysqldump 1449 错误解决 mysqldump: Got error: 1449
- OpenGL Frame Buffer Object (FBO)
- 如何使用FreeTime将Android或Fire Tablet变成适合儿童使用的设备
- C语言练习题:据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?
- 动视是否磨灭了暴雪的灵魂?
- 一寸光阴一寸金——《波波侃项目之时间管理》
- win10可以运行linux模拟器,Win10将原生兼容安卓App,但模拟器不会被打败