Пример #1
0
        /// <summary>
        /// Change terrain layer settings.
        /// </summary>
        /// <param name="dataSource">The data source for the terrain height map.</param>
        /// <param name="elevationType">Mesh generation strategy for the tile/height.</param>
        /// <param name="enableCollider">Enable/Disable collider component for the tile game object.</param>
        /// <param name="factor">Multiplier for the height data.</param>
        /// <param name="layerId">Unity Layer for the tile game object.</param>
        public virtual void SetProperties(ElevationSourceType dataSource   = ElevationSourceType.MapboxTerrain,
                                          ElevationLayerType elevationType = ElevationLayerType.TerrainWithElevation,
                                          bool enableCollider = false,
                                          float factor        = 1,
                                          int layerId         = 0)
        {
            if (_layerProperty.sourceType != dataSource ||
                _layerProperty.elevationLayerType != elevationType)
            {
                _layerProperty.sourceType         = dataSource;
                _layerProperty.elevationLayerType = elevationType;
                _layerProperty.HasChanged         = true;
            }

            if (_layerProperty.colliderOptions.addCollider != enableCollider)
            {
                _layerProperty.colliderOptions.addCollider = enableCollider;
                _layerProperty.colliderOptions.HasChanged  = true;
            }

            if (_layerProperty.requiredOptions.exaggerationFactor != factor)
            {
                _layerProperty.requiredOptions.exaggerationFactor = factor;
                _layerProperty.requiredOptions.HasChanged         = true;
            }

            if (_layerProperty.unityLayerOptions.layerId != layerId)
            {
                _layerProperty.unityLayerOptions.layerId    = layerId;
                _layerProperty.unityLayerOptions.HasChanged = true;
            }
        }
Пример #2
0
 /// <summary>
 /// Sets the main strategy for terrain mesh generation.
 /// Flat terrain doesn't pull data from servers and just uses a quad as terrain.
 /// </summary>
 /// <param name="elevationType">Type of the elevation strategy</param>
 public virtual void SetElevationType(ElevationLayerType elevationType)
 {
     if (_layerProperty.elevationLayerType != elevationType)
     {
         _layerProperty.elevationLayerType = elevationType;
         _layerProperty.HasChanged         = true;
     }
 }
Пример #3
0
        public void SetTerrainOptions(ElevationLayerType type, ElevationRequiredOptions requiredOptions = null, ElevationModificationOptions modificationOptions = null)
        {
            _layerProperty.elevationLayerType = type;
            Debug.Log("Terrain Type : " + _layerProperty.elevationLayerType);
            if (requiredOptions != null)
            {
                _layerProperty.requiredOptions = requiredOptions;
            }

            if (modificationOptions != null)
            {
                _layerProperty.modificationOptions = modificationOptions;
            }
        }