Skip to content

RazielSun/VelesPlugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VelesPlugin

Veles, also known as Volos, is a major god of earth, waters, livestock, and the underworld in Slavic paganism. Wikipedia

DEMO

https://youtu.be/Cqm3NdZCoLA

Information

This plugin is an education project based on video GPU-Based Run-Time Procedural Placement in Horizon: Zero Dawn I tried to reproduce this cool part from video.

Education program

Layers system World Data

  • I have a Paint Layer for custom drawing. Painted World Data
  • As a mask I can use Weightmaps from landscape
  • A World Data Layer is for generated specific maps (for example I tried to use Houdini to generate some mask in my test project)

Density map Here

  • Texture and source type (layer or weightmap)
  • A few scalar parameters for composing
  • I think about how I can optimize it (texture array)
  • Layer texture without mips (Horizon uses high mip for trees and lower for grass)
  • Different sizes (Horizon 64px per block)

Patterns

  • I tried 'Dither algorithm' and it's very interesting. But I didn't include it. Here
  • I have basics algorithms (Grid, Random and Blue Noise, Random Diamond variation)
  • I didn't fully understand what they do here with footprint. It's beautiful.
  • I generate several wavefronts and use a pattern as stamp like here

Placement

  • I use idx from wavefront for random, they used stencil? mask
  • I decided to use 3 vector4 instead matrix, maybe in the future..

Unreal GPU Compute Shaders

  • I used RDG (Render Dependency Graph) and didn't separate it
  • They have production pipeline, more complex and with dependencies Here

Spawning system

  • From readback I move data to Array of instances
  • I use HISMC with Actors per tile. I don't support World Partition Actors, but mb in the future..

Solving collision?

  • I didn't create 'solving collision' system from here

Known issues

  • Heightfield Z location from texture isn't correct when we have slopes
  • Don't use a normal vector from a landscape texture

About

UE 5.1 Plugin for runtime spawn assets

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published