Class MeshModifier
Mesh Data class and Mesh Modifier
MeshData class is used to keep data required for a mesh.Mesh modifiers recieve raw feature data and a mesh modifier,
generate their data and keep it inside MeshData. i.e.PolygonMeshModifier is responsible for triangulating the polygon,
so it calculates the triangle indices using the vertices and save it into MeshData.Triangles list.There's no control
over which field a mesh modifier fills or overrides but some of the basic mesh modifier goes like this;
Polygon mesh modifier - Vertices and triangles
Line Mesh modifier - Vertices, triangles and uvs
UV modifier - uvs(only used with polygon mesh modifier)
height modifier - vertices(adds new points), triangles(for side walls), uvs(for side walls)
After running all mesh modifiers, mesh data is expected to have at least vertices and triangles set as
they are the bare minimum to create a unity mesh object.
So the main purpose of the mesh modifiers is to fill up the mesh data class but they aren't limited to that either.
You can always create gameobjects and debug lines/spheres inside them for debugging purposes whenever you have a problem.
MeshData class also has some extra fields inside for data transfer purposes(between modifiers). i.e.Edges list
inside mesh data isn't used for mesh itself, but it's calculated by PolygonMeshModifier and used by HeightModifier
so to avoid calculating it twice, we're keeping it in the mesh data object. You can also extend mesh data like this
if you ever need to save data or share information between mesh modifiers.
We fully expect developers to create their own mesh modifiers to customize the look of their world.It would probably
take a little experience with mesh generation to be able to do this but it's the suggested way to create
custom world objects, like blobly toonish buildings, or wobbly roads.
Inheritance
ScriptableObject
MeshModifier
Namespace:Mapbox.Unity.MeshGeneration.Modifiers
Assembly:cs.temp.dll.dll
Syntax
public class MeshModifier : ModifierBase
Properties
Type
Declaration
public virtual ModifierType Type { get; }
Property Value
Methods
Run(VectorFeatureUnity, MeshData, UnityTile)
Declaration
public virtual void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null)
Parameters
Run(VectorFeatureUnity, MeshData, Single)
Declaration
public virtual void Run(VectorFeatureUnity feature, MeshData md, float scale)
Parameters