コード例 #1
0
 private static OCIChar.IKInfo AddIKTarget(
     OCIChar _ociChar,
     IKCtrl _ikCtrl,
     int _no,
     FBIKChain _chain,
     bool _usedRot,
     Transform _bone)
 {
     OCIChar.IKInfo ikInfo = AddObjectAssist.AddIKTarget(_ociChar, _ikCtrl, _no, (Transform)((IKConstraintBend)_chain.bendConstraint).bendGoal, _usedRot, _bone, false);
     ((IKConstraintBend)_chain.bendConstraint).weight   = (__Null)1.0;
     ((IKConstraintBend)_chain.bendConstraint).bendGoal = (__Null)ikInfo.targetObject;
     return(ikInfo);
 }
コード例 #2
0
 private static OCIChar.IKInfo AddIKTarget(
     OCIChar _ociChar,
     IKCtrl _ikCtrl,
     int _no,
     IKEffector _effector,
     bool _usedRot,
     Transform _bone)
 {
     OCIChar.IKInfo ikInfo = AddObjectAssist.AddIKTarget(_ociChar, _ikCtrl, _no, (Transform)_effector.target, _usedRot, _bone, true);
     _effector.positionWeight = (__Null)1.0;
     _effector.rotationWeight = !_usedRot ? (__Null)0.0 : (__Null)1.0;
     _effector.target         = (__Null)ikInfo.targetObject;
     return(ikInfo);
 }
コード例 #3
0
        private static OCIChar.IKInfo AddIKTarget(
            OCIChar _ociChar,
            IKCtrl _ikCtrl,
            int _no,
            Transform _target,
            bool _usedRot,
            Transform _bone,
            bool _isRed)
        {
            OIIKTargetInfo _targetInfo = (OIIKTargetInfo)null;
            bool           flag        = !_ociChar.oiCharInfo.ikTarget.TryGetValue(_no, out _targetInfo);

            if (flag)
            {
                _targetInfo = new OIIKTargetInfo(Studio.Studio.GetNewIndex());
                _ociChar.oiCharInfo.ikTarget.Add(_no, _targetInfo);
            }
            switch (_no)
            {
            case 0:
                _targetInfo.group = OIBoneInfo.BoneGroup.Body;
                break;

            case 1:
            case 2:
            case 3:
                _targetInfo.group = OIBoneInfo.BoneGroup.LeftArm;
                break;

            case 4:
            case 5:
            case 6:
                _targetInfo.group = OIBoneInfo.BoneGroup.RightArm;
                break;

            case 7:
            case 8:
            case 9:
                _targetInfo.group = OIBoneInfo.BoneGroup.LeftLeg;
                break;

            case 10:
            case 11:
            case 12:
                _targetInfo.group = OIBoneInfo.BoneGroup.RightLeg;
                break;
            }
            GameObject gameObject = new GameObject(((Object)_target).get_name() + "(work)");

            gameObject.get_transform().SetParent(((Component)_ociChar.charInfo).get_transform());
            GuideObject _guideObject = Singleton <GuideObjectManager> .Instance.Add(gameObject.get_transform(), _targetInfo.dicKey);

            _guideObject.mode              = GuideObject.Mode.LocalIK;
            _guideObject.enableRot         = _usedRot;
            _guideObject.enableScale       = false;
            _guideObject.enableMaluti      = false;
            _guideObject.calcScale         = false;
            _guideObject.scaleRate         = 0.5f;
            _guideObject.scaleRot          = 0.05f;
            _guideObject.scaleSelect       = 0.1f;
            _guideObject.parentGuide       = _ociChar.guideObject;
            _guideObject.guideSelect.color = !_isRed?Color.get_blue() : Color.get_red();

            _guideObject.moveCalc = GuideMove.MoveCalc.TYPE3;
            OCIChar.IKInfo ikInfo = new OCIChar.IKInfo(_guideObject, _targetInfo, _target, gameObject.get_transform(), _bone);
            if (!flag)
            {
                _targetInfo.changeAmount.OnChange();
            }
            _ikCtrl.addIKInfo = ikInfo;
            _ociChar.listIKTarget.Add(ikInfo);
            _guideObject.SetActive(false, true);
            return(ikInfo);
        }