Show / Hide Table of Contents

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
ModifierBase
MeshModifier
ChamferHeightModifier
HeightModifier
LineMeshModifier
LoftModifier
SmoothLineModifier
SnapTerrainModifier
SnapTerrainRaycastModifier
TextureSideWallModifier
UvModifier
Inherited Members
ModifierBase.Active
ModifierBase.SetProperties(ModifierProperties)
ModifierBase.Initialize()
ModifierBase.FeaturePreProcess(VectorFeatureUnity)
ModifierBase.UnbindProperties()
ModifierBase.UpdateModifier(Object, EventArgs)
ModifierBase.ModifierHasChanged
ModifierBase.NotifyUpdateModifier(VectorLayerUpdateArgs)
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
Type Description
ModifierType

Methods

Run(VectorFeatureUnity, MeshData, UnityTile)

Declaration
public virtual void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null)
Parameters
Type Name Description
VectorFeatureUnity feature
MeshData md
UnityTile tile

Run(VectorFeatureUnity, MeshData, Single)

Declaration
public virtual void Run(VectorFeatureUnity feature, MeshData md, float scale)
Parameters
Type Name Description
VectorFeatureUnity feature
MeshData md
System.Single scale
Back to top © 2017 Mapbox