开门手臂自动弯曲

实现效果:人物做出抬手的开门动画时,若手臂碰到静态网格物体,拳头不会穿过物体,而是会产生手臂IK弯曲动画效果。

重要参考资料:

学习UE4动画蓝图:配置手部IK_YakSue的博客-CSDN博客_ue4手部ik

[UE4蓝图]虚幻4中完整实现脚部IK(一) - 知乎

Unreal Engine 4 Tutorial - IK Part 5 - Hands IK_哔哩哔哩_bilibili

https://docs.unrealengine.com/5.1/zh-CN/ik-rig-in-unreal-engine/

原理:

逆向运动学(Inverse Kinematics)简称IK是相对于 “正向运动学” 的。
“正向运动学” 即从骨骼的上级到下级进行旋转来达到自己想要的姿势,这是一个正向的思维。与此相对的,“逆向运动学” 是已知最后想要达成的姿势,然后反求出骨骼们的旋转。

一、前期准备工作

1、自制开门动画

这里我们不用网络上的动画资源,自己利用小白人现有的Idel动画资源,调整右手臂姿态,打上关键帧,这里不用删除时间轴上的帧,让它时间长度和默认Idel保持同步就好。不建议时间太短

2、蒙太奇

这里混入混出都不要,改为0。不需要过渡

3、实现抬手开门动画

可以直接在人物蓝图里调用播放蒙太奇节点,我这里放到动画图表中去实现了,同样的效果。

旋转混合打钩,防止播放蒙太奇动画时,人物不朝前。

通过以上几张图片,实现了按E播放开门蒙太奇动画,松开E就停止播放蒙太奇动画。这里有个小bug,即蒙太奇本身也是有时间的,所以就算长按E,开门动画也只能保持一定时间后就停止。所以可以进去蒙太奇中将动画资源循环播放。

二、手部IK

1、创建“双骨骼IK节点”

UE4里,IK的主要是由双骨骼IK节点实现的。先创建一个:

这个是添加在右手上的IK。

   

这个节点重点注意Effector Location,这个就是Maya骨骼内容中IK控制柄的末关节上的末端效应器。

蓝色十字即是末端效应器Effector Location,它控制着末关节的位置,父关节的形态位置则会通过IK解算器自动解算。

Joint Target Location 则对应着极向量控制器,决定了IK弯曲的方向。

这里重点就在获取到Effector Location的位置

思路:通过手臂射线,获取到物体和手臂碰撞的位置点,将这个位置点赋予Effector Location,通过“双骨骼IK节点”的解算,实现IK效果。

2、添加插槽

3、射线函数的创建

4、动画蓝图

数据传递

动画图表

解决IK抖动问题:(不能完全解决,特殊角度还是会出现这个问题)

原因可能是手部插槽决定了射线的终点位置,当IK触发时,插槽位置刚好和射线碰撞点位置重叠了,此时射线是Hit还是没Hit?检测不稳定,导致动画蓝图的布尔姿势混合出现两种姿态的来回跳动,导致抖动。

所以插槽设置在了靠前的位置,会改善这个情况。

此时再碰撞,手部正好在碰撞点,但是插槽位置更靠前,因此射线检测一般会检测到碰撞 。但是特殊情况,比如侧身位,还是可能出现插槽位置和碰撞位置重叠的情况。

还有一个没发现原因的bug:

射线生成函数,插槽位置要在函数内部直接使用,使用接口外部调用会出错。错在我按上面往前移动了手部插槽位置后,这里获取到的插槽位置还是原来的位置,导致绘制出的射线还是原来的射线长度,没有变长。

               

用这个:

靠墙手自动扶墙

这种效果相对简单点,射线也改由肩膀直接向前(get actor forward vector)发出射线即可,不需要事先做抬手动作,需要加一个骨骼变换,调整扶墙手掌的姿态。

具体看

Unreal Engine 4 Tutorial - IK Part 5 - Hands IK_哔哩哔哩_bilibili

