Mercurial > hg > Game > Games
view Orchestland/Assets/LeapMotion/Scripts/Hands/RiggedFinger.cs @ 3:0030a1b971fb default tip
merge
author | Yuta ANSE <e135745@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2015 23:23:43 +0900 |
parents | f7675884f2a1 |
children |
line wrap: on
line source
/******************************************************************************\ * Copyright (C) Leap Motion, Inc. 2011-2014. * * Leap Motion proprietary. Licensed under Apache 2.0 * * Available at http://www.apache.org/licenses/LICENSE-2.0.html * \******************************************************************************/ using UnityEngine; using System.Collections; using Leap; /** * Manages the orientation of the bones in a model rigged for skeletal animation. * * The class expects that the graphics model bones corresponding to bones in the Leap Motion * hand model are in the same order in the bones array. */ public class RiggedFinger : FingerModel { /** Allows the mesh to be stretched to align with finger joint positions * Only set to true when mesh is not visible */ public bool deformPosition = false; public Vector3 modelFingerPointing = Vector3.forward; public Vector3 modelPalmFacing = -Vector3.up; public Quaternion Reorientation() { return Quaternion.Inverse(Quaternion.LookRotation(modelFingerPointing, -modelPalmFacing)); } /** Updates the bone rotations. */ public override void UpdateFinger() { for (int i = 0; i < bones.Length; ++i) { if (bones[i] != null) { bones[i].rotation = GetBoneRotation(i) * Reorientation(); if (deformPosition) { bones[i].position = GetBoneCenter(i); } } } } }