FastNoise C# and Unity released
FastNoise is a C++ noise generation library I designed for real-time terrain generation. Since the library has reached all my feature and performance goals, I decided to convert and release a C# version.
- Value Noise 2D, 3D
- Perlin Noise 2D, 3D
- Simplex Noise 2D, 3D, 4D
- Position Warping 2D, 3D
- Multiple fractal options for all of the above
- Cellular (Voronoi) Noise 2D, 3D
- White Noise 2D, 3D, 4D
- Noise Examples
Along with a pure C# version I wanted to create a Unity Asset featuring Unity editor integration and FastNoise SIMD support. FastNoise SIMD has a similar feature set to FastNoise but uses CPU intrinsic functions to process data in sets of 4/8, this gives around a 300-400% performance increase over FastNoise making it ideal for 3D terrain generation.
Features over pure C# version
- Unity editor integration with live noise preview
- Precompiled C++ libraries for FastNoise SIMD (Windows(32/64bit), Mac OSX(32/64bit), Linux(32/64bit))
- C# interface to use FastNoise SIMD libraries
- Voxel terrain engine
- Help support continued development of these open source noise libraries
The voxel terrain engine included in the Unity asset is designed as a learning tool for people starting out with voxels in Unity, while being fairly simple it is well designed for expansion and has a heavy focus on optimisation.
Unity Voxel Terrain Engine Features
- Chunk management system
- Infinite generation in all 3 axis
- Multi-threaded terrain generation
- Baked ambient occlusion
- Naive surface meshing
- Flexible classes allow easy customisation
- 5 different terrain generators
- Commented code to help people understand the workings of a voxel engine
Let me know if you have any ideas or questions!