Exemple #1
0
 private void SetTrans()
 {
     leftRela         = Tran2.Relative(gun, leftHand);
     leftForearmRela  = Tran2.Relative(leftHand, leftForearm);
     rightRela        = Tran2.Relative(gun, rightHand);
     rightForearmRela = Tran2.Relative(rightHand, rightForearm);
     Debug.Log("设置双手的相对变换。");
 }
Exemple #2
0
 private void btnMenu_Click(object sender, EventArgs e)
 {
     if (slideMenu.Width == 45)
     {
         slideMenu.Visible    = false;
         slideMenu.Width      = 175;
         tabControl1.Location = new System.Drawing.Point(175, 47);
         //listViewRooms.Size = new System.Drawing.Size(formWidth() - 339, formHeight() - 50);
         tabControl1.Size = new System.Drawing.Size(formWidth() - 175, formHeight() - 50);
         Tran1.ShowSync(slideMenu);
     }
     else
     {
         slideMenu.Visible    = false;
         slideMenu.Width      = 45;
         tabControl1.Location = new System.Drawing.Point(45, 47);
         //listViewRooms.Size = new System.Drawing.Size(formWidth() - 339 + 175 - 45,formHeight()-50);
         tabControl1.Size = new System.Drawing.Size(formWidth() - 45, formHeight() - 50);
         Tran2.ShowSync(slideMenu);
     }
 }
Exemple #3
0
        private void LateUpdate()
        {
            if (toggleLockTrans.isOn)
            {
                Tran2 orela, ot, ofa;

                //////
                leftHand.SetTran2(Tran2.Absolute(gun, leftRela));  //根据手枪设置手的绝对位置
                ot    = leftHand.Tran2();
                orela = Tran2.Absolute(leftHand, leftForearmRela); // 预先记录相对位置的绝对值,理由同上。
                if (lerp)
                {
                    UpdateBone(leftForearm);                                     // 根据曲线设置 前臂 的本地位置
                }
                ofa = leftForearm.Tran2();                                       // 记录 前臂 的本地变换绝对值
                leftForearm.SetTran2(Tran2.Lerp(ofa, orela, lerp ? weight : 1)); // 与相对变换插值
                leftHand.SetTran2(ot);                                           // 还原手的绝对位置

                //////
                rightHand.SetTran2(Tran2.Absolute(gun, rightRela));
                ot    = rightHand.Tran2();
                orela = Tran2.Absolute(rightHand, rightForearmRela);
                if (lerp)
                {
                    UpdateBone(rightForearm);
                }
                ofa = rightForearm.Tran2();
                rightForearm.SetTran2(Tran2.Lerp(ofa, orela, lerp ? weight : 1));
                rightHand.SetTran2(ot);

                if (lookAt)
                {
                    SetLookAtChain(leftUpperarm, leftForearm, leftHand);
                    SetLookAtChain(rightUpperarm, rightForearm, rightHand);
                    //SetLookAtChain(rightForearm, rightHand);
                }
            }
        }