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的更多相关文章

  1. Unity给力插件之ShaderForge(一)

    这是一个用来制作shader的插件,也是一个很好的学习shader的工具.这个插件上手很容易,但是要用它来制作理想的Shader,需要下点功夫. 这儿先列举出基础知识,以及我的一些实践.以后我还会继续 ...

  2. Unity给力插件之MeshBaker

    这是一个用来合并网格.材质.贴图的插件. 其实网上也有一些比较详细的使用说明,但是真实操作起来时,总是有一些搞不清bug.而且,作为功能比较全的插件,在Unity版本更新时,也难免会一些不兼容的地方. ...

  3. Unity给力插件之ShaderForge(三)

    地形模型材质: 使用Unity自带的地形会出现一些问题,所以我尽量使用手工制作的模型来制作地形.而地形又需要只使用一个材质球,于是在此制作一个简单的Shader. 效果图: 注意: 1.颜色遮罩的图片 ...

  4. Unity给力插件之MegaFiers

    这是一个关于网格变形的插件.其中有非常多的功能. 这是它的API地址:http://www.west-racing.com/mf/ 花了2天的时间实践并整理了其中绝大多数的功能,只有一些关于特殊格式的 ...

  5. Unity给力插件之LittleLocalization

    从网上随便下载了一个多语言的插件,原理很简单,自己就可以写一个.不过本身插件做的算比较全面,拿来就能用,所以精简了一下,然后重新打了个包. 为了快速使用插件,在此把步骤列出来. 1.创建空物体,添加L ...

  6. Unity给力插件之ShaderForge(二)

    直接上实例: 一.自定义光照: 效果图(白色点光源照射时) 图片及参数 节点编辑 备注: 1.append为追加:两个一维数值合并为一个二维数值,一个二维数值与一个一维数值合并为一个三维数值,以此类推 ...

  7. [Unity菜鸟] Final IK

    由于本人英文较烂,边翻译用户手册边学习. 用户手册  IK Components Final IK 包含许多强大高速的IK组件 Aim  AimIK solver是一个对CCD算法(cyclic co ...

  8. 开发unity DLL插件

    最近开发一款设备的SDK,想着要开发unity版本,怎么做呢?首先想到的就是在外部编写相关的驱动程序然后集成成几个dll作为unity的SDK使用了.So,我就开始了unity外部插件的研究之旅了. ...

  9. (转)Unity Cinemachine插件,实现单目标和多目标之间切换

    Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换*版本要求Unity2017.1及以上. 参考资料: [官方] Unity 2017.1正式版发布 Cinemachine插件 ...

随机推荐

  1. File的文件提取的小练习

    package com.java.Dmeo1.www; import java.io.File;import java.util.LinkedList;import java.util.TreeSet ...

  2. Linux系统的启动流程以及做个小小的Linux

    内核的作用     进程管理:进程间切换     内存管理:内存空间分割为内核空间和用户空间     IO管理:对底层硬件的使用必须由内来实现,不能由用户空间进程来实现     文件系统管理     ...

  3. C++11中新特性之:unordered_map

    unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value. 不同的是unordered_map不会根据key的大小进行排序,存储时是根据key的ha ...

  4. jQuery选择器(适合初学者哟....)

    选择器是jQuery最基础的东西,本文中列举的选择器基本上囊括了所有的jQuery选择器,也许各位通过这篇文章能够加深对jQuery选择器的理解,它们本身用法就非常简单,我更希望的是它能够提升个人编写 ...

  5. HTML 多媒体

    1.多媒体简介 Web 上的多媒体指的是音效.音乐.视频和动画,多媒体有多种不同的格式,它可以是听到或看到的任何内容,文字.图片.音乐.音效.录音.电影.动画等等.在互联网上,几乎在所有网站都能发现嵌 ...

  6. gulp和webpack初探

    gulp 真正“流程”化工具 我记得实习刚刚进公司看到grunt,还是有点蒙,之前一直是本地开发,游览器F5,没想到前端也需要“编译工具”.所以grunt一直给我的感觉是“编译工具”,你写的很多代码还 ...

  7. shell编程的一些例子3

    数值处理 1.let 命令 bash 的内部命令let可以用来计算算术表达式的值.如果表达式中有空格或者特殊字符,则应将表达式括在双引号中. let的语法命令:let express-list 如果最 ...

  8. Matlab R2012b启动出现License Manager Error -15

    1.找到已安装文件目录下的etc文件夹(如:D:\programfile\matlab\R2012B\etc),找到license.dat文件,复制:2,找到已安装文件目录下的licenses文件夹( ...

  9. django入门教程(上)

    相信用过python的人都听过Django的大名,知道它是一个web框架,用来支持动态网站.网络应用程序以及网络服务的开发.那么为什么我们需要一个web框架,而不是直接用python来写web应用呢? ...

  10. 使用libsvm对MNIST数据集进行实验

    使用libsvm对MNIST数据集进行实验 在学SVM中的实验环节,老师介绍了libsvm的使用.当时看完之后感觉简单的说不出话来. 1. libsvm介绍 虽然原理要求很高的数学知识等,但是libs ...