手部IK,自制动画,蒙太奇——开门手臂自动弯曲、靠墙手自动扶墙相关推荐

  1. 学习UE4动画蓝图:配置手部IK

    目标 逆向运动学(Inverse Kinematics)简称IK是相对于 "正向运动学" 的. "正向运动学" 即从骨骼的上级到下级进行旋转来达到自己想要的姿势 ...

  2. UE4动画重定向与动画蒙太奇(播放动画)

    1.首先选择动画重定向 2/选择要重定向得骨骼,然后选择保存文件夹. 3.在创建好的动画里创建动画蒙太奇 3.点击K播放动画 打开人物蓝图,把创建好的动画蒙太奇添加过去,这样只能添加一个动画. 4.如 ...

  3. UE4 C++入门——动画蒙太奇 学习笔记

    UE4 C++入门--动画蒙太奇_哔哩哔哩_bilibili 1.创建动画蒙太奇 2.选择角色的骨架 SK_Mannequin(模型)_Skeleton(骨骼) 3.蒙太奇组  视频中可以看出ExoG ...

  4. 随机攻击动作(动画蒙太奇,动画蒙太奇插槽,蒙太奇数组)

    实现效果: 本案例实现攻击动作的随机播放. 原理: 动画蒙太奇保证在同一个插槽下,利用随机访问蒙太奇数组中的蒙太奇对象,实现随机播放. 一:动画蒙太奇 选择动画资源,创建动画蒙太奇.注意:本案例是实现 ...

  5. 使用UE4动画蒙太奇实现分层动画

    目标 在之前的博客<学习UE4官方第三人称模板中的内容>中,角色已经可以移动和跳跃了.这一篇将会在之前的基础上,增加一个"拳击"动作,而且想要在移动与跳跃的同时做&qu ...

  6. 虚幻引擎图文笔记:用Two Bone IK实现手扶墙

    效果 文章目录 效果 原理 步骤 角色蓝图 动画蓝图 Event Graph Amin Graph 运行一下 原理 在<虚幻引擎插件:使用Power IK轻松愉快地实现脚底板位置矫正>一文 ...

  7. 的采样方式_DR803M4水质自动采样器(岸边站自动排空型)

    应用概述 该水质自动采样器适用于岸边式水质自动监测站,该采样器可与地表水水质自动监测系统对接,实现定时采样.时间等比采样.同步采样.外控采样.超标采样.立即采样功能.采样瓶具有密封功能.自动排空功能以 ...

  8. PPT放映时无法自动播放视频,同时自动播放两个视频

    PPT放映时无法自动播放视频,同时自动播放两个视频 选中视频,设置为自动播放模式 如果放映时仍不能自动播放 文件→选项→高级→显示 将"禁用幻灯片放映硬件图形加速"勾选 同时播放两 ...

  9. 自动驾驶系统关系与自动泊车原理

    自动驾驶系统关系与自动泊车原理 自动驾驶系统关系 图1. 自动驾驶系统关系 2.关键算法解析--自动泊车 图2. 关键算法解析--自动泊车 外侧转角α和内侧转角β如下关系式 后轮内侧转弯半径R1,后轮 ...

最新文章

  1. python slice是共享内存吗_在共享内存中使用numpy数组进行多处理
  2. 人脸识别未来发展如何更有“面子”?
  3. python下载不下来_Python不能下载zip文件,而Browser/Selenium可以下载,这是为什么?...
  4. python获取文件的大小_python获取文件大小
  5. Java网络编程笔记4
  6. xcode_6.1正式版下载xcode_6.1.dmg 下载分享
  7. MyBatisPlus条件构造器排序方法orderByDesc参数怎样构造
  8. BSP for good 3d engine
  9. SpringMVC请求处理流程、springMVC工作流程
  10. 专业课程设计之客户与服务器程序的同步与通信机制的设计(二)TCP通信
  11. [教程]微信官方开源UI库-WeUI使用方法【申明:来源于网络】
  12. 火狐浏览器插件大全,火狐插件大全,firefox插件使用方法
  13. CS131-Lecture1 课程介绍
  14. 智能音箱全国产化电子元件推荐方案
  15. LightningChart数据可视化工具图形控件教程47-SurfaceGridSeries3D(曲线网格系列3D)
  16. unity3d-学习笔记19-卡牌游戏制作(战斗胜利界面,点击菜单栏出现其他选项以及对应功能,实现能量卡消耗蓝条)
  17. android调起浏览器设置头部,Android开发:调起手机浏览器
  18. 线程池为啥要用阻塞队列
  19. pix2pixHD:High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs
  20. 华为服务器 自动安装 黑屏,华为服务器显示器黑屏如何解决

热门文章

  1. 揭秘:日赚千元的冷门暴利项目,这个产品99%的人不知道
  2. 使用 ArcGIS Pro 对一幅没有空间参考的老照片进行配准
  3. column-count瀑布流导致元素被截断-解决方法
  4. flash media server播放实时视频流
  5. java大文件加密速度_java版AES文件加密速度问题
  6. requests和正则re的使用抓取某小说文本(附带源码)
  7. 【分享】过来人告诫研一学生:研一生活如何过才叫精彩!(转)
  8. [AcWing], 蒙德里安的梦想
  9. 基于H.264的RTP打包原理和FU-A分片实例分析
  10. DIRECT3D状态详解