很多游戏中都有, 就是角色转头+眼镜转动盯着一个目标看, 通常是盯着镜头看用的比较多
UE4里实现这个功能很容易, 直接在AnimGraph里使用LookAt结点就可以了

4个LookAt分别控制脖子, 头, 左眼, 右眼的朝向, 脖子和头的角度比眼睛小, 转动速度也比眼睛慢.


实际项目中用的时候, 有个需求是NPC播放一段动画师做的全身动画后, 再盯住玩家, 然后再播, 再盯, 如此循环. 这种情况下, UE4内置的LookAt功能就出问题了.
在播放完动画突然开启LookAt后, NPC会先看向上一次LookAt结束的位置, 然后再转向目标点, 而不是从当前动画的骨骼朝向转过去. 这样就造成了动画的抖动, 很不和谐.
经过分析FAnimNode_LookAt发现, 这个节点是需要一直开着的, 如果出现运行时的开关(Alpha=0), 会导致节点停止Update. 所以这个节点是没考虑当前骨骼的状态的, 每次都是从上一次的LookAt位置开始进行插值.
本着不直接修改引擎代码的考虑, 怎么解决这个问题呢?
1. 首先, 把FAnimNode_LookAt和相应的UAnimGraphNode_LookAt拷贝一份到工程里, 改个名, 这样就可以对其进行修改了

2. 如果需要从当前骨骼的Transform开始进行插值, 那么就需要在Alpha=0(EvaluateBoneTransform停止执行)时对PreviousTargetLocation进行更新, 而EvaluateBoneTransform是不能override的, 已经被父类声明成了final.

3. 在PreUpdate里取出当前动画的Bone Transform, 计算出一个TargetLocation, 这样在刚开始更新时开始进行插值的初始位置就是骨骼朝向的位置了, 也就没有了看向不相干位置的问题
4. 刚切换时还缺个FadeIn/FadeOut的插值动画, 这个我打log看明明是计算了的, 还需要跟进一下看看看为什么骨骼朝向会直接跳到目标点

UE4中程序驱动的LookAt动画相关推荐

  1. 在UE4中创建CG动画 How to create a movie in Unreal Engine 4 using Metahuman

    MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:1.55 GB |时长:1h 16m 你会学到什么 如何在 ...

  2. ue4小白人骨骼定义_动画短片在UE4中的工作流程都有哪些?来看游戏建模师如何分析的...

    CG摄影师兼导演Jeffy Zachariah谈到了他的动画短片WAKE的制作:在UE4中与Sequencer合作,摄像机设置,资产制作等. 想法 将动画视为通过运动说出来的故事或表情,甚至可以只通过 ...

  3. ue4中面部动画制作视频教程 Facial Animation More In Unreal Engine 4

    ue4中面部动画制作视频教程 Facial Animation & More In Unreal Engine 4 时长4h 包含项目文件 1920X1080 MP4 大小解压后:5.75G ...

  4. UE4中动画优化与压缩

    动画优化 在虚幻引擎中使用动画压缩是为了减少在游戏中使用动画时骨架动画数据占用的内存量.可以使用多种方法完成动画压缩: 删除关键帧 - 很多动画都具有平滑变化的动作,其中包含可以在没有明显影响动作整体 ...

  5. 直播App中Android酷炫礼物动画如何通过直播程序源码实现方案

    直播App中Android酷炫礼物动画如何通过直播程序源码实现方案 这个动画,如果输出成GIF的话,要3MB,尺寸是750*750.在上一篇文章中已经介绍过几种被否掉的方法,这里再稍作补充说明,如果使 ...

  6. ue4蓝图节点手册中文_在UE4中播放视频

    简介: 在日常使用UE4做项目时,会遇到在UE4里播放视频文件的需求,在UE4中可以使用媒体框架(Media Framework)来实现这一功能.这里介绍两种简单的方法来使用这一功能,分别是在场景里播 ...

  7. ue4怎么导出fbx文件_【教程】Houdini Engine在UE4中的基本使用(一)

    后续文章更新移步→微信公众号"虚幻社区"(mantra-xhsq),您的支持是我创作的动力. 在读本篇文章之前大家最好搞懂"程序化建模"的概念. 1.Houdi ...

  8. Android中四种补间动画的使用示例(附代码下载)

    场景 Android中四种补间动画. 透明度渐变动画 旋转动画 缩放动画 平移动画 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的 ...

  9. 充分利用 UE4 中的噪声

    充分利用 UE4 中的噪声 Ryan Brucks 在 Sep 13, 2016 | 教程  社区  美术 Share on Facebook Share on Twitter Share on Go ...

最新文章

  1. 04 - JavaSE之异常处理
  2. 《那些年啊,那些事——一个程序员的奋斗史》——72
  3. skynet.fork_Apache Ant 1.10.6发布–用于junitlauncher的fork模式以及新的jmod和链接任务
  4. Linux下配置安装NFS
  5. LINUX下Android NDK下载并配置
  6. 格拉布斯离群值检验——理论与 Python 实现
  7. 攻击机靶机环境搭建——网络设置
  8. notepad++安装NPPJSONViewer插件教程
  9. winfows 切换 双屏_win10多个桌面切换快捷键 win10怎样设置双屏显示两个桌面
  10. 我碰到的Java实习面试题集合
  11. 计算机视觉、图像处理学习资料汇总(转)
  12. 【渝粤教育】广东开放大学 公共经济学 形成性考核 (33)
  13. 免费简单好用的屏幕录制工具——Captura
  14. dns服务器未响应wifi用不上,为你解答dns服务器未响应导致无法上网怎么办
  15. Consider defining a bean of type ‘com.muses.taoshop.item.service.IItemService‘ in your configuration
  16. oracle maven依赖
  17. 【信捷PLC XL5E-16T试用-程序上传下载】
  18. python 爬虫(cookie)
  19. 腾讯视频客户端在文件资源浏览器的顽固图标如何删除
  20. 28、最小的k个数(TopK)

热门文章

  1. 隐藏身份证中间几位工具类
  2. PM第1步:产品需求文档
  3. html标签中的lang属性
  4. IOS-升级102 全局监听SendEvent
  5. 思科交换机IOS备份和升级
  6. JSR 356 WebSocket (Java WebSocket 1.0) support is not available when running on Java 6. To suppress
  7. 周易六十四卦——风火家人卦
  8. 深度学习WideDeep模型——记忆能力和泛化能力的综合
  9. 在电脑上使用考研APP的方法(亲测有效)
  10. 如何培养孩子的阅读兴趣