MD Package Technical & APi Documentation
MDM_FFD :: MD_ModifierBase
Namespace: MDPackage.Modifiers
(FreeFormDeformer) Deform mesh by the specific weight values that correspond to the generated weight nodes.
Read more here (Online documentation slide)
Properties
// Lattice type 2x2x2, 3x3x3...
public FFDLatticeType CurrentLatticeType { get; }
// Custom node shape - Octahedron, Sphere, Cube, Custom
public FFDNodeShape CurrentNodeShape { get; }
// Current total weight between the mesh and FFD modifier
public float CurrentWeight { get; set; }
// FFD threshold intensity for mesh vertices
public float CurrentThreshold { get; set; }
public float CurrentDensity { get; set; }
public float CurrentMultiplier { get; set; }
public float CurrentDistanceLimitation { get; set; }

// Is the lattice on the FFD modifier generated?
public bool IsLatticeGenerated { get; }
// Readonly collection of nodes generated as gameObjects
public IReadOnlyCollection<Transform> GeneratedGameObjectNodes { get; }
// Readonly collection of vecs3 of initial node positions of the lattice
public IReadOnlyCollection<Vector3> InitialNodePositions { get; }
// Current raw node positions of the FFD lattice
public Vector3[] LatticeNodePositions { get; }
Public Methods
// Generate a FFD grid with nodes as GameObjects on the current mesh with customized settings
public void FFD_GenerateLatticeAsGameObjects(
   int latticeGridSize = 2,
   FFDNodeShape gameObjectNodeShapeType = FFDNodeShape.Octahedron,
   float nodeSize = 0.25f,
   float latticeBoundaryOffset = 0.1f,
   GameObject customNodeShape = null)
// Generate a FFD grid on the current mesh with current inspector
public void FFD_GenerateLattice()
// Bake current lattice to the backup vertices. You still will be able to restore the mesh to its original state
public void FFD_BakeLattice()
// Release FFD grid (if possible) and keep the edited mesh
public void FFD_ReleaseLattice()