当前位置: 首页 > news >正文

膝关节检测之1设计目标手势与物体交互的动画

原来只用unity自带的IK,发现背部不能动,且手和手指的移动和旋转试了好像没法通过animation实现(加入关键帧并修改最终状态的数值后播放没有变化,确定最终关键帧的数值已经改了的)。看资料,发现final IK(官方资料网址http://root-motion.com/)可以实现我想要的,具体的例子为FINAL IK Full Body Biped IK - Linking Effectors to Objects。

UNITY官方商店要90美金,

连接如下Final IK | Animation Tools | Unity Asset Store

值得去看的是它把技术细节分的很细,都有对应的youtube视频,这好像比官网更上心呀。

于是通过CSDN的资料下载,花了1块钱RMB搞定,且买回来一个最新的版本好像是2.2吧。找了一下final IK官方的资料(http://www.root-motion.com/finalikdox/html/pages.html),很少且没有例子代码。于是通过youtube找到了别人的例子讲解(https://www.youtube.com/user/SnuffThePuppy),通过观看,确定了我想要的功能是可以通过final IK实现的。本篇实现了一个随动的功能即医生的手抓住病人的退随动。一开始的状态就是抓住病人的腿了(这个实际还需要改成一开始医生是独立的,然后再去抓住病人的退并推动腿使之弯曲,根据我观察的经验,这需要用到final IK的另一套办法Interaction System),不管怎么说,随动这个功能先实现了,准没错。本文仿照的youtube视频FINAL IK Full Body Biped IK - Linking Effectors to Objects(https://www.youtube.com/watch?v=-eFO8q-I6xI) 是9年前的视频,太老了,嘿嘿。

技术总结为:人身上配上Full Body Biped IK,左右手的positionrotationweight设置为1,其它的保持不动。

然后手动调整手和手指的位置到物体上(调整的时候要在运行状态,然后去scene场景,记得如果人身上加载了其它动画,调整的时候要去掉animator的勾选),在运行状态下,拷贝调整好的手,

并在停止运行后,粘贴到根目录下,

接着把这两个粘贴的手拖到正方形物体之下,成为其子物体。

写一段代码挂载到人身上

拖动三个量到新的代码组件需要的位置,其中IK是人自己,左右目标分别是正方形物体下的子物体手。

接着最重要的一步就是原来的两只手上添加Hand Poser组件

把正方形物体下边两个目标手分别拖动到人手上的Hand Poser组件种的Pose Root上:

左手:

右手:

很简单是不,大功告成。然后运行,测试一下效果

备解:正方形物体上没有挂载任何东西;人体挂在两样一是final IK的全身组件(此组件下的左右手权重要调成1),二是自己写的代码赋值人手的position和rotation;拷贝的终位手放到正方形物体之下,并在终位手上边添加Hand Poser组件(组件种的Pose Root为终位手本身)。

http://www.lryc.cn/news/189464.html

相关文章:

  • canvas力导布局
  • 【网络安全】「漏洞原理」(二)SQL 注入漏洞之理论讲解
  • JavaScript中类的学习
  • 1600*A. Linova and Kingdom(DFS优先队列贪心)
  • gitlab git lfs的替代软件整理汇总及分析
  • IDEA 2023.2.2图文安装教程及下载
  • 第六届“中国法研杯”司法人工智能挑战赛
  • Springcloud中间件-----分布式搜索引擎 Elasticsearch
  • 基于深度学习的目标检测和语义分割:机器视觉中的最新进展
  • 微信小程序报错request:fail -2:net::ERR_FAILED(生成中间证书)
  • Ubuntu更改时区
  • 0144 文件管理
  • python psutil库之——获取网络信息(网络接口信息、网络配置信息、以太网接口、ip信息、ip地址信息)
  • uniapp上echarts地图钻取
  • scratch保护环境 2023年5月中国电子学会图形化编程 少儿编程 scratch编程等级考试一级真题和答案解析
  • RPC分布式网络通信框架项目
  • Navicat如何连接远程服务器的MySQL
  • 【计算机网络笔记】计算机网络的结构
  • 排序算法-插入排序法(InsertSort)
  • RuntimeError: “slow_conv2d_cpu“ not implemented for ‘Half‘
  • 前端 | 前端工程化
  • 学信息系统项目管理师第4版系列24_整合管理
  • 轻量级虚拟化技术草稿
  • bootz启动 Linux内核过程中涉及的 do_bootm_states 函数
  • springcloud学习笔记(3)-服务管理组件Nacos
  • Insight h2database 更新、读写锁以及事务原理
  • skywalking动态配置[集成nacos/apollo/consul]
  • UniApp创建项目HelloWorld
  • Qt/C++原创推流工具/支持多种流媒体服务/ZLMediaKit/srs/mediamtx等
  • 学习黑马程序员JavaScript总结