[Unity菜鸟] Final IK】的更多相关文章

由于本人英文较烂,边翻译用户手册边学习. 用户手册  IK Components Final IK 包含许多强大高速的IK组件 Aim  AimIK solver是一个对CCD算法(cyclic coordinate decent循环坐标下降算法)的修正,通过旋转骨骼的层次结构,确定瞄准目标后子骨骼的Transform. 它不同于内置Animator的 SetLookAtPosition 和 LookAtIK 功能,因为它能对不一致的层级主轴进行精确的目标转换.(because it is ab…
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,模型的脸带动上半身的身体并始终朝…
1.协程,即协作式程序,其思想是,一系列互相依赖的协程间依次使用CPU,每次只有一个协程工作,而其他协程处于休眠状态. unity中StartCoroutine()就是协程,协程实际上是在一个线程中,只不过每个协程对CUP进行分时,StartCoroutine()可以访问和使用unity的所有方法和component 2.Thread,多线程是阻塞式的,每个IO都必须开启一个新的线程,但是对于多CPU的系统应该使用thread,尤其是有大量数据运算的时刻,但是IO密集型就不适合:而且thread…
1. 发布网页版Unity自适应网页大小 发布网页版,Unity3D自适应网页大小.这个问题困扰了我很长时间,今天终于把他解决了,给大家分享一下. 这里用Uinty4.0发布网页版,我去掉了里面的标题和下载连接地址的Div,目的是让代码看起来易懂. 自适应网页大小与发布网页时PlayerSettings设置的width和height大小无关,只要讲网页里面的标注的代码设置好,就可以实现u3d自适应网页大小. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML…
1. 在Unity中调试可行,发布成exe可行,发布成web不行 Application.dataPath 在Unity中调试是在“..Assets”文件夹下, 发布成exe文件是在“..yourName_Data”文件夹下 using UnityEngine; using System.Collections; using System.Xml; public class CallXml { //XML文件路径 在Unity中调试 public static string localUrl =…
记录在学习<Unity 3.x 游戏开发 经典教材>时遇到的各种问题与笔记 1. 初始不能降低Terrain的高度,需要到Terrain设置的第二个按钮中将Height从0调高 (注意:最右边齿轮按钮里的Terrain Height是整个地形的最大高度,左图是当前笔刷绘制的最大高度)     2. SendMessage() 可以直接调用物体中的一个函数,而不在乎函数属于哪个脚本 // ① 书中P151 currentDoor.SendMessage("DoorCheck"…
SendMessage() 调用其他物体中的指令,先在脚本中编写一个自定义的函数,然后使用SendMessage()命令来调用那个物体上的命令 //①将以下函数附给target对象 void Renamer(string newName) { gameObject.name=newName; } //②在其他脚本上调用这个函数 GameObject.Find("target").SendMessage("Renamer","target_down"…
1. 连接外置摄像头 2. Unity3D中调用外接摄像头,并保存为图片文件…
1. 射线用 Physics.Raycast 都可以判断,用 collider.Raycast 只在某些(不明)情况下可以 void Update() { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; // if (collider.Raycast(ray, out hit, 100f)) if (Physics.Raycast(ray,out hit ,100f)) { Debug.Dr…
1. 给角色加角色控制器组件,然后用以下代码可以控制角色移动和跳跃 float speed = 6.0f; float jumpSpeed = 8.0f; float gravity = 20.0f; private Vector3 moveDirection = Vector3.zero; void Start() { // gameObject.rigidbody = false; } void Update() { CharacterController controller = GetC…
角色已经人形化(Humanoid)了,那它的动画可以用在其它的模型上了也就是可以共用一套模型动画了,但是你有没有发现那动画是和fbx模型绑在一起的,没关系你可以选中这几个动画文件按Contrl+D就可以提取出来了,然后你可以把整个fbx模型都删掉了,新生成的动画已经不再基于fbx了,这样可以大大减小资源大小. 如果是一个程序员的话你可能会想那这个实现代码是怎样的呢 using UnityEngine; using UnityEditor; using System.Collections; us…
1. Time.deltaTime 增量时间 以秒计算,完成最后一帧的时间(秒)(只读) 帧数所用的时间不是你能控制的.每一帧都不一样,游戏一般都是每秒60帧,也就是updata方法调用60次(假如你按60帧来算 而真实情况是不到60帧 那么物体就不会运动到你所想要的位置),但是真实情况是一般都达不到60帧 如果你还按60帧那样设定你的物体运动的话,动作会不连贯.所以用deltatime只是用上一帧所花的时间来当做这一帧用的时间,因为没人知道你这一帧会用多长时间.体会下,多打打代码 看看效果 慢…
1. 网上很多方法都说用时间种子来解决,但是在极短的时间内,这种方法没效 Random r = new Random(DateTime.Now.Millisecond); Random Counter = new Random(unchecked((int)(DateTime.Now.Ticks >> ctr))); Random Counter = new Random(System.Guid.NewGuid().GetHashCode()); 2. 用Random结合Hashtable才完…
1. 材质定义: 2. 把材质都改成支持透明通道 因为物体太多了,比如树跟房子材质必须用不一样的.所以办法还是你得改每个材质的Shader,都改成支持透明通道的. 在Project的搜索窗口输入t: material 然后材质就都出来了. 然后全部选定,把shader 改成Particle/Alpha blended,全选改不了是因为你全选的材质里面存在着用不同shader的材质…
1. 摄像机预览物体 上下左右远近 把CameraFollow脚本赋给Camera,把要观察的对象赋给target using UnityEngine; using System.Collections; public class CameraFollow : MonoBehaviour { public Transform target; public float targetHeight; public float distance; public int maxDistance; publ…
1. 遇到的问题 从xml读数据,xml的编码用中文就会乱码,改编码格式就调用不了.目前采用默认的ANSI编码. .exe    .txt  .xlsx  .xml  .test Run     √ (路径不能带空格)   √      √      √       √ (.test要有关联的默认打开方式如记事本) Exec    √                          ×      ×      ×       × Run  不能直接打开带有空格的路径,如果带有空格,我给路径加一…
1. 鼠标双击 void OnGUI() { Event Mouse = Event.current; if (Mouse.isMouse && Mouse.type == EventType.MouseDown && Mouse.clickCount == 2) { // 调用你的函数 print("Double Click"); } }…
HUD Mozilla  Mozilla基金会,简称Mozilla(缩写MF或MoFo),是为支持和领导开源的Mozilla项目而设立的一个非营利组织. 称作Mozilla公司的子公司,雇佣了一些Mozilla开发人员并协调Mozilla Firefox网页浏览器.…
1. 给角色添加一个Animator组件和New State,运行后,摆出这种奇怪的姿势 这是因为没有把动画片段赋给New State,可以看到此时的New State为空,把Idle片段拖进去就好了 2. 添加一个WalkBack状态后运行,角色会自动往后走.这是因为Make Transition的Contidions设置反了. Idle → Walk 时Speed (Vertical的值) 应该 Less than -0.1,反之Greater than -0.1 3. 添加了同时拥有Wal…
1. 原始效果  (tip:在4.x的书中有介绍) 2. 打开.html文件原始代码如下 <script type='text/javascript' src='jquery.min.js'></script> <script type="text/javascript"> <!-- var unityObjectUrl = "UnityObject2.js"; if (document.location.protocol…
今天做demo时遇到一个问题:当使用角色控制器操作物体,用 controller.SimpleMove(transform .forward); 语句时物体不能移动,搜索请教了很久,最后终于google到了问题的根本原因.参见unity3d问答.       I suspect you may have some object with a collider childed to your character - the charactercontroller behaves weirdly w…
典型的一些如手写排序算法.一些基本数学问题,在此就不列举了.以下整理出一些代表性的.有参考价值的题,真实面试题,附有本人的解答,欢迎讨论. 题1.指出下列哪些属于值类型? int System.Object string UnityEngine.MonoBehaviour UnityEngine.Object struct enum Vector3 说明:System.Object是所有类型的基类,其本身是引用类型.各位如果有异议可以在评论留言. 题2.获取.增加.删除组建的命令分别是什么? 获…
移动端手势操作 Easy Touch 获取 缓动 iTween 获取 可视化编程 Playmaker1.9.0 获取 UI NGUI,UGUI 获取 Shader着色器可视化编程 AmplifyShaderEditor 1.5.3 获取 AR vuforia-unity-6, EASY AR 获取 画面美化 beautify2017  获取 日光 Instant Good Day v2.2.2 获取 光晕 ProFlares v1.081 获取 天气 Weather Maker - 2D 3D…
记录一些常见插件,随时补充. iTween动画插件 原理:插值法,给出初始值和终点值,自动算出中间值. DoTween Tween动画 Playmaker $45 Playmaker由第三方软件商Hutong Games开发完成.它的Logo是一个中文的“玩”字,独特.有创意. 既是一个可视化脚本工具,又是一个分层逻辑框架.设计师.程序员使用Playmaker能够很快地完成游戏原型制作,既适合独立开发者,又适用于团队协作.Playmaker能够大大提高开发效率,让你的游戏变得更加完美.注意:导入…
什么是IK? IK(Inverse Kinematics)即反向动力学,即可以使用场景中的各种物体来控制和影响角色身体部位的运动,一般来说骨骼动画都是传统的从父节点到子节点的带动方式(即正向动力学),而IK则倒过来,由骨骼子节点带动骨骼父节点,具体情况比如人物走路踩到了石头就需要由脚的子节点来带动全身骨骼做出踩到石头的响应. IK可以使人物和场景更加贴合,从而达到更加真实的游戏效果,如果大家玩过<波斯王子>或<刺客信条>系列,应该对主角的攀爬和飞檐走壁的能力印象深刻,这些都是应用了…
路径规划问题是机器人学研究的一个重要领域,它是指给定操作环境以及起始和目标的位置姿态,要求选择一条从起始点到目标点的路径,使运动物体(移动机器人或机械臂)能安全.无碰撞地通过所有的障碍物而达到目标位置.路径规划从研究对象上可分为关节式机械臂和移动机器人.一般来讲前者具有更多的自由度,而后者的作业范围要更大一些,这两类对象具有不同的特点,因此在研究方法上略有不同.在V-rep学习笔记:机器人路径规划1中主要讲的是移动机器人的路径规划,接下来我们研究一下在VREP中如何实现机械臂的运动规划. 如果不…
遇到这样一个问题 想给角色设置ik 以实现代码控制的 更为自然的 角色动作 比如角色头跟随点击转动 身体也有相应扭转 https://docs.unity3d.com/Manual/InverseKinematics.html 这部分是很容易实现的 ,unity有现成的方法只需要调用一些带ik的API 具体方法见链接 用IK需要fbx的rig 的animation设置为humanoid 这样会有个问题就是 那些附属品 比如裙摆 武器 和很奇怪的跟随着角色的xxxx 这些附属品的animation…
http://blog.csdn.net/myarrow/article/details/44450199 1. 简介 IK与FK对应,正向运动学就是根骨骼带动节点骨骼运动.而反向运动学就是反过来,由子节点带动父节点运动. 2. 实例 对于Humanoid的动画,使用的方法很简单,在Animator窗口中,对于要使用IK的动画状态勾上Foot IK选项,在Base Layer中勾上IK Pass选项.然后在代码中实现OnAnimatorIK函数来控制IK. 其实例代码如下所示(IKCtrl.cs…
IK还是一个很神奇和实用的东西啊,起码可以用代码来控制人物骨骼位置还是很爽的.因为不是动画师~ 这篇可能跟Animator没啥关系了哈,都是代码层的. 看了一官方的案例,老的,有些问题,自己修改了一下,达到了效果. 官方建议把所有的IK操作放在OnAnimatorIK中进行. 如果我们要进行IK操作,先要绑定IK位置.IK能控制的官方都给了enum   然后我们要设置权重Weight,范围为0~1,这里都设成1 avatar.SetIKPositionWeight(AvatarIKGoal.Le…