Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

_Note: If this is a bug or support ticket, please provide the following information:_
* Unity version:
* Scripting Runtime Version:
* Scripting Backend:
* Api Compatibility Level:
* Mapbox SDK version:
* The platform you're building to:
* A description of what you're trying to do:
Expand Down
29 changes: 28 additions & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -92,4 +92,31 @@ Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
limitations under the License.

============================================================================

Contains a portion of kd-sharp for C#
https://github.com/acgessler/kd-sharp

The MIT License (MIT)

Copyright (c) 2013, Original Committers

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
89 changes: 77 additions & 12 deletions documentation/docs/05-changelog.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,87 @@
## CHANGELOG
## CHANGELOG
### v.1.4.2
*05/14/2018*

##### New Features
- Layer names and property names are preloaded from the data source into a dropdown.
- Add `Location Prefabs` section to `AbstractMap`. Enables users to spawn prefabs at points-of-interest on the map directly from the `AbstractMap` UI.
- Add options to spawn prefabs on points-of-interest using `Mapbox Category`, `Name`, or a list of `Address or LatLon`.
- Add methods on `AbstractMap` to spawn prefabs. Enables users to add layers via script.
- Add the `LocationPrefabs.unity` example scene. Demonstrates the basics of using the `Location Prefabs` feature.
- Add `OnUpdated` event to `AbstractMap`. Enables subscribers to get a notification when the map location and/or zoom gets updated.
- `DeviceLocationProviderAndroidNative`: a native location provider for Android that directly accesses location and orientation provided by the operating system not using Unity's `Input.location` which has some shortcomings, eg coordinates truncated to `float` precision.
**Only available on Android 7.0 (Nougat, API Level 24) and up!**
- `EditorGpsLogLocationProvider`: an Editor location provider to replay real world GPS traces logged with [GNSSLogger](https://github.com/google/gps-measurement-tools/tree/master/GNSSLogger)
- New example scene showing `UserHeading` and `DeviceOrientation`

##### Improvements
- `UnityARInterface` updated to [commit 67351b6](https://github.com/Unity-Technologies/experimental-ARInterface/commit/67351b66ff9af28380e7dd5f5b2f4ba1bf802ca8) from March 1st 2018
- Additional properties on `RotateWithLocationProvider` to account for new `Location` properties `UserHeading` and `DeviceOrientation`.
- Changes to terrain factory (#623)
- Create a new base class
- Introduce all different terrains as strategies
- Change sidewalls as a property on elevated terrain strategy
- Data Fetching Changes (#622)
- Move data calls from factories to DataFetcher classes
- Factories register to events in DataFetchers
- `Layer Name` , `Extrusion Property Name` and `Filter Key` are now selectable dropdowns indicating the layers and properties available in the current `Data Source`. Layers and properties no longer require manual string entry.

#### Bug Fixes
- Added checks to prevent NRE in `GeocodeAttributeSearchWindow` when searching with an invalid token or no connection.
- Fix issue where side wall mesh generation did not work with elevated terrain.

#### Known Issues
- `Filters` with empty key or value parameters will exclude all features in a layer.
- SDK will throw `[Physics.PhysX] cleaning the mesh failed` error if a MapFeature is used with the following options: {Primitive Type: `Line`, LayerName: `Road`, Collider Type: `Mesh Collider`}

##### BREAKING CHANGES
- Property `Heading` on `Location` object has been split into `UserHeading` and `DeviceOrientation`.
- `UserHeading`: the direction the user is moving. This is calculated from the latest position. If the user stops moving the last heading value is kept.
- `DeviceOrientation`: value obtained from the device compass. Where the device is looking to.

### v.1.4.1
*04/17/2018*

##### New Features
- Add two new modules, KdTreeCollection and AddToCollection Gameobject modifier.
- Add Collider option for vector features.
- Add scale factor for extrusion value derived from feature property.
- Add camera script with zoom & pan support for TabletopAR scene.

##### Bug Fixes
- Remove `buildingsWithUniqueIds` setting for `Mapbox Streets` data source.
- Change `Style Name` to `Data Source`
- Fix to make filter values case insensitive.
- Fix issue where position vector features was not being set.
- Fix `Range Property` extrusion option for vector features.
- Select newly created layer visualizer.
- Fix typo in colorPalette.
- Add defaults for all sublayer properties to not carry over any options from the previous layer.
- Don't allow empty names for layer visualizers.
- Fix foldouts not retaining states between play mode & editor.
- Add missing tooltips.
- Fix issue with Satellite TextureType.
- Added a check to prevent NRE on tile update because map was not initialized.
- Added method to disable `InitializeOnStart` in the `Initialize With Location Provider` script.
- Fix loop counter in `SpawnInsidePrefabModifier` which was causing an infinite loop.

### v.1.4.0
*03/20/2018*

#####
- Drag and drop prefabs for most common use cases.
- Drag and drop prefabs for most common use cases.
- New Abstract Map UI
- Style development - colorization and atlas template generator
- Style development - colorization and atlas template generator
- Use texture atlas for building geometries.
- Merge buildings with unique ids using the experimental 3D buildings tileset.
- Merge buildings with unique ids using the experimental 3D buildings tileset.
- Added a API call on AbstractMap to query height at a certain latitude longitude.
- Included EditorConfig file to enforce coding style
- Integration of previously seperate AR support https://github.com/mapbox/mapbox-unity-sdk/pull/544

### v.1.3.0
*12/18/2017*

##### Upgrade Instructions
##### Upgrade Instructions
- As always, if you already have a project with a previous version of the SDK, please remove older versions before installing this new one!
- `FeatureBehaviour` is no longer added to feature gameobjects by default. Use a `FeatureBehaviourModifier` to add this component (optimization).
- `TextureModifier` is obsolete. Please use `MaterialModifier`.
Expand All @@ -31,7 +96,7 @@

##### New Features
- Added convenience methods to `AbstractMap` to convert between Lat/Lon ↔ Vector3. This also works for maps that have been translated, rotated, or scaled! #387
- Added tile error exception events that you can hook into to know when specific tiles fail to load. We provide an example `TileErrorHandler` object that logs these to console.
- Added tile error exception events that you can hook into to know when specific tiles fail to load. We provide an example `TileErrorHandler` object that logs these to console.
- Added C# wrapper for Mapbox Token API (to validate tokens).
- Added transparency shader for raster tiles—this enables you to convert black to alpha from Mapbox studio styles (to render just road labels, for example).
- Added new `LoftModifier`—use this to make complex geometry from line features.
Expand All @@ -43,7 +108,7 @@
##### Bug Fixes
- It should now be safe to nest the Mapbox folder (SDK) in your own projects.
- You can now properly change/load scenes at runtime. #381
- Fixed token validation issues (validate token when initializing `MapboxAccess`). #430
- Fixed token validation issues (validate token when initializing `MapboxAccess`). #430
- Custom inspectors now properly serialize assets assigned via built-in object browser.
- Fix for certain tile providers not updating properly when re-initializing a map.
- Fixed issue where clipped features would result in several new features. #398
Expand All @@ -67,7 +132,7 @@
- Array support to mock a specific route (`LocationArrayEditorLocationProvider`).
- Transform support on `EditorLocationProvider` to create simple offsets.
- Use Unity Remote app to send location updates directly to the Unity editor from your device!
- `DynamicZoom` example has been improved, see new `Zoomable` map example.
- `DynamicZoom` example has been improved, see new `Zoomable` map example.
- Added string to lat/lon conversion method.
- Various nodes in the map factory framework now have public fields to support run-time styling or modification before map generation (based on settings, for example).
- Maps now support float values for zoom level—you can use this to inform camera controllers, for example.
Expand Down Expand Up @@ -214,7 +279,7 @@
- Elevation textures are no longer held in memory and height data parsing and access is much faster
- Added new `FlatTerrainFactory` that is optimized specifically for flat maps
- Tiles can now be cached in memory—configure the cache size in `MapboxAccess.cs` (default size is 500)
- Slippy maps now dispose tiles that determined to be "out of range"
- Slippy maps now dispose tiles that determined to be "out of range"
- Tiles that are out of range before completion are properly cancelled
- Terrain generation in Unity 5.5+ should be much faster and allocate less memory

Expand Down Expand Up @@ -256,12 +321,12 @@
- Fixed issue where visualizers for `MeshFactories` were not being serialized properly
- Fixed null reference exception when creating a new `MeshFactory`

### v0.5.0
### v0.5.0

*04/26/2017*

- Added support for UWP
- Share your Hololens creations with us!
- Added support for UWP
- Share your Hololens creations with us!
- Fixed precision issue with tile conversions
- Replaced `Geocoordinate` with `Vector2d`
- Mapbox API Token is now stored in MapboxAccess.txt
Expand Down
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.37311953, g: 0.38074014, b: 0.3587274, a: 1}
m_IndirectSpecularColor: {r: 0.37311947, g: 0.38074005, b: 0.35872722, a: 1}
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
Expand Down Expand Up @@ -128,12 +128,17 @@ Prefab:
propertyPath: BackgroundMaterial
value:
objectReference: {fileID: 2100000, guid: 44aa46aeaaf4d46a79e18f3e2da31ccc, type: 2}
- target: {fileID: 114876698896786350, guid: c10877f7cd5764de18d46d7b777d1faa,
type: 2}
propertyPath: BackgroundMaterial
value:
objectReference: {fileID: 2100000, guid: 44aa46aeaaf4d46a79e18f3e2da31ccc, type: 2}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: c10877f7cd5764de18d46d7b777d1faa, type: 2}
m_IsPrefabParent: 0
--- !u!114 &273323148 stripped
--- !u!114 &517579873 stripped
MonoBehaviour:
m_PrefabParentObject: {fileID: 114923820857209294, guid: c10877f7cd5764de18d46d7b777d1faa,
m_PrefabParentObject: {fileID: 114876698896786350, guid: c10877f7cd5764de18d46d7b777d1faa,
type: 2}
m_PrefabInternal: {fileID: 60865845}
m_Script: {fileID: 11500000, guid: eb172c260d42e4f62945afda50892c0c, type: 3}
Expand Down Expand Up @@ -179,7 +184,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
TextureReaderComponent: {fileID: 1465104024}
BackgroundRenderer: {fileID: 273323148}
BackgroundRenderer: {fileID: 517579873}
--- !u!114 &1465104024
MonoBehaviour:
m_ObjectHideFlags: 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public class ComputerVisionController : MonoBehaviour
/// Background renderer to inject our texture into.
/// </summary>
public ARCoreBackgroundRenderer BackgroundRenderer;

/// <summary>
/// True if the app is in the process of quitting due to an ARCore connection error, otherwise false.
/// </summary>
Expand Down Expand Up @@ -71,6 +71,11 @@ public void Start()
/// </summary>
public void Update()
{
if (Input.GetKey(KeyCode.Escape))
{
Application.Quit();
}

_QuitOnConnectionErrors();
_HandleTouchInput();
}
Expand Down Expand Up @@ -179,7 +184,7 @@ private float _GetTouchDelta()
return 0;
}
}

/// <summary>
/// Actually quit the application.
/// </summary>
Expand All @@ -199,13 +204,13 @@ private void _QuitOnConnectionErrors()
}

// Quit if ARCore was unable to connect and give Unity some time for the toast to appear.
if (Session.ConnectionState == SessionConnectionState.UserRejectedNeededPermission)
if (Session.Status == SessionStatus.ErrorPermissionNotGranted)
{
_ShowAndroidToastMessage("Camera permission is needed to run this application.");
m_IsQuitting = true;
Invoke("DoQuit", 0.5f);
}
else if (Session.ConnectionState == SessionConnectionState.ConnectToServiceFailed)
else if (Session.Status == SessionStatus.FatalError)
{
_ShowAndroidToastMessage("ARCore encountered a problem connecting. Please start the app again.");
m_IsQuitting = true;
Expand Down
Loading