目录

修改效果对比

问题阐述

蓝图解决设置

C++解决设置


修改效果对比

修改前存在突变

修改后存在过渡(参数可调)

问题阐述

通过观察NPC的寻路不管使用 行为树的Move To任务节点 还是 蓝图中的AI移动到节点,在寻路目标点与当前NPC朝向角度存在差距时,都会有明显的旋转突变,速度过快导致角色瞬间转向下个目标点的方向,使得动画十分突兀。即使通过控制台命令Slomo 0.1放慢10倍观察,也十分明显。

为测试编写的简单的AI寻路逻辑(可忽略)

因而这一定是对于旋转未做类似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++)相关推荐

  1. UE4 Boss AI试水(BTT BTS BTD EQS)

    装饰器(BTD) 装饰器节点(在其他行为树系统中也称为条件语句)连接到合成(Composite)或任务(Task)节点,并定义树中的分支,甚至单个节点是否可以执行. 服务(BTS) 服务(Servic ...

  2. 阐述游戏AI设计的两个禁忌及解决方法

    此文转自游戏帮,勉励下自己 作者:Jon Shafer 我在过去年几负责了多款游戏的AI设计工作,我从中收获的一个最基本,可能也是最令人沮丧的经验就是:创建一个出色的AI真是出奇地困难.不但制作一个符 ...

  3. 不会做特征工程的 AI 研究员不是好数据科学家!上篇 - 连续数据的处理方法 本文作者:s5248 编辑:杨晓凡 2018-01-19 11:32 导语:即便现代机器学习模型已经很先进了,也别

    不会做特征工程的 AI 研究员不是好数据科学家!上篇 - 连续数据的处理方法 雷锋网(公众号:雷锋网) AI 科技评论按:眨眼间我们就从人工特征.专家系统来到了自动特征.深度学习的人工智能新时代,众多 ...

  4. 【火炉炼AI】机器学习008-简单线性分类器解决二分类问题

    [火炉炼AI]机器学习008-简单线性分类器解决二分类问题 (本文所使用的Python库和版本号: Python 3.5, Numpy 1.14, scikit-learn 0.19, matplot ...

  5. Adobe Illustrator CS6 界面文字按钮太小,高分屏win10PS/AI等软件界面字太小解决方法

    Adobe Illustrator CS6 界面文字按钮太小,高分屏win10PS/AI等软件界面字太小解决方法 参考文章: (1)Adobe Illustrator CS6 界面文字按钮太小,高分屏 ...

  6. win10安装PS和AI后报代码为16的错误解决方法

    win10安装PS和AI后报代码为16的错误解决方法 一.总结 一句话总结:修改兼容性和以管理员方式运行就可以了 修改兼容性 以管理员身份运行 二.PS和AI安装后报代码为16的错误解决方法介绍(转) ...

  7. ai描边工具怎么打开_ai描边面板怎么调出来? ai找不到描边面板的解决办法

    ai描边面板怎么调出来? ai找不到描边面板的解决办法,面板,基本功能,工作,勾选,我们可以 ai描边面板怎么调出来? ai找不到描边面板的解决办法 易采站长站,站长之家为您整理了ai描边面板怎么调出 ...

  8. 蓝桥杯真题 k倍区间 c++代码实现 给定一个长度为 N 的数列,A1, A2, ··· AN,如果其中一段连续的子序列 Ai,Ai+1,⋯A j ​ ( i \leq ji≤j ) 之

    文章目录 题目描述 输入描述 输出描述 输入输出样例 示例 运行限制 代码 思路 题目描述 给定一个长度为 N 的数列,A1, A2, ···AN,如果其中一段连续的子序列 Ai,Ai+1, ···A ...

  9. unity寻路——一劳永逸地解决寻路问题

    一劳永逸地解决寻路问题 作者:PaulT 译者:trcj 原文:http://www.ai-blog.net/archives/000152.html 通常我都会尽量避免对业内游戏产品或开发者们评头论 ...

最新文章

  1. 周刊#003提要:吴恩达团队盘点2019 AI 大事件圣诞 AI 论战
  2. 【 压缩感知 】OMP恢复算法
  3. python创建一个字典、关键字为只包含字母的字符串_探究Python源码,终于弄懂了字符串驻留技术...
  4. asp.net采用OLEDB方式导入Excel数据时提示:未在本地计算机上注册Microsoft.Jet.OLEDB.4.0 提供程序...
  5. solidity编写eth智能合约之contract 创建合约(二)
  6. oracle一页显示15行,oracle rownum分页与显示记录小测
  7. 《版式设计——日本平面设计师参考手册》—第1章段落样式和字符样式的基础知识...
  8. 生活大爆炸第7季第6集Howard写给Bernadette的歌
  9. jquery ajax 详细教程视频,jquery ajax 视频教程
  10. 微型计算机系统王其藩,王其藩 系统动力学 附录Vensim模型集
  11. 二阶矩阵特征值与特征向量的计算matlab程序(可指定计算精度)
  12. 解析几何----阿氏圆的半径公式和调和性质
  13. mysql常用数据库连接池_Java主流常用的数据库连接池
  14. mysql dump 1449_Mysqldump 1449 错误解决 mysqldump: Got error: 1449
  15. OpenGL Frame Buffer Object (FBO)
  16. 如何使用FreeTime将Android或Fire Tablet变成适合儿童使用的设备
  17. C语言练习题:据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?
  18. 动视是否磨灭了暴雪的灵魂?
  19. 一寸光阴一寸金——《波波侃项目之时间管理》
  20. win10可以运行linux模拟器,Win10将原生兼容安卓App,但模拟器不会被打败

热门文章

  1. midjourney指令笔记+踩坑日记+gpt论文润色指令
  2. Oracle导入.dat文件
  3. 大鸟老师AIX 223认证考试 AU13培训视频学习笔记
  4. linux系统中如何删除文件中一整列数据
  5. 题目 1010: [编程入门]利润计算
  6. WordPress一点优化企业主题模板制作教程
  7. 烟斗烟的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  8. Nginx安装启动后无法访问(访问拒绝连接)
  9. margin重叠 及防止方法
  10. TCP_UDP常见端口参考