// Update is called once per frame void Update() { if (spriteDeformerBlendShape == null) { spriteDeformerBlendShape = GetComponent <SpriteDeformerBlendShape>(); if (spriteDeformerBlendShape == null) { return; } } int count = spriteDeformerBlendShape.countOfShapes; if (count > 20) { count = 20; } for (int i = 0; i < count; i++) { spriteDeformerBlendShape.SetBlendShapeWeight(i, getValueByIndex(i)); } for (int i = count; i < 20; i++) { setValueByIndex(i, 0); } }
protected override void inspectorMain() { EditorGUILayout.LabelField("Weight:"); bool isChangeWeight = false; for (int i = 0; i < spriteDeformerBlendShape.countOfShapes; i++) { float newValue = EditorGUILayout.Slider(spriteDeformerBlendShape.blendValues[i], 0, 1); if (spriteDeformerBlendShape.blendValues[i] != newValue) { spriteDeformerBlendShape.SetBlendShapeWeight(i, newValue); isChangeWeight = true; } } if (isChangeWeight && (spriteDeformerBlendShape.generateColliderInRunTime || spriteDeformerBlendShape.editorProps.generateColliderInEditor)) { spriteDeformerBlendShape.GenerateCollider(); } base.inspectorMain(); }