Mercurial > hg > Game > Games
diff Orchestland/Assets/LeapMotion/Scripts/Hands/PolyHand.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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Orchestland/Assets/LeapMotion/Scripts/Hands/PolyHand.cs Fri Jul 17 23:23:43 2015 +0900 @@ -0,0 +1,49 @@ +/******************************************************************************\ +* 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; + +/** +* A deforming, very low poly count hand. +* +* All the graphics for this hand are drawn by the fingers. There is no representation +* for the palm or the arm. +*/ +public class PolyHand : HandModel { + + /** Initializes the hand and calls the finger initializers. */ + public override void InitHand() { + SetPalmOrientation(); + + for (int f = 0; f < fingers.Length; ++f) { + if (fingers[f] != null) { + fingers[f].fingerType = (Finger.FingerType)f; + fingers[f].InitFinger(); + } + } + } + + /** Updates the hand and calls the finger update functions. */ + public override void UpdateHand() { + SetPalmOrientation(); + + for (int f = 0; f < fingers.Length; ++f) { + if (fingers[f] != null) { + fingers[f].UpdateFinger(); + } + } + } + + /** Sets the palm transform. */ + protected void SetPalmOrientation() { + if (palm != null) { + palm.position = GetPalmPosition(); + palm.rotation = GetPalmRotation(); + } + } +}