diff --git a/dependencies/mapbox-sdk-cs b/dependencies/mapbox-sdk-cs index b55a9cec0..e7430f5ca 160000 --- a/dependencies/mapbox-sdk-cs +++ b/dependencies/mapbox-sdk-cs @@ -1 +1 @@ -Subproject commit b55a9cec0062c8e33e6f7e623b5ec244c918962b +Subproject commit e7430f5ca70cb031df7c2cec31cbfff6f2ce986e diff --git a/dependencies/triangle.net-uwp b/dependencies/triangle.net-uwp index 4ce02ce07..4995526c5 160000 --- a/dependencies/triangle.net-uwp +++ b/dependencies/triangle.net-uwp @@ -1 +1 @@ -Subproject commit 4ce02ce072698e2433184cf4b49e6450e286ef01 +Subproject commit 4995526c5fa1015a9c356aec667c9331c8e05b61 diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Components/FeatureBehaviour.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Components/FeatureBehaviour.cs index 62339fab2..c0c186e0c 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Components/FeatureBehaviour.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Components/FeatureBehaviour.cs @@ -12,11 +12,19 @@ public class FeatureBehaviour : MonoBehaviour [Multiline(10)] public string DataString; + [Multiline(10)] + public string Points; + public void Init(VectorFeatureUnity feature) { Transform = transform; Data = feature; DataString = string.Join(" \r\n ", Data.Properties.Select(x => x.Key + " - " + x.Value.ToString()).ToArray()); + foreach (var item in feature.Points) + { + Points += string.Join(",", item.Select(x => x.x + "-" + x.z).ToArray()); + Points += "\r\n "; + } } } } \ No newline at end of file diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Data/MeshData.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Data/MeshData.cs index 4e2ec6b53..51b4d863f 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Data/MeshData.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Data/MeshData.cs @@ -1,25 +1,30 @@ -namespace Mapbox.Unity.MeshGeneration.Data -{ - using System.Collections.Generic; - using UnityEngine; - using Utils; - - public class MeshData - { - public Vector2 MercatorCenter { get; set; } - public RectD TileRect { get; set; } +namespace Mapbox.Unity.MeshGeneration.Data +{ + using System.Collections.Generic; + using TriangleNet.Geometry; + using TriangleNet.Meshing; + using UnityEngine; + using Utils; + + public class MeshData + { + public List Edges { get; set; } + public IMesh PolygonMesh { get; set; } + public Vector2 MercatorCenter { get; set; } + public RectD TileRect { get; set; } public List Vertices { get; set; } public List Normals { get; set; } - public List> Triangles { get; set; } - public List> UV { get; set; } - - public MeshData() - { - Vertices = new List(); - Normals = new List(); - Triangles = new List>(); - UV = new List>(); - UV.Add(new List()); - } - } -} + public List> Triangles { get; set; } + public List> UV { get; set; } + + public MeshData() + { + Edges = new List(); + Vertices = new List(); + Normals = new List(); + Triangles = new List>(); + UV = new List>(); + UV.Add(new List()); + } + } +} diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Data/VectorFeatureUnity.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Data/VectorFeatureUnity.cs index 0e769e0c4..229f8c88a 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Data/VectorFeatureUnity.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Data/VectorFeatureUnity.cs @@ -12,6 +12,11 @@ public class VectorFeatureUnity public Dictionary Properties { get; set; } public List> Points; + public VectorFeatureUnity() + { + Points = new List>(); + } + public VectorFeatureUnity(VectorTileFeature feature, UnityTile tile, float layerExtent) { Data = feature; @@ -25,7 +30,7 @@ public VectorFeatureUnity(VectorTileFeature feature, UnityTile tile, float layer for (int j = 0; j < geom[i].Count; j++) { var point = geom[i][j]; - nl.Add(new Vector3((float)(point.X / layerExtent * tile.Rect.Size.x - (tile.Rect.Size.x/2)), 0, (float)((layerExtent - point.Y) / layerExtent * tile.Rect.Size.y - (tile.Rect.Size.y / 2)))); + nl.Add(new Vector3((float)(point.X / layerExtent * tile.Rect.Size.x - (tile.Rect.Size.x / 2)), 0, (float)((layerExtent - point.Y) / layerExtent * tile.Rect.Size.y - (tile.Rect.Size.y / 2)))); } Points.Add(nl); } diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Factories/DirectionsFactory.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Factories/DirectionsFactory.cs index f99f2fbb5..c0bea050b 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Factories/DirectionsFactory.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Factories/DirectionsFactory.cs @@ -39,18 +39,21 @@ public void Query(List waypoints) void HandleDirectionsResponse(DirectionsResponse response) { var meshData = new MeshData(); - + var dat = new List(); foreach (var leg in response.Routes[0].Legs) { foreach (var point in response.Routes[0].Geometry) { - meshData.Vertices.Add(Conversions.GeoToWorldPosition(point.x, point.y, Parameters.ReferenceTileRect.Center, Parameters.WorldScaleFactor).ToVector3xz()); + dat.Add(Conversions.GeoToWorldPosition(point.x, point.y, Parameters.ReferenceTileRect.Center, Parameters.WorldScaleFactor).ToVector3xz()); } } + var feat = new VectorFeatureUnity(); + feat.Points.Add(dat); + foreach (MeshModifier mod in MeshModifiers.Where(x => x.Active)) { - mod.Run(null, meshData); + mod.Run(feat, meshData); } CreateGameObject(meshData); diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/LayerVisualizers/VectorLayerVisualizer.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/LayerVisualizers/VectorLayerVisualizer.cs index 19b2e4108..57595f9c2 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/LayerVisualizers/VectorLayerVisualizer.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/LayerVisualizers/VectorLayerVisualizer.cs @@ -109,102 +109,65 @@ public override void Create(VectorTileLayer layer, UnityTile tile) /// /// /// - private void Build(VectorFeatureUnity feature, UnityTile tile, GameObject parent) + private bool IsFeatureValid(VectorFeatureUnity feature) { if (feature.Properties.ContainsKey("extrude") && !bool.Parse(feature.Properties["extrude"].ToString())) - return; + return false; - //we're not cutting out the holes yet - foreach (var geometry in feature.Points) - { - var meshData = new MeshData(); - meshData.TileRect = tile.Rect; + if (feature.Points.Count < 1) + return false; - if (geometry.Count <= 1) - continue; + return true; + } - //this will be improved in next version and will probably be replaced by filters - string styleSelectorKey = ""; - if (string.IsNullOrEmpty(_classificationKey)) - { - if (feature.Properties.ContainsKey("type")) - { - styleSelectorKey = feature.Properties["type"].ToString().ToLowerInvariant(); - } - else if (feature.Properties.ContainsKey("class")) - { - styleSelectorKey = feature.Properties["class"].ToString().ToLowerInvariant(); - } - } - else if (feature.Properties.ContainsKey(_classificationKey)) - { - if (feature.Properties.ContainsKey(_classificationKey)) - { - styleSelectorKey = feature.Properties[_classificationKey].ToString().ToLowerInvariant(); - } - } + private void Build(VectorFeatureUnity feature, UnityTile tile, GameObject parent) + { + if (!IsFeatureValid(feature)) + return; - //we'll run all visualizers on MeshData here - var list = geometry; - //.Select(x => Conversions.GeoToWorldPosition(x.Lat, x.Lng, tile.Rect.Center).ToVector3xz()).ToList(); + //this will be improved in next version and will probably be replaced by filters + var styleSelectorKey = FindSelectorKey(feature); - //long straight edges looks bad on bumpy terrain - if (_subdivideLongEdges) - { - var verts = new List(); - if (list.Count > 1) - { - for (int i = 0; i < list.Count - 1; i++) - { - verts.Add(list[i]); - var dist = Vector3.Distance(list[i], list[i + 1]); - var step = Math.Min(_maxEdgeSectionCount, dist / _preferredEdgeSectionLength); - if (step > 1) - { - var counter = 1; - while (counter < step) - { - var nv = Vector3.Lerp(list[i], list[i + 1], Mathf.Min(1, counter / step)); - verts.Add(nv); - counter++; - } - } - } - } - verts.Add(list.Last()); - list = verts; - } + var meshData = new MeshData(); + meshData.TileRect = tile.Rect; + + //and finally, running the modifier stack on the feature + var mod = Stacks.FirstOrDefault(x => x.Type.Contains(styleSelectorKey)); + GameObject go; + if (mod != null) + { + go = mod.Stack.Execute(tile, feature, meshData, parent, mod.Type); + } + else + { + if (_defaultStack != null) + go = _defaultStack.Execute(tile, feature, meshData, parent, _key); + } + //go.layer = LayerMask.NameToLayer(_key); + } - //adding terrain & building min_height to vertices - //we may move this into height modifier in the future - meshData.Vertices = list.Select(vertex => + private string FindSelectorKey(VectorFeatureUnity feature) + { + if (string.IsNullOrEmpty(_classificationKey)) + { + if (feature.Properties.ContainsKey("type")) { - var h = tile.QueryHeightData((float)((vertex.x + tile.Rect.Size.x / 2) / tile.Rect.Size.x), (float)((vertex.z + tile.Rect.Size.y / 2) / tile.Rect.Size.y)); - vertex += new Vector3(0, h, 0); - - if (feature.Properties.ContainsKey("min_height")) - { - var min_height = Convert.ToSingle(feature.Properties["min_height"]); - vertex += new Vector3(0, min_height, 0); - } - - return vertex; - }).ToList(); - - //and finally, running the modifier stack on the feature - var mod = Stacks.FirstOrDefault(x => x.Type.Contains(styleSelectorKey)); - GameObject go; - if (mod != null) + return feature.Properties["type"].ToString().ToLowerInvariant(); + } + else if (feature.Properties.ContainsKey("class")) { - go = mod.Stack.Execute(tile, feature, meshData, parent, mod.Type); + return feature.Properties["class"].ToString().ToLowerInvariant(); } - else + } + else if (feature.Properties.ContainsKey(_classificationKey)) + { + if (feature.Properties.ContainsKey(_classificationKey)) { - if (_defaultStack != null) - go = _defaultStack.Execute(tile, feature, meshData, parent, _key); + return feature.Properties[_classificationKey].ToString().ToLowerInvariant(); } - //go.layer = LayerMask.NameToLayer(_key); } + + return ""; } } } diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/MapController.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/MapController.cs index 32c87552b..701164076 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/MapController.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/MapController.cs @@ -67,18 +67,11 @@ public void Start() /// /// Pulls the root world object to origin for ease of use/view /// - public void Update() + private void SnapZero(UnityTile s, object e) { - if (_snapYToZero) - { - var ray = new Ray(new Vector3(0, 1000, 0), Vector3.down); - RaycastHit rayhit; - if (Physics.Raycast(ray, out rayhit)) - { - Root.transform.position = new Vector3(0, -rayhit.point.y, 0); - _snapYToZero = false; - } - } + var h = Conversions.GetRelativeHeightFromColor(s.HeightData.GetPixel(127, 127), s.RelativeScale); + Root.transform.position = new Vector3(0, -h * WorldParameters.WorldScaleFactor, 0); + s.HeightDataChanged -= SnapZero; } public void Execute() @@ -109,6 +102,11 @@ public void Execute(double lat, double lng, int zoom, Vector4 frame) tile.transform.position = new Vector3((float)(tile.Rect.Center.x - WorldParameters.ReferenceTileRect.Center.x), 0, (float)(tile.Rect.Center.y - WorldParameters.ReferenceTileRect.Center.y)); tile.transform.SetParent(Root.transform, false); MapVisualization.ShowTile(tile); + + if (_snapYToZero && j == _refTile.y && i == _refTile.x) + { + tile.HeightDataChanged += SnapZero; + } } } diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MergedModifierStack.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MergedModifierStack.cs index 084580d3a..83abda124 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MergedModifierStack.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MergedModifierStack.cs @@ -27,6 +27,8 @@ public class MergedModifierStack : ModifierStackBase public override GameObject Execute(UnityTile tile, VectorFeatureUnity feature, MeshData meshData, GameObject parent = null, string type = "") { + base.Execute(tile, feature, meshData, parent, type); + if (!_cacheVertexCount.ContainsKey(tile)) { _cacheVertexCount.Add(tile, 0); @@ -37,7 +39,7 @@ public override GameObject Execute(UnityTile tile, VectorFeatureUnity feature, M _buildingCount[tile]++; foreach (MeshModifier mod in MeshModifiers.Where(x => x.Active)) { - mod.Run(feature, meshData); + mod.Run(feature, meshData, tile); } GameObject go = null; diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifier.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifier.cs index 244b2e4e0..1b545d30d 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifier.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifier.cs @@ -12,7 +12,7 @@ public class MeshModifier : ModifierBase { public virtual ModifierType Type { get { return ModifierType.Preprocess; } } - public virtual void Run(VectorFeatureUnity feature, MeshData md) + public virtual void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null) { } diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/ChamferModifier.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/ChamferModifier.cs index f6dc2d6f2..b6814200b 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/ChamferModifier.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/ChamferModifier.cs @@ -14,7 +14,7 @@ public class ChamferModifier : MeshModifier [SerializeField] private float _size; - public override void Run(VectorFeatureUnity feature, MeshData md) + public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null) { if (md.Vertices.Count == 0) return; diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/ClipperLineMeshModifier.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/ClipperLineMeshModifier.cs new file mode 100644 index 000000000..40578e5c3 --- /dev/null +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/ClipperLineMeshModifier.cs @@ -0,0 +1,184 @@ +namespace Mapbox.Unity.MeshGeneration.Modifiers +{ + using System.Collections.Generic; + using System.Linq; + using UnityEngine; + using Mapbox.Unity.MeshGeneration.Data; + using TriangleNet.Geometry; + using Mapbox.VectorTile.Geometry.InteralClipperLib; + + [CreateAssetMenu(menuName = "Mapbox/Modifiers/Clipper Line Mesh Modifier")] + public class ClipperLineMeshModifier : MeshModifier + { + [SerializeField] + private float Width; + public override ModifierType Type { get { return ModifierType.Preprocess; } } + + public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null) + { + if (feature.Points.Count < 1) + return; + + InternalClipper.PolyTree solution = new InternalClipper.PolyTree(); + InternalClipper.ClipperOffset co = new InternalClipper.ClipperOffset(); + + foreach (var roadSegment in feature.Points) + { + co.AddPath(roadSegment.Select(i => new InternalClipper.IntPoint(i.x, i.z)).ToList(), InternalClipper.JoinType.jtSquare, InternalClipper.EndType.etOpenButt); + } + + co.Execute(ref solution, Width/2); + var x = solution; + + var polygon = new Polygon(); + Vertex prev = null; + Vertex current = null; + Vertex first = null; + foreach (var poly in solution.m_AllPolys) + { + prev = null; + current = null; + first = null; + foreach (var item in poly.Contour) + { + prev = current; + current = new Vertex(item.X, item.Y, 0); + if (first == null) + first = current; + polygon.Add(current); + if(prev != null) + polygon.Add(new Segment(current, prev)); + } + polygon.Add(new Segment(first, current)); + } + + var mesh = polygon.Triangulate(); + var data = new List(); + foreach (var tri in mesh.Triangles) + { + data.Add(tri.GetVertexID(0)); + data.Add(tri.GetVertexID(2)); + data.Add(tri.GetVertexID(1)); + } + + foreach (var edge in mesh.Edges) + { + if (edge.Label == 0) + continue; + + md.Edges.Add(edge.P0); + md.Edges.Add(edge.P1); + } + md.Vertices.Clear(); + using (var sequenceEnum = mesh.Vertices.GetEnumerator()) + { + while (sequenceEnum.MoveNext()) + { + md.Vertices.Add(new Vector3((float)sequenceEnum.Current.x, 0, (float)sequenceEnum.Current.y)); + } + } + md.Triangles.Add(data); + + //foreach (var roadSegment in feature.Points) + //{ + // var count = roadSegment.Count; + // for (int i = 1; i < count*2; i++) + // { + // md.Edges.Add(md.Vertices.Count + i); + // md.Edges.Add(md.Vertices.Count + i - 1); + // } + // md.Edges.Add(md.Vertices.Count); + // md.Edges.Add(md.Vertices.Count + (count*2) - 1); + + // var newVerticeList = new Vector3[count * 2]; + // var uvList = new Vector2[count * 2]; + // Vector3 norm; + // var lastUv = 0f; + // var p1 = Vector3.zero; + // var p2 = Vector3.zero; + // var p3 = Vector3.zero; + // for (int i = 1; i < count; i++) + // { + // p1 = roadSegment[i - 1]; + // p2 = roadSegment[i]; + // p3 = p2; + // if (i + 1 < roadSegment.Count) + // p3 = roadSegment[i + 1]; + + // if (i == 1) + // { + // norm = GetNormal(p1, p1, p2) * Width; //road width + // newVerticeList[0] = (p1 + norm); + // newVerticeList[count * 2 - 1] = (p1 - norm); + // uvList[0] = new Vector2(0, 0); + // uvList[count * 2 - 1] = new Vector2(1, 0); + // } + // var dist = Vector3.Distance(p1, p2); + // lastUv += dist; + // norm = GetNormal(p1, p2, p3) * Width; + // newVerticeList[i] = (p2 + norm); + // newVerticeList[2 * count - 1 - i] = (p2 - norm); + + // uvList[i] = new Vector2(0, lastUv); + // uvList[2 * count - 1 - i] = new Vector2(1, lastUv); + // } + + // //if (_mergeStartEnd) + // //{ + // // //brnkhy -2 because first and last items are same + // // p1 = segment[count - 2]; + // // p2 = segment[0]; + // // p3 = segment[1]; + + // // norm = GetNormal(p1, p2, p3) * Width; + // // newVerticeList[count - 1] = p2 + norm; + // // newVerticeList[0] = p2 + norm; + // // newVerticeList[count] = p2 - norm; + // // newVerticeList[2 * count - 1] = p2 - norm; + // //} + + // var pcount = md.Vertices.Count; + // md.Vertices.AddRange(newVerticeList); + // md.UV[0].AddRange(uvList); + // var lineTri = new List(); + // var n = count; + + // for (int i = 0; i < n - 1; i++) + // { + // lineTri.Add(pcount + i); + // lineTri.Add(pcount + i + 1); + // lineTri.Add(pcount + 2 * n - 1 - i); + + // lineTri.Add(pcount + i + 1); + // lineTri.Add(pcount + 2 * n - i - 2); + // lineTri.Add(pcount + 2 * n - i - 1); + // } + + // if (md.Triangles.Count < 1) + // md.Triangles.Add(new List()); + // md.Triangles[0].AddRange(lineTri); + //} + } + + private Vector3 GetNormal(Vector3 p1, Vector3 newPos, Vector3 p2) + { + if (newPos == p1 || newPos == p2) + { + var n = (p2 - p1).normalized; + return new Vector3(-n.z, 0, n.x); + } + + var b = (p2 - newPos).normalized + newPos; + var a = (p1 - newPos).normalized + newPos; + var t = (b - a).normalized; + + if (t == Vector3.zero) + { + var n = (p2 - p1).normalized; + return new Vector3(-n.z, 0, n.x); + } + + return new Vector3(-t.z, 0, t.x); + } + } +} diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/ClipperLineMeshModifier.cs.meta b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/ClipperLineMeshModifier.cs.meta new file mode 100644 index 000000000..be8b53c9b --- /dev/null +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/ClipperLineMeshModifier.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0f336c96bbad10f4188e275dd470363e +timeCreated: 1493309511 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/HeightModifier.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/HeightModifier.cs index b8a281063..772425fab 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/HeightModifier.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/HeightModifier.cs @@ -3,7 +3,7 @@ namespace Mapbox.Unity.MeshGeneration.Modifiers using System.Collections.Generic; using UnityEngine; using Mapbox.Unity.MeshGeneration.Data; - + public enum ExtrusionType { Wall, @@ -19,6 +19,8 @@ public enum ExtrusionType [CreateAssetMenu(menuName = "Mapbox/Modifiers/Height Modifier")] public class HeightModifier : MeshModifier { + [SerializeField] + private bool _flatTops; [SerializeField] private float _height; [SerializeField] @@ -26,42 +28,59 @@ public class HeightModifier : MeshModifier public override ModifierType Type { get { return ModifierType.Preprocess; } } - public override void Run(VectorFeatureUnity feature, MeshData md) + public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null) { - if (md.Vertices.Count == 0) + if (md.Vertices.Count == 0 || feature == null || feature.Points.Count < 1) return; + var minHeight = 0f; float hf = _height; - if (feature != null) + if (!_forceHeight) { - if (!_forceHeight) + if (feature.Properties.ContainsKey("height")) { - if (feature.Properties.ContainsKey("height")) + if (float.TryParse(feature.Properties["height"].ToString(), out hf)) { - if (float.TryParse(feature.Properties["height"].ToString(), out hf)) + if (feature.Properties.ContainsKey("min_height")) { - if (feature.Properties.ContainsKey("min_height")) - { - hf -= float.Parse(feature.Properties["min_height"].ToString()); - } + minHeight = float.Parse(feature.Properties["min_height"].ToString()); + hf -= minHeight; } } - if (feature.Properties.ContainsKey("ele")) + } + if (feature.Properties.ContainsKey("ele")) + { + if (float.TryParse(feature.Properties["ele"].ToString(), out hf)) { - if (float.TryParse(feature.Properties["ele"].ToString(), out hf)) - { - } } } } - - for (int i = 0; i < md.Vertices.Count; i++) + var max = md.Vertices[0].y; + var min = md.Vertices[0].y; + if (_flatTops) { - md.Vertices[i] = new Vector3(md.Vertices[i].x, md.Vertices[i].y + hf, md.Vertices[i].z); + for (int i = 0; i < md.Vertices.Count; i++) + { + if (md.Vertices[i].y > max) + max = md.Vertices[i].y; + else if (md.Vertices[i].y < min) + min = md.Vertices[i].y; + } + for (int i = 0; i < md.Vertices.Count; i++) + { + md.Vertices[i] = new Vector3(md.Vertices[i].x, max + minHeight + hf, md.Vertices[i].z); + } + hf += max - min; } + else + { + for (int i = 0; i < md.Vertices.Count; i++) + { + md.Vertices[i] = new Vector3(md.Vertices[i].x, md.Vertices[i].y + minHeight + hf, md.Vertices[i].z); + } + } - var vertsStartCount = 0; var count = md.Vertices.Count; float d = 0f; Vector3 v1; @@ -71,15 +90,15 @@ public override void Run(VectorFeatureUnity feature, MeshData md) var wallTri = new List(); var wallUv = new List(); - for (int i = 1; i < count; i++) + for (int i = 0; i < md.Edges.Count; i+=2) { - v1 = md.Vertices[vertsStartCount + i - 1]; - v2 = md.Vertices[vertsStartCount + i]; + v1 = md.Vertices[md.Edges[i]]; + v2 = md.Vertices[md.Edges[i + 1]]; ind = md.Vertices.Count; md.Vertices.Add(v1); md.Vertices.Add(v2); - md.Vertices.Add(new Vector3(v1.x, md.Vertices[i].y - hf, v1.z)); - md.Vertices.Add(new Vector3(v2.x, md.Vertices[i].y - hf, v2.z)); + md.Vertices.Add(new Vector3(v1.x, v1.y - hf, v1.z)); + md.Vertices.Add(new Vector3(v2.x, v2.y - hf, v2.z)); d = (v2 - v1).magnitude; @@ -89,42 +108,17 @@ public override void Run(VectorFeatureUnity feature, MeshData md) wallUv.Add(new Vector2(d, -hf)); wallTri.Add(ind); - wallTri.Add(ind + 2); wallTri.Add(ind + 1); + wallTri.Add(ind + 2); wallTri.Add(ind + 1); - wallTri.Add(ind + 2); wallTri.Add(ind + 3); + wallTri.Add(ind + 2); } - - v1 = md.Vertices[vertsStartCount]; - v2 = md.Vertices[vertsStartCount + count - 1]; - ind = md.Vertices.Count; - md.Vertices.Add(v1); - md.Vertices.Add(v2); - md.Vertices.Add(new Vector3(v1.x, md.Vertices[ind].y - hf, v1.z)); - md.Vertices.Add(new Vector3(v2.x, md.Vertices[ind].y - hf, v2.z)); - - d = (v2 - v1).magnitude; - - wallUv.Add(new Vector2(0, 0)); - wallUv.Add(new Vector2(d, 0)); - wallUv.Add(new Vector2(0, -hf)); - wallUv.Add(new Vector2(d, -hf)); - - wallTri.Add(ind); - wallTri.Add(ind + 1); - wallTri.Add(ind + 2); - - wallTri.Add(ind + 1); - wallTri.Add(ind + 3); - wallTri.Add(ind + 2); - - md.Triangles.Add(wallTri); - md.UV[0].AddRange(wallUv); + } } } diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/LineMeshModifier.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/LineMeshModifier.cs index 294172414..6992027af 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/LineMeshModifier.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/LineMeshModifier.cs @@ -19,76 +19,90 @@ public class LineMeshModifier : MeshModifier private float Width; public override ModifierType Type { get { return ModifierType.Preprocess; } } - public override void Run(VectorFeatureUnity feature, MeshData md) + public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null) { - if (md.Vertices.Count < 2) + if (feature.Points.Count < 1) return; - var count = md.Vertices.Count; - var newVerticeList = new Vector3[count * 2]; - var uvList = new Vector2[count * 2]; - - Vector3 norm; - var lastUv = 0f; - var p1 = Vector3.zero; - var p2 = Vector3.zero; - var p3 = Vector3.zero; - for (int i = 1; i < count; i++) + foreach (var roadSegment in feature.Points) { - p1 = md.Vertices[i - 1]; - p2 = md.Vertices[i]; - p3 = p2; - if (i + 1 < md.Vertices.Count) - p3 = md.Vertices[i + 1]; - - if (i == 1) + var count = roadSegment.Count; + for (int i = 1; i < count*2; i++) { - norm = GetNormal(p1, p1, p2) * Width; //road width - newVerticeList[0] = (p1 + norm); - newVerticeList[count * 2 - 1] = (p1 - norm); - uvList[0] = new Vector2(0, 0); - uvList[count * 2 - 1] = new Vector2(1, 0); + md.Edges.Add(md.Vertices.Count + i); + md.Edges.Add(md.Vertices.Count + i - 1); } - var dist = Vector3.Distance(p1, p2); - lastUv += dist; - norm = GetNormal(p1, p2, p3) * Width; - newVerticeList[i] = (p2 + norm); - newVerticeList[2 * count - 1 - i] = (p2 - norm); + md.Edges.Add(md.Vertices.Count); + md.Edges.Add(md.Vertices.Count + (count*2) - 1); - uvList[i] = new Vector2(0, lastUv); - uvList[2 * count - 1 - i] = new Vector2(1, lastUv); - } + var newVerticeList = new Vector3[count * 2]; + var uvList = new Vector2[count * 2]; + Vector3 norm; + var lastUv = 0f; + var p1 = Vector3.zero; + var p2 = Vector3.zero; + var p3 = Vector3.zero; + for (int i = 1; i < count; i++) + { + p1 = roadSegment[i - 1]; + p2 = roadSegment[i]; + p3 = p2; + if (i + 1 < roadSegment.Count) + p3 = roadSegment[i + 1]; - if (_mergeStartEnd) - { - //brnkhy -2 because first and last items are same - p1 = md.Vertices[count - 2]; - p2 = md.Vertices[0]; - p3 = md.Vertices[1]; + if (i == 1) + { + norm = GetNormal(p1, p1, p2) * Width; //road width + newVerticeList[0] = (p1 + norm); + newVerticeList[count * 2 - 1] = (p1 - norm); + uvList[0] = new Vector2(0, 0); + uvList[count * 2 - 1] = new Vector2(1, 0); + } + var dist = Vector3.Distance(p1, p2); + lastUv += dist; + norm = GetNormal(p1, p2, p3) * Width; + newVerticeList[i] = (p2 + norm); + newVerticeList[2 * count - 1 - i] = (p2 - norm); + + uvList[i] = new Vector2(0, lastUv); + uvList[2 * count - 1 - i] = new Vector2(1, lastUv); + } - norm = GetNormal(p1, p2, p3) * Width; - newVerticeList[count - 1] = p2 + norm; - newVerticeList[0] = p2 + norm; - newVerticeList[count] = p2 - norm; - newVerticeList[2 * count - 1] = p2 - norm; - } + //if (_mergeStartEnd) + //{ + // //brnkhy -2 because first and last items are same + // p1 = segment[count - 2]; + // p2 = segment[0]; + // p3 = segment[1]; - md.Vertices = newVerticeList.ToList(); - md.UV[0].AddRange(uvList); - var lineTri = new List(); - var n = md.Vertices.Count / 2; + // norm = GetNormal(p1, p2, p3) * Width; + // newVerticeList[count - 1] = p2 + norm; + // newVerticeList[0] = p2 + norm; + // newVerticeList[count] = p2 - norm; + // newVerticeList[2 * count - 1] = p2 - norm; + //} - for (int i = 0; i < n - 1; i++) - { - lineTri.Add(i); - lineTri.Add(i + 1); - lineTri.Add(2 * n - 1 - i); + var pcount = md.Vertices.Count; + md.Vertices.AddRange(newVerticeList); + md.UV[0].AddRange(uvList); + var lineTri = new List(); + var n = count; - lineTri.Add(i + 1); - lineTri.Add(2 * n - i - 2); - lineTri.Add(2 * n - i - 1); - } - md.Triangles.Add(lineTri); + for (int i = 0; i < n - 1; i++) + { + lineTri.Add(pcount + i); + lineTri.Add(pcount + i + 1); + lineTri.Add(pcount + 2 * n - 1 - i); + + lineTri.Add(pcount + i + 1); + lineTri.Add(pcount + 2 * n - i - 2); + lineTri.Add(pcount + 2 * n - i - 1); + } + + if (md.Triangles.Count < 1) + md.Triangles.Add(new List()); + md.Triangles[0].AddRange(lineTri); + } } private Vector3 GetNormal(Vector3 p1, Vector3 newPos, Vector3 p2) diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/PolygonMeshModifier.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/PolygonMeshModifier.cs index 3ae3edc2d..34f2b5fb7 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/PolygonMeshModifier.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/PolygonMeshModifier.cs @@ -6,6 +6,9 @@ namespace Mapbox.Unity.MeshGeneration.Modifiers using TriangleNet.Geometry; using UnityEngine; using Mapbox.Unity.MeshGeneration.Data; + using TriangleNet.Meshing; + using System; + using TriangleNet.Smoothing; /// /// Polygon modifier creates the polygon (vertex&triangles) using the original vertex list. @@ -15,41 +18,112 @@ namespace Mapbox.Unity.MeshGeneration.Modifiers public class PolygonMeshModifier : MeshModifier { public override ModifierType Type { get { return ModifierType.Preprocess; } } + private ConstraintOptions options; + private QualityOptions quality; - public override void Run(VectorFeatureUnity feature, MeshData md) + public void OnEnable() { - if (md.Vertices.Distinct().Count() < 3) + options = new ConstraintOptions() { ConformingDelaunay = true }; + quality = new QualityOptions() { MinimumAngle = 25.0 }; + quality.MaximumArea = 100; + } + + public bool IsClockwise(IList vertices) + { + double sum = 0.0; + for (int i = 0; i < vertices.Count; i++) + { + Vector3 v1 = vertices[i]; + Vector3 v2 = vertices[(i + 1) % vertices.Count]; // % is the modulo operator + sum += (v2.x - v1.x) * (v2.z + v1.z); + } + return sum > 0.0; + } + + public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null) + { + if (feature.Points[0].Count() < 3) return; var data = new List(); - var _mesh = new TriangleNet.Mesh(); - var inp = new InputGeometry(md.Vertices.Count); - for (int i = 0; i < md.Vertices.Count; i++) + var polygon = new Polygon(); + Vertex firstVert = null; + Vertex nextVert = null; + Vertex currentVert = null; + + foreach (var sub in feature.Points) + { + if (IsClockwise(sub)) + { + nextVert = null; + var wist = new List(); + for (int i = 0; i < sub.Count; i++) + { + if (nextVert == null) + { + currentVert = new Vertex(sub[i].x, sub[i].y, sub[i].z); + nextVert = new Vertex(sub[i + 1].x, sub[i].y, sub[i + 1].z); + } + else + { + currentVert = nextVert; + if (i == sub.Count - 1) + { + nextVert = firstVert; + } + else + { + nextVert = new Vertex(sub[i + 1].x, sub[i + 1].y, sub[i + 1].z); + } + } + + if (i == 0) + firstVert = currentVert; + + wist.Add(sub[i]); + polygon.Add(currentVert); + polygon.Add(new Segment(currentVert, nextVert)); + } + } + else + { + var cont = new List(); + var wist = new List(); + for (int i = 0; i < sub.Count; i++) + { + wist.Add(sub[i]); + cont.Add(new Vertex(sub[i].x, sub[i].y, sub[i].z)); + } + polygon.Add(new Contour(cont), true); + } + } + + var mesh = polygon.Triangulate(); + //smoother mesh with smaller triangles and extra vertices in the middle + //var mesh = (TriangleNet.Mesh)polygon.Triangulate(options, quality); + + foreach (var tri in mesh.Triangles) { - var v = md.Vertices[i]; - inp.AddPoint(v.x, v.z); - inp.AddSegment(i, (i + 1) % md.Vertices.Count); + data.Add(tri.GetVertexID(0)); + data.Add(tri.GetVertexID(2)); + data.Add(tri.GetVertexID(1)); } - _mesh.Behavior.Algorithm = TriangulationAlgorithm.SweepLine; - _mesh.Behavior.Quality = true; - _mesh.Triangulate(inp); - foreach (var tri in _mesh.Triangles) + foreach (var edge in mesh.Edges) { - data.Add(tri.P1); - data.Add(tri.P0); - data.Add(tri.P2); + if (edge.Label == 0) + continue; + + md.Edges.Add(edge.P0); + md.Edges.Add(edge.P1); } - if (_mesh.Vertices.Count != md.Vertices.Count) + md.Vertices.Clear(); + using (var sequenceEnum = mesh.Vertices.GetEnumerator()) { - md.Vertices.Clear(); - using (var sequenceEnum = _mesh.Vertices.GetEnumerator()) + while (sequenceEnum.MoveNext()) { - while (sequenceEnum.MoveNext()) - { - md.Vertices.Add(new Vector3((float)sequenceEnum.Current.x, 0, (float)sequenceEnum.Current.y)); - } + md.Vertices.Add(new Vector3((float)sequenceEnum.Current.x, (float)sequenceEnum.Current.z, (float)sequenceEnum.Current.y)); } } md.Triangles.Add(data); diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/SmoothLineModifier.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/SmoothLineModifier.cs new file mode 100644 index 000000000..e83ca71b9 --- /dev/null +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/SmoothLineModifier.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using Mapbox.Unity.MeshGeneration.Data; + +namespace Mapbox.Unity.MeshGeneration.Modifiers +{ + [CreateAssetMenu(menuName = "Mapbox/Modifiers/Smooth Line Modifier")] + public class SmoothLineModifier : MeshModifier + { + public override ModifierType Type { get { return ModifierType.Preprocess; } } + + public int _maxEdgeSectionCount = 40; + public int _preferredEdgeSectionLength = 10; + + public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null) + { + for (int i = 0; i < feature.Points.Count; i++) + { + var nl = new List(); + for (int j = 1; j < feature.Points[i].Count; j++) + { + nl.Add(feature.Points[i][j - 1]); + var dist = Vector3.Distance(feature.Points[i][j - 1], feature.Points[i][j]); + var step = Math.Min(_maxEdgeSectionCount, dist / _preferredEdgeSectionLength); + if (step > 1) + { + var counter = 1; + while (counter < step) + { + var nv = Vector3.Lerp(feature.Points[i][j - 1], feature.Points[i][j], Mathf.Min(1, counter / step)); + nl.Add(nv); + counter++; + } + } + nl.Add(feature.Points[i][j]); + } + feature.Points[i] = nl; + } + } + } +} diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/SmoothLineModifier.cs.meta b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/SmoothLineModifier.cs.meta new file mode 100644 index 000000000..b73eecef0 --- /dev/null +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/SmoothLineModifier.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9558f79dbf9b00d488e061a68f8394aa +timeCreated: 1492731089 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainModifier.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainModifier.cs new file mode 100644 index 000000000..dc04bd4cc --- /dev/null +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainModifier.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using Mapbox.Unity.MeshGeneration.Data; + +namespace Mapbox.Unity.MeshGeneration.Modifiers +{ + [CreateAssetMenu(menuName = "Mapbox/Modifiers/Snap Terrain Modifier")] + public class SnapTerrainModifier : MeshModifier + { + public override ModifierType Type { get { return ModifierType.Preprocess; } } + + public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null) + { + if (md.Vertices.Count > 0) + { + for (int i = 0; i < md.Vertices.Count; i++) + { + var h = tile.QueryHeightData((float)((md.Vertices[i].x + tile.Rect.Size.x / 2) / tile.Rect.Size.x), (float)((md.Vertices[i].z + tile.Rect.Size.y / 2) / tile.Rect.Size.y)); + md.Vertices[i] += new Vector3(0, h, 0); + } + } + else + { + foreach (var sub in feature.Points) + { + for (int i = 0; i < sub.Count; i++) + { + var h = tile.QueryHeightData((float)((sub[i].x + tile.Rect.Size.x / 2) / tile.Rect.Size.x), (float)((sub[i].z + tile.Rect.Size.y / 2) / tile.Rect.Size.y)); + sub[i] += new Vector3(0, h, 0); + } + } + } + } + } +} diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainModifier.cs.meta b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainModifier.cs.meta new file mode 100644 index 000000000..cca88cb75 --- /dev/null +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainModifier.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 40bee3110109c0848bb86c9b5c436039 +timeCreated: 1492732222 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/UvModifier.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/UvModifier.cs index 6418f16bf..65608ea00 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/UvModifier.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/MeshModifiers/UvModifier.cs @@ -14,7 +14,7 @@ public class UvModifier : MeshModifier public override ModifierType Type { get { return ModifierType.Preprocess; } } public bool UseSatelliteRoof = false; - public override void Run(VectorFeatureUnity feature, MeshData md) + public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null) { var uv = new List(); foreach (var c in md.Vertices) diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/ModifierStack.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/ModifierStack.cs index 5664175db..8bd9d320b 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/ModifierStack.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/ModifierStack.cs @@ -20,7 +20,7 @@ public override GameObject Execute(UnityTile tile, VectorFeatureUnity feature, M { foreach (MeshModifier mod in MeshModifiers.Where(x => x.Active)) { - mod.Run(feature, meshData); + mod.Run(feature, meshData, tile); } var go = CreateGameObject(meshData, parent); diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/ModifierStackBase.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/ModifierStackBase.cs index fac59d67d..a17dc1a05 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/ModifierStackBase.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Modifiers/ModifierStackBase.cs @@ -2,11 +2,22 @@ using System.Collections; using Mapbox.Map; using Mapbox.Unity.MeshGeneration.Data; +using System.Collections.Generic; namespace Mapbox.Unity.MeshGeneration.Modifiers { - public abstract class ModifierStackBase : ScriptableObject + public class ModifierStackBase : ScriptableObject { - public abstract GameObject Execute(UnityTile tile, VectorFeatureUnity feature, MeshData meshData, GameObject parent = null, string type = ""); + [SerializeField] + private List _baseModifiers; + + public virtual GameObject Execute(UnityTile tile, VectorFeatureUnity feature, MeshData meshData, GameObject parent = null, string type = "") + { + foreach (var mod in _baseModifiers) + { + mod.Run(feature, meshData, tile); + } + return null; + } } } \ No newline at end of file diff --git a/sdkproject/Assets/Mapbox/Examples/Drive/Drive.unity b/sdkproject/Assets/Mapbox/Examples/Drive/Drive.unity index 522d5fe8e..7309fe2ac 100644 --- a/sdkproject/Assets/Mapbox/Examples/Drive/Drive.unity +++ b/sdkproject/Assets/Mapbox/Examples/Drive/Drive.unity @@ -186,6 +186,7 @@ MonoBehaviour: LatLng: 37.781169, -122.409955 Zoom: 16 Range: {x: 1, y: 1, z: 1, w: 1} + Root: {fileID: 0} --- !u!4 &199863781 Transform: m_ObjectHideFlags: 0 @@ -306,7 +307,6 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: MapController: {fileID: 199863780} - MapVisualization: {fileID: 11400000, guid: 4f4961d6f3e45f84f99bda9cdc9dbb2b, type: 2} Directions: {fileID: 11400000, guid: d370b4703777f8c48b26eead134f2edb, type: 2} Waypoints: - {fileID: 1553875871} diff --git a/sdkproject/Assets/Mapbox/Examples/Drive/Imagery/DriveImageFactory.asset b/sdkproject/Assets/Mapbox/Examples/Drive/Imagery/DriveImageFactory.asset index fec775533..9f66b7e17 100644 --- a/sdkproject/Assets/Mapbox/Examples/Drive/Imagery/DriveImageFactory.asset +++ b/sdkproject/Assets/Mapbox/Examples/Drive/Imagery/DriveImageFactory.asset @@ -11,6 +11,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 2b10536479dade041b6db9893fdf723a, type: 3} m_Name: DriveImageFactory m_EditorClassIdentifier: - _createImagery: 1 + _mapIdType: 0 + _customMapId: _mapId: mapbox://styles/mapbox/dark-v9 _baseMaterial: {fileID: 2100000, guid: 06b583c58078c164eb45358a14a5c66b, type: 2} diff --git a/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/DriveBuildingHeight.asset b/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/DriveBuildingHeight.asset index b06bf192e..13a8f659b 100644 --- a/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/DriveBuildingHeight.asset +++ b/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/DriveBuildingHeight.asset @@ -12,7 +12,6 @@ MonoBehaviour: m_Name: DriveBuildingHeight m_EditorClassIdentifier: Active: 1 + _flatTops: 1 _height: 0 _forceHeight: 0 - _closeEnd: 0 - _flatTop: 0 diff --git a/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/DriveMergedBuildingStack.asset b/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/DriveMergedBuildingStack.asset index a153d6b9d..97f2835e7 100644 --- a/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/DriveMergedBuildingStack.asset +++ b/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/DriveMergedBuildingStack.asset @@ -11,7 +11,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ef7239c46ddb6ab469994291c9603c01, type: 3} m_Name: DriveMergedBuildingStack m_EditorClassIdentifier: + _baseModifiers: [] MeshModifiers: + - {fileID: 11400000, guid: 5d2129c4f45752d449951b9f6e8f5c3f, type: 2} - {fileID: 11400000, guid: 8d03f81530c3c1f4f9b1df48c9480748, type: 2} - {fileID: 11400000, guid: 43492f8eaa132d044995aecfc9c08b6e, type: 2} - {fileID: 11400000, guid: ead6d9ed3e6317b47a3719e7dfad3bcf, type: 2} diff --git a/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/SmoothLineModifier.asset b/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/SmoothLineModifier.asset new file mode 100644 index 000000000..42369f76a --- /dev/null +++ b/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/SmoothLineModifier.asset @@ -0,0 +1,16 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9558f79dbf9b00d488e061a68f8394aa, type: 3} + m_Name: SmoothLineModifier + m_EditorClassIdentifier: + Active: 1 + _maxEdgeSectionCount: 40 + _preferredEdgeSectionLength: 10 diff --git a/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/SmoothLineModifier.asset.meta b/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/SmoothLineModifier.asset.meta new file mode 100644 index 000000000..f2f9ad587 --- /dev/null +++ b/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/SmoothLineModifier.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0247f2e2a5a28d2479bf753faa6a5020 +timeCreated: 1492731122 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/SnapTerrainModifier.asset b/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/SnapTerrainModifier.asset new file mode 100644 index 000000000..4cb7ad18a --- /dev/null +++ b/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/SnapTerrainModifier.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40bee3110109c0848bb86c9b5c436039, type: 3} + m_Name: SnapTerrainModifier + m_EditorClassIdentifier: + Active: 1 diff --git a/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/SnapTerrainModifier.asset.meta b/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/SnapTerrainModifier.asset.meta new file mode 100644 index 000000000..ed27f0acc --- /dev/null +++ b/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingStyle/SnapTerrainModifier.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5d2129c4f45752d449951b9f6e8f5c3f +timeCreated: 1492732239 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingVisualizer.asset b/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingVisualizer.asset index 3320fdf15..70874cfd3 100644 --- a/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingVisualizer.asset +++ b/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveBuildingVisualizer.asset @@ -16,6 +16,4 @@ MonoBehaviour: _key: building Filters: [] _defaultStack: {fileID: 11400000, guid: 571ce5811f4b94246b9d4c96499d61b7, type: 2} - Stacks: - - Type: default - Stack: {fileID: 11400000, guid: 571ce5811f4b94246b9d4c96499d61b7, type: 2} + Stacks: [] diff --git a/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveMeshFactory.asset b/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveMeshFactory.asset index 5dd5dba0f..807149517 100644 --- a/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveMeshFactory.asset +++ b/sdkproject/Assets/Mapbox/Examples/Drive/Mesh/DriveMeshFactory.asset @@ -13,5 +13,5 @@ MonoBehaviour: m_EditorClassIdentifier: _mapId: mapbox.mapbox-traffic-v1,mapbox.mapbox-streets-v7 Visualizers: - - {fileID: 11400000, guid: 3a02dddaa897fd444b76d6ed1339dab6, type: 2} - {fileID: 11400000, guid: 960fc9b7bdbc4f24b860f10bdfd7c165, type: 2} + - {fileID: 11400000, guid: 3a02dddaa897fd444b76d6ed1339dab6, type: 2} diff --git a/sdkproject/Assets/Mapbox/Examples/Drive/Terrain/DriveTerrain.asset b/sdkproject/Assets/Mapbox/Examples/Drive/Terrain/DriveTerrain.asset index 6f2d2910b..edb5146d9 100644 --- a/sdkproject/Assets/Mapbox/Examples/Drive/Terrain/DriveTerrain.asset +++ b/sdkproject/Assets/Mapbox/Examples/Drive/Terrain/DriveTerrain.asset @@ -11,8 +11,10 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 8338f26893d62c1439f387800a8e1c9a, type: 3} m_Name: DriveTerrain m_EditorClassIdentifier: - _createFlatBase: 0 - _createRealTerrain: 1 + _generationType: 0 + _baseMaterial: {fileID: 0} + _mapIdType: 0 + _customMapId: mapbox.terrain-rgb _mapId: mapbox.terrain-rgb - _material: {fileID: 2100000, guid: d59af6ef7d16a004eabbf169fe7d6995, type: 2} - sampleCount: 40 + _heightModifier: 1 + _sampleCount: 40 diff --git a/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/BuildingModifierStack/BuildingLayerModifier.asset b/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/BuildingModifierStack/BuildingLayerModifier.asset new file mode 100644 index 000000000..ef2e6f107 --- /dev/null +++ b/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/BuildingModifierStack/BuildingLayerModifier.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a4644f4fa4408d144a9c7927401f3807, type: 3} + m_Name: BuildingLayerModifier + m_EditorClassIdentifier: + Active: 1 + _layerId: 10 diff --git a/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/BuildingModifierStack/BuildingLayerModifier.asset.meta b/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/BuildingModifierStack/BuildingLayerModifier.asset.meta new file mode 100644 index 000000000..4ec1c5e03 --- /dev/null +++ b/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/BuildingModifierStack/BuildingLayerModifier.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0e9403508685d6c4f98a9d95e8e79baa +timeCreated: 1494350247 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/BuildingModifierStack/ColliderModifier.asset b/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/BuildingModifierStack/ColliderModifier.asset new file mode 100644 index 000000000..24674c102 --- /dev/null +++ b/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/BuildingModifierStack/ColliderModifier.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 288d05a2dbabb0f46a5fa6c85102780a, type: 3} + m_Name: ColliderModifier + m_EditorClassIdentifier: + Active: 1 + _colliderType: 1 diff --git a/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/BuildingModifierStack/ColliderModifier.asset.meta b/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/BuildingModifierStack/ColliderModifier.asset.meta new file mode 100644 index 000000000..cc0c88c92 --- /dev/null +++ b/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/BuildingModifierStack/ColliderModifier.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b7b664c5d0b1dfd4ea8bf239a71912ef +timeCreated: 1494350935 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/RoadModifierStack/ClipperLineMeshModifier.asset b/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/RoadModifierStack/ClipperLineMeshModifier.asset new file mode 100644 index 000000000..9c3d224f7 --- /dev/null +++ b/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/RoadModifierStack/ClipperLineMeshModifier.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0f336c96bbad10f4188e275dd470363e, type: 3} + m_Name: ClipperLineMeshModifier + m_EditorClassIdentifier: + Active: 1 + Width: 5 diff --git a/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/RoadModifierStack/ClipperLineMeshModifier.asset.meta b/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/RoadModifierStack/ClipperLineMeshModifier.asset.meta new file mode 100644 index 000000000..427e81bf0 --- /dev/null +++ b/sdkproject/Assets/Mapbox/Examples/MeshGenerationBasics/MapVisualization/Factories/MeshFactory/RoadModifierStack/ClipperLineMeshModifier.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c4c1674e9b6d2d64181d7fa3cbcbb3bd +timeCreated: 1493309530 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/BuildingModifierStack/SnapTerrainModifier.asset b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/BuildingModifierStack/SnapTerrainModifier.asset new file mode 100644 index 000000000..4cb7ad18a --- /dev/null +++ b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/BuildingModifierStack/SnapTerrainModifier.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40bee3110109c0848bb86c9b5c436039, type: 3} + m_Name: SnapTerrainModifier + m_EditorClassIdentifier: + Active: 1 diff --git a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/BuildingModifierStack/SnapTerrainModifier.asset.meta b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/BuildingModifierStack/SnapTerrainModifier.asset.meta new file mode 100644 index 000000000..00c74e6d3 --- /dev/null +++ b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/BuildingModifierStack/SnapTerrainModifier.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f07994411a271a2488d65887412818b9 +timeCreated: 1492732239 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/BuildingModifierStack/TerrainDemoBuildingHeightModifier.asset b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/BuildingModifierStack/TerrainDemoBuildingHeightModifier.asset index 85af0667b..3e19a8594 100644 --- a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/BuildingModifierStack/TerrainDemoBuildingHeightModifier.asset +++ b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/BuildingModifierStack/TerrainDemoBuildingHeightModifier.asset @@ -12,5 +12,6 @@ MonoBehaviour: m_Name: TerrainDemoBuildingHeightModifier m_EditorClassIdentifier: Active: 1 + _flatTops: 1 _height: 0 _forceHeight: 0 diff --git a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/BuildingModifierStack/TerrainDemoDefaultBuildingStack.asset b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/BuildingModifierStack/TerrainDemoDefaultBuildingStack.asset index bc2710daa..6199079ff 100644 --- a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/BuildingModifierStack/TerrainDemoDefaultBuildingStack.asset +++ b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/BuildingModifierStack/TerrainDemoDefaultBuildingStack.asset @@ -11,7 +11,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3} m_Name: TerrainDemoDefaultBuildingStack m_EditorClassIdentifier: + _baseModifiers: [] MeshModifiers: + - {fileID: 11400000, guid: f07994411a271a2488d65887412818b9, type: 2} - {fileID: 11400000, guid: 22fdc44ee48832a4cb46adeb9123e5f7, type: 2} - {fileID: 11400000, guid: 99edcda8cdbf6da488c3da361c881bf8, type: 2} - {fileID: 11400000, guid: 941309cd0c1ac6949951075da621d483, type: 2} diff --git a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/Resources/TerrainRoadMaterial.mat b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/Resources/TerrainRoadMaterial.mat index daa854314..d6a27f638 100644 --- a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/Resources/TerrainRoadMaterial.mat +++ b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/Resources/TerrainRoadMaterial.mat @@ -121,7 +121,7 @@ Material: m_Colors: - first: name: _Color - second: {r: 1, g: 1, b: 1, a: 1} + second: {r: 0.6764706, g: 0.27357268, b: 0.6153412, a: 1} - first: name: _EmissionColor second: {r: 0, g: 0, b: 0, a: 1} diff --git a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/SnapTerrainModifier.asset b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/SnapTerrainModifier.asset new file mode 100644 index 000000000..4cb7ad18a --- /dev/null +++ b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/SnapTerrainModifier.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40bee3110109c0848bb86c9b5c436039, type: 3} + m_Name: SnapTerrainModifier + m_EditorClassIdentifier: + Active: 1 diff --git a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/SnapTerrainModifier.asset.meta b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/SnapTerrainModifier.asset.meta new file mode 100644 index 000000000..3031ff0e5 --- /dev/null +++ b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/SnapTerrainModifier.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 86a20dba8c16aaa4c9eeed167327a764 +timeCreated: 1494947833 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/TerrainDemoDefaultRoadStack.asset b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/TerrainDemoDefaultRoadStack.asset index 823d34e17..b96647ebb 100644 --- a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/TerrainDemoDefaultRoadStack.asset +++ b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/TerrainDemoDefaultRoadStack.asset @@ -11,7 +11,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3} m_Name: TerrainDemoDefaultRoadStack m_EditorClassIdentifier: + _baseModifiers: [] MeshModifiers: + - {fileID: 11400000, guid: 86a20dba8c16aaa4c9eeed167327a764, type: 2} - {fileID: 11400000, guid: 4ef2eed850b24404faac9fb8d49350a7, type: 2} - {fileID: 11400000, guid: c5ef3557587c7a445bc8022429cc74bf, type: 2} GoModifiers: diff --git a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/TerrainDemoRoadHeightModifier.asset b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/TerrainDemoRoadHeightModifier.asset index 847679374..8d1051783 100644 --- a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/TerrainDemoRoadHeightModifier.asset +++ b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/TerrainDemoRoadHeightModifier.asset @@ -12,5 +12,6 @@ MonoBehaviour: m_Name: TerrainDemoRoadHeightModifier m_EditorClassIdentifier: Active: 1 - _height: 1 - _forceHeight: 0 + _flatTops: 0 + _height: 21 + _forceHeight: 1 diff --git a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/TerrainDemoRoadLineModifier.asset b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/TerrainDemoRoadLineModifier.asset index 62d397dfc..0b74270ce 100644 --- a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/TerrainDemoRoadLineModifier.asset +++ b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/MeshFactory/RoadModifierStack/TerrainDemoRoadLineModifier.asset @@ -13,4 +13,4 @@ MonoBehaviour: m_EditorClassIdentifier: Active: 1 _mergeStartEnd: 0 - Width: 3 + Width: 22 diff --git a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/TerrainDemoTerrainFactory.asset b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/TerrainDemoTerrainFactory.asset index e2e0565fe..343256387 100644 --- a/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/TerrainDemoTerrainFactory.asset +++ b/sdkproject/Assets/Mapbox/Examples/SlippyVectorTerrain/Factories/TerrainDemoTerrainFactory.asset @@ -17,4 +17,4 @@ MonoBehaviour: _customMapId: mapbox.terrain-rgb _mapId: mapbox.terrain-rgb _heightModifier: 1 - _sampleCount: 40 + _sampleCount: 80