Ejemplo n.º 1
0
        public void Reset()
        {
            _leftUp.SetWeight(0);
            _leftDown.SetWeight(0);
            _rightUp.SetWeight(0);
            _rightDown.SetWeight(0);

            _leftUp    = new BlendShapeTarget();
            _leftDown  = new BlendShapeTarget();
            _rightUp   = new BlendShapeTarget();
            _rightDown = new BlendShapeTarget();
        }
Ejemplo n.º 2
0
    public virtual void ReloadBlendShapeTargets()
    {
        Mesh targetMesh      = targetMeshRenderer.sharedMesh;
        int  blendShapeCount = targetMesh.blendShapeCount;

        blendShapeTargets = new BlendShapeTarget[blendShapeCount];
        for (int i = 0; i < blendShapeCount; i++)
        {
            BlendShapeTarget newTarget = ScriptableObject.CreateInstance(typeof(BlendShapeTarget)) as BlendShapeTarget;
            newTarget.init(targetMesh.GetBlendShapeName(i), i, targetMeshRenderer);
            blendShapeTargets[i] = newTarget;
        }
    }
Ejemplo n.º 3
0
        //NOTE: こっちが最終的に生き残るよ
        public void RefreshTarget(VRMBlendShapeStore blendShapeStore)
        {
            Reset();

            var items      = blendShapeStore.GetBlendShapeStoreItems();
            int goalCount  = UseSeparatedTarget ? 4 : 2;
            int foundCount = 0;

            for (int i = 0; i < items.Length; i++)
            {
                var item = items[i];
                if (item.name == LeftUpKey && !_leftUp.isValid)
                {
                    _leftUp = new BlendShapeTarget(item);
                    foundCount++;
                }
                else if (item.name == LeftDownKey && !_leftDown.isValid)
                {
                    _leftDown = new BlendShapeTarget(item);
                    foundCount++;
                }
                else if (UseSeparatedTarget && item.name == RightUpKey && !_rightUp.isValid)
                {
                    _rightUp = new BlendShapeTarget(item);
                    foundCount++;
                }
                else if (UseSeparatedTarget && item.name == RightDownKey && !_rightDown.isValid)
                {
                    _rightDown = new BlendShapeTarget(item);
                    foundCount++;
                }

                if (foundCount >= goalCount)
                {
                    return;
                }
            }
        }