private void Start()
        {
            //これらのIKは初期値から動かない事があるので、その場合にあまりに変になるのを防ぐのが狙い。
            _leftHand.Position = keyboard.GetKeyTargetData("F").positionWithOffset;
            _leftHand.Rotation = Quaternion.Euler(0, 90, 0);

            _rightHand.Position = keyboard.GetKeyTargetData("J").positionWithOffset;
            _rightHand.Rotation = Quaternion.Euler(0, -90, 0);
        }
示例#2
0
        /// <summary>
        /// タイピング用に指を動かします。これは実際には、対応する指を探してHold()を呼び出す処理です。
        /// </summary>
        /// <param name="key"></param>
        /// <param name="isLeftHandOnly"></param>
        public void HoldTypingKey(string key, bool isLeftHandOnly)
        {
            var fingerNumber = _keyboard.GetKeyTargetData(key, isLeftHandOnly).fingerNumber;

            _isTypingBending[fingerNumber] = true;
            //普通こっちのフラグは立ってないハズだけど、念のため。
            _isTypingReleasing[fingerNumber] = false;

            //今から曲げようとしてる指以外が打鍵状態だったら離す
            int startIndex = (fingerNumber < 5) ? 0 : 5;

            for (int i = startIndex; i < startIndex + 5; i++)
            {
                if (i != fingerNumber && _isTypingBending[i])
                {
                    _isTypingBending[i]   = false;
                    _isTypingReleasing[i] = true;
                }
            }
        }
示例#3
0
 public void StartPressKeyMotion(string key, bool isLeftHandOnly)
 {
     StartMoveFinger(_keyboard.GetKeyTargetData(key, isLeftHandOnly).fingerNumber);
 }