Unity给力插件之Final IK
Final IK细节:
1.Aim IK:设定一个目标,关节末端始终朝向该目标,一般用来做头部的朝向。
步骤:
a、在模型头节点处添加Aim空物体并reset
b、给模型添加Aim IK组件,并填上Aim Transform及根脊椎到头的4节关节(可以设置权重)
c、创建目标target(空物体)于脸的正前方,
d、在模型上添加空物体Pin,位置与target一致
e、给target添加Aim Boxing脚本,参数为模型对象及pin
f、运行后移动target,模型的脸带动上半身的身体并始终朝向target
2.Biped IK:比Unity自带IK多一个头部IK控制
3.Full Body Biped IK:上面的强化版,控制部位更多(手肘、肩部、腰部、膝部、胯部等)
步骤:
a、给模型添加该组件脚本
b、填入根节点
c、要控制某个IK就增加权重,运行时就出现有一个立方形控制器,通过它可控制对应的IK
d、脚本控制:
public FullBodyBipedIK ik;
public FullBodyBipedEffector effector;//枚举变量,自己选择
ik.solver.leftHandEffector.position = leftHandTarget.position;
//给右手IK控制点赋位置,即让右手移动到指定点
ik.solver.GetEffector(effector).position = target.position;
//给指定部位赋目标
4.Limb IK:3个点,连接3节骨骼,末端点带动2节骨骼,注意添加Bend Goal控制收缩时的方向
5.CCDIK:Limb IK的增强版,可以连接多个骨骼,可以用来制作尾巴、绳索、机械手臂等
6.FABRIK:类似CCDIK,但是更显柔韧的效果,可以用来制作钢条、树干等
7.Grounder FBBIK:人型模型在各种地形上移动时的IK效果
步骤:
a、给模型添加该组件
b、参数填写模型对象
c、模型要添加刚体及碰撞器
d、运行后,模型脚部的网格会贴合地形(脚掌会保持平面,但是会根据地形有不同的倾斜)
e、只需要行走动画,就可以呈现出在各种地形(楼梯、斜坡)上行走的动画效果
8.Grounder IK:效果同上,为未知足数的模型可用,足数可自定义
步骤:
a、给模型的每条腿添加limb IK,并从腿根到脚填入骨骼参数
b、给模型添加grounderIK组件,并填入所有腿、模型网格对象及角色控制器对象
c、自定义行走控制器,运行后可在任意地形上行走
9.Interaction System:相互作用系统,可以获取指定的ik并控制,呈现出相向移动的效果
步骤:
a、创建空物体Box,添加Interaction object脚本
b、截取手掌骨骼,添加Inateraction Target脚本,设置参数后旋转手掌角度,此为触碰对象平面时的摆放角度
c、将手掌添加到Box下
d、模型添加Interaction System
e、添加控制脚本:
interactionSystem.StartInteraction(FullBodyBipedEffector.RightHand, box, bool);
//执行事件
10.LookAtIK:让模型朝向某点,作为头部朝向时优于Aim IK,而且容易配合biped ik使用。
步骤:
a、给模型添加LookAtIK组件
b、添加头部
c、从根部到颈部添加spine
d、运行
11.各种例子的解析:
a、拳击:有专门的FBIK Boxing脚本控制,手部权重随曲线变化,收拳时为谷底,击中目标时为峰值
b、握手、推拉、拾取:用到相互作用系统
c、驾驶:有专门的FBIK Driving Rig脚本控制
d、机器脚:应用角度限制和关节限制
e、击飞效果:手持长棍,挥击目标,可以击飞目标;应用到Motion Absorb的2个脚本。
f、接吻:有专门的Kissing Rig脚本
g、推墙:专门的Touch Walls脚本
Unity给力插件之Final IK的更多相关文章
- Unity给力插件之ShaderForge(一)
这是一个用来制作shader的插件,也是一个很好的学习shader的工具.这个插件上手很容易,但是要用它来制作理想的Shader,需要下点功夫. 这儿先列举出基础知识,以及我的一些实践.以后我还会继续 ...
- Unity给力插件之MeshBaker
这是一个用来合并网格.材质.贴图的插件. 其实网上也有一些比较详细的使用说明,但是真实操作起来时,总是有一些搞不清bug.而且,作为功能比较全的插件,在Unity版本更新时,也难免会一些不兼容的地方. ...
- Unity给力插件之ShaderForge(三)
地形模型材质: 使用Unity自带的地形会出现一些问题,所以我尽量使用手工制作的模型来制作地形.而地形又需要只使用一个材质球,于是在此制作一个简单的Shader. 效果图: 注意: 1.颜色遮罩的图片 ...
- Unity给力插件之MegaFiers
这是一个关于网格变形的插件.其中有非常多的功能. 这是它的API地址:http://www.west-racing.com/mf/ 花了2天的时间实践并整理了其中绝大多数的功能,只有一些关于特殊格式的 ...
- Unity给力插件之LittleLocalization
从网上随便下载了一个多语言的插件,原理很简单,自己就可以写一个.不过本身插件做的算比较全面,拿来就能用,所以精简了一下,然后重新打了个包. 为了快速使用插件,在此把步骤列出来. 1.创建空物体,添加L ...
- Unity给力插件之ShaderForge(二)
直接上实例: 一.自定义光照: 效果图(白色点光源照射时) 图片及参数 节点编辑 备注: 1.append为追加:两个一维数值合并为一个二维数值,一个二维数值与一个一维数值合并为一个三维数值,以此类推 ...
- [Unity菜鸟] Final IK
由于本人英文较烂,边翻译用户手册边学习. 用户手册 IK Components Final IK 包含许多强大高速的IK组件 Aim AimIK solver是一个对CCD算法(cyclic co ...
- 开发unity DLL插件
最近开发一款设备的SDK,想着要开发unity版本,怎么做呢?首先想到的就是在外部编写相关的驱动程序然后集成成几个dll作为unity的SDK使用了.So,我就开始了unity外部插件的研究之旅了. ...
- (转)Unity Cinemachine插件,实现单目标和多目标之间切换
Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换*版本要求Unity2017.1及以上. 参考资料: [官方] Unity 2017.1正式版发布 Cinemachine插件 ...
随机推荐
- bzoj1090:[SCOI2003]字符串折叠
思路:区间dp,令f[l][r]表示l到r的答案,于是f[l][r]=min(f[l][mid],f[mid+1][r]),如果能折叠f[l][r]=min(f[l][r],f[l][l+len-1] ...
- 百度UEditor(富文本编辑器)的基础用法
百度的这个编辑器挺强大的,这里只是用他的文本功能,没有介绍上传图片视频的. 我用是的SSH来写的项目. 1. 把下载的UEditor(ueditor1_4_3_1-utf8-jsp)解压后全部复制到W ...
- [翻译][MVC 5 + EF 6] 3:排序、过滤、分页
原文:Sorting, Filtering, and Paging with the Entity Framework in an ASP.NET MVC Application 1.添加排序: 1. ...
- NODE JS拼命吹,我就不喜欢. 别问为什么,直觉.
NODE JS拼命吹,我就不喜欢. 别问为什么,直觉. 来看看node js 在paypal的捣鼓文章吧.https://www.paypal-engineering.com/2013/11/22/n ...
- IOS代理
之前看过一些关于代理的资料,始终感觉还是很模糊,最近抽出一段空闲的时间,将这块内容整理下: 什么是代理,顾名思义就是帮别人做些事情,比如买房子,当我们买房子时,我们一般会找房屋中介,因为他们就是干这件 ...
- c++与C# winform的消息通讯--(结构体与byte数组的使用)
近期正在做一个蓝牙驱动的使用程序,其中有一块从c++发送数据到C#的部分,网上查了很多资料,大多都是介绍如何通过调用函数获取用户数据.并且在消息发送中,很少介绍如何发送一个结构体,并且结构体里面有 b ...
- GDI画验证码
Random r = new Random(); string str = ""; for (int i = 0; i < 5; i++) { int a= r.Next(0 ...
- demo_06Canvas
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- STM32启动过程--启动文件--分析
一.概述 1.说明 每一款芯片的启动文件都值得去研究,因为它可是你的程序跑的最初一段路,不可以不知道.通过了解启动文件,我们可以体会到处理器的架构.指令集.中断向量安排等内容,是非常值得玩味的. ST ...
- 模拟google分页效果
/// </summary> /// <param name="total">总记录数</param> /// <param name=& ...