示例#1
0
    void ActivateCombatIK(string data)
    {
        string[] args = PEUtil.ToArrayString(data, '|');

        string[] datas = PETools.PEUtil.ToArrayString(args[1], ',');
        foreach (string item in datas)
        {
            Transform tr = PETools.PEUtil.GetChild(transform, item);
            if (tr != null)
            {
                CCDIK ik = tr.GetComponent <CCDIK>();

                if (ik != null)
                {
                    IKData ikData = m_IKDataList.Find(ret => ret.ik == ik);
                    if (ikData == null)
                    {
                        IKData newIKData = new IKData();
                        newIKData.ik     = ik;
                        newIKData.limit  = newIKData.ik.GetComponent <IKCombatLimit>();
                        newIKData.target = GetIKTransform();
                        newIKData.curve  = args[0];

                        //newIKData.ik.solver.target = GetIKTransform(GetTarget());
                        //newIKData.ik.solver.SetIKPosition(GetIKPosition(newIKData));

                        m_IKDataList.Add(newIKData);
                    }
                }
            }
        }
    }
    void Start()
    {
        ccdikArm = arm.GetComponent(typeof(CCDIK)) as CCDIK;
        ccdikArm.solver.IKPositionWeight = 1f;

        hand.fingers[indexFingerIndex].weight         = 1f;
        hand.fingers[indexFingerIndex].rotationWeight = 1f;
    }
    public override void Trigger(GameObject Actor)
    {
        if (Actor != null)
        {
            ccdikScript = Actor.GetComponentInChildren <CCDIK>();

            if (ccdikScript && targetTransform)
            {
                ccdikScript.solver.target = targetTransform;
            }
        }
    }
示例#4
0
    // Start is called before the first frame update
    protected virtual void  Start()
    {
        if (MechanicalCCDIK == null)
        {
            MechanicalCCDIK = GetComponent <CCDIK>();
        }

        GameObject[] gos = GameObject.FindGameObjectsWithTag("Joint");
        for (int i = 0; i < gos.Length; i++)
        {
            jointsDic.Add(gos[i].name, gos[i].transform);
        }
        MoveSpeed = MoveSpeed * Time.deltaTime;
    }
示例#5
0
    void DeactivateCombatIK(string data)
    {
        string[] args  = PEUtil.ToArrayString(data, '|');
        string[] datas = PETools.PEUtil.ToArrayString(args[1], ',');
        foreach (string item in datas)
        {
            Transform tr = PETools.PEUtil.GetChild(transform, item);
            if (tr != null)
            {
                CCDIK ik = tr.GetComponent <CCDIK>();

                if (ik != null)
                {
                    IKData ikData = m_IKDataList.Find(ret => ret.ik == ik);
                    if (ikData != null)
                    {
                        ikData.ik.solver.target = null;
                        m_IKDataList.Remove(ikData);
                    }
                }
            }
        }
    }
示例#6
0
 void Start()
 {
     anim        = GetComponent <Animator>();
     ikScript    = GetComponentInChildren <CCDIK>();
     leMatScript = GetComponent <LightEaterMaterial>();
 }