Ejemplo n.º 1
0
    static void SetNames()
    {
        GameObject[] selObj = Selection.gameObjects;

        foreach (var obj in Selection.gameObjects)
        {
            SkinnedMeshRenderer smr = obj.GetComponent <SkinnedMeshRenderer>();

            FBSTargetInfo queueComp = obj.GetComponent <FBSTargetInfo>();
            System.Type   ourType   = queueComp.GetType();
            FieldInfo     fi        = ourType.GetField("OpenName", BindingFlags.Public | BindingFlags.Instance);
            //Debug.Log(fi);
            fi.SetValue(queueComp, new string[] { "test" });
        }
    }
Ejemplo n.º 2
0
    public void ChangeFace(Dictionary <int, float> dictFace, bool blend)
    {
        bool  flag = false;
        byte  b    = 0;
        float num  = 0f;

        FBSTargetInfo[] fBSTarget = FBSTarget;
        int             num2      = 0;

        while (num2 < fBSTarget.Length)
        {
            FBSTargetInfo       fBSTargetInfo       = fBSTarget[num2];
            SkinnedMeshRenderer skinnedMeshRenderer = fBSTargetInfo.GetSkinnedMeshRenderer();
            foreach (int key in dictFace.Keys)
            {
                if (skinnedMeshRenderer.sharedMesh.blendShapeCount <= fBSTargetInfo.PtnSet[key].Close)
                {
                    b = 1;
                    break;
                }
                if (skinnedMeshRenderer.sharedMesh.blendShapeCount <= fBSTargetInfo.PtnSet[key].Open)
                {
                    b = 1;
                    break;
                }
                num += dictFace[key];
            }
            if (b != 0)
            {
                break;
            }
            if (flag || !(num > 1f))
            {
                flag = true;
                num2++;
                continue;
            }
            b = 2;
            break;
        }
        switch (b)
        {
        case 1:
            Debug.LogError("ブレンドシェイプ番号が範囲外");
            break;

        case 2:
            Debug.LogError("合成の割合が100%を超えています");
            break;

        default:
            dictBackFace.Clear();
            foreach (int key2 in dictNowFace.Keys)
            {
                dictBackFace[key2] = dictNowFace[key2];
            }
            dictNowFace.Clear();
            foreach (int key3 in dictFace.Keys)
            {
                dictNowFace[key3] = dictFace[key3];
            }
            if (!blend)
            {
                blendTimeCtrl.End();
            }
            else
            {
                blendTimeCtrl.Start();
            }
            break;
        }
    }