Beispiel #1
0
        void OnAddFrame(BlendShapeData bsd)
        {
            Undo.RecordObject(this, "BlendShapeBuilder");
            var frame = new BlendShapeFrameData();

            bsd.frames.Add(frame);
            bsd.NormalizeWeights();

            var meshBase = Utils.ExtractMesh(m_target.gameObject);

            if (meshBase == null)
            {
                return;
            }

            var meshNew = Instantiate(meshBase);

            meshNew.name = meshNew.name.Replace("(Clone)", ":" + bsd.name + "[" + (bsd.frames.Count - 1) + "]");
            frame.mesh   = Utils.MeshToGameObject(meshNew, m_target.gameObject);

            Undo.RegisterCreatedObjectUndo(frame.mesh, "BlendShapeBuilder");
        }