Shader World
  • Shader World
    • Introduction
    • Features
  • Fundamentals
    • Kick-start
      • Detail panel
      • Surface material
      • Creating a new world
      • Display Shader World Collisions
      • PCG : Procedural Content Generation Framework
      • Get Height anywhere
      • Blueprint Brush System - Landmass
      • Smartphone/Tablet (Android&iOS)
      • Heightmap Import (16 bits Raw/PNG)
      • Debug IDs of Runtime Layers
    • Global Performance Monitoring
    • Roadmap
    • Get Shader World
    • Download a Demo
Powered by GitBook
On this page
  • A blueprint tool in BP folder of ShaderWorld plugin content
  • Heightmap Brush
  1. Fundamentals
  2. Kick-start

Heightmap Import (16 bits Raw/PNG)

PreviousSmartphone/Tablet (Android&iOS)NextDebug IDs of Runtime Layers

Last updated 2 years ago

A blueprint tool in BP folder of ShaderWorld plugin content

Drag and drop in your world the blueprint tool to import heightmaps, located inside ShaderWorld plugin content folder, at the root of the BP subfolder.

Simply Locate Heightmap File you wish to import, currently supported formats are 16 bits RAW and PNG. If your file format is RAW then you need to specify the dimension of the texture as this format does not hold this information. If your file format is PNG the heightmap dimensions should be automatically defined. Specify an output folder and a name for the heightmap and then press Import. The output file will split the 16 bits information between two channels. You can use BP/ToolBox/UVing/MF_BicubicPackedHeightmap to make a high quality bicubic read of this heightmap as featured in the Heightmap Brush BP/Brushes/Heightmap/M_HeightMapBrush

Heightmap Brush

A new brush has been added to Shader World: the heightmap brush ! which showcases a new capability of the brush system: to write into the data layers of the terrain.

While the brush system was previously able to only move the terrain around given the shader deformation defined in the material of the brush (read a texture to make a road, flatten a terrain, add a noise, etc…) brushes are now able to write into the landscape data layers.

As a reference implementation you can check.. Maps/Map_Reference !

The landscape BP_ShaderWorld_Reference has a dummy data layer named HeightLayer which doesn’t do anything (we could derive the normal map to generate curvature information?!) while the brush BP_Heightmap_Brush has specified this precise layer as a target in its Details panel Layer Write tab, as well as provided a material which will draw a flow map into this layer.

Examining BP/Brushes/Heightmap/M_HeightMapBrush_layer reveals that the flowmap is read as well as faded away at brush influence radius borders, and used to change the material of the terrain by editing the material ID stored in the Red Channel of the HeightLayer landscape layer. If Flowmap > 0.5 draw material 1, otherwise material 0.

This layer is then read in the landscape material as any layer BP_ShaderWorld_Reference: Cached Material, and we use its value to change the index of the material we’re reading from the ground material texture 2D arrays. (GroundDiffuse/GroundORDisp/GroundNormal).

Youtube Teaser