• Stars
    star
    165
  • Rank 227,924 (Top 5 %)
  • Language
  • License
    MIT License
  • Created over 5 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

UE4 and Unity plugin to automatically add rubble in the nooks and crannies of your scene

Greebler

UE4 & Unity plugin to automatically add detail in the nooks and crannies of your scene

header

In her 2017 GDC presentation, Tracery developer Kate Compton talks of greebling and footing as two vital elements of believable environments. Greebling and footing is fine detailing added to the surface and cracks of a larger object that makes it appear more complex, and therefore more visually interesting. In games, this is often a vital part of the level art pass and most game developers have various takes on the practice (my personal favourite is Hidetaka Miyazaki's addiction to planting headstones all over the place.

While nowadays realtime mesh painting tools allow for impressive customization and complex detailing, the final greebling pass is often done manually and (to the pained cries of level artists) often requires touch-ups when (not if, when) the level design changes. With this engine-agnostic plugin, you can now simply set a bounding volume, throw in the meshes you'd like to use and you will then be able to interactively instance them all over the map (while also being able to control values like noise magnitude, mesh orientation and density).

Usage - Unity

unityspawn

The package installed, simply navigate to the new Tools/Spawn Greebler menu item to spawn the greebler manager object in the scene. If you have gizmos enable you should now see a bunch of black dots in the bounding volume - these are the preview locations for your greeble.

unitycomponent

You now have a new asset type, the Greeble Component. It's pretty self explanatory (message me if you still have issues) - this is essentially the asset type you use to populate your scene with the greeble manager.

unityspawn

You can tweak a few settings (if you're feeling anxious they all have in-engine tooltips):

  • Voxel Size: How dense should the generated previews and greeble be. Smaller numbers = higher detail
  • Noise Magnitude: Noise applied to the final spawn positions.
  • Footing Threshold: Higher values here will make greeble only appear in cracks. 3 is a good value, use 2 for stuff like grass.
  • Gravity Direction: Vector direction of where greeble will settle. Set to 0,1,0 for stalactites?
  • Drop Threshold: Voxel threshold to spawn greeble. Higher values = Higher density though you probably should just decrease voxel size.
  • Spawn Mask: Spawn mask to decide on which layers to spawn greeble.

When you're happy with the preview, press the Greeble button and your scene should get populated with meshes. If you're unhappy with it, press Reseed and keep tweaking!

unityresults

Per usual for detail meshes, remember to have them non-static and with a GPU instanced shader to save on performance. Don't feel guilty about dynamic meshes, that's what the Made with Unity did for the Book of the Dead foliage!

Usage - Unreal

unrealsettings

After setting up which static meshes you'd like to use in the static meshes array, you can tweak a few settings:

  • Voxel Size: How dense should the generated previews and greeble be. Smaller numbers = higher detail
  • Noise Magnitude: Noise applied to the final spawn positions.
  • Footing Threshold: Higher values here will make greeble only appear in cracks. 3 is a good value, use 2 for stuff like grass.
  • Gravity Direction: Vector direction of where greeble will settle. Set to 0,1,0 for stalactites?
  • Drop Threshold: Voxel threshold to spawn greeble. Higher values = Higher density though you probably should just decrease voxel size.

When you're happy with the preview, press the Greeble button and the plugin should pop out an instancedStaticMesh actor into your scene.

unrealresults

Install process

The repository is split for the two engines: the Plugin folder's for Unreal and the Packages folder for Unity.

Unity 2019.2

packman

This is a plugin that makes use of Unity's Package Manager feature. Just drop the com.alexismorin.greebler folder into your packages folder (found at the same level as the Assets folder) and it should work out-of-the-box. If you're using a pre-packman version of Unity (maybe supported, can be made to work if you're courageous), take the stuff inside the com.alexismorin.greebler folder and then drag it anywhere into your regular project hierarchy.

Unreal 4.22

plugins

Just drag the Greebler folder into your project's Plugins folder (create it at the same level as your content folder if you don't have one already) and open your project - things should work out by themselves.

Unreal will probably bicker if you don't, but you should also probably:

  • Turn on Blueprint Editor Utilities in your Editor preferences.
  • Raise your maximum loop iteration count to 5000000 in the project settings - the plugin needs to do a lot of number crunching when creating the point cloud and will trip out Unreal's infinite loop alarm system otherwise.

Bugs

Per usual, this was whipped up in a couple of hours on my couch (and a few on my bed here and there, give me a break) - bugs beware, tweak or fork as you wish πŸ‘¨πŸ»β€πŸŽ¨

  • Unity: Some stuff still spawns under large objects - not that much of a problem but could be a performance issue for larger projects

More Repositories

1

floorplan

A Sims-Like Unity Level Design Plugin
C#
251
star
2

Auto-Lightmap-Adjuster

UE4 & Unity plugin to Automatically adjust lightmap scale for meshes in your scene
C++
178
star
3

Light-Probe-Populator

Automatic Unity Light Probe Generation.
C#
152
star
4

Photosynthesizer

Unity plugin to procedurally sprout foliage throughout your scene.
ShaderLab
116
star
5

Editor-Physics-Simulation

Simulate Physics in the Unity Scene view
C#
70
star
6

A-Better-Actor

An Easily Directable AI Actor for Unreal & Unity Sequences
C#
54
star
7

OpenMocap

Roomscale VR Humanoid Motion Capture
C#
48
star
8

OpenFace-FACS-Unity-Facial-Animator

A Unity facial animation tool using the Facial Action Coding System
Python
43
star
9

Falloff-Customizer

Interactively adjust light falloff for Unity deferred rendering
HLSL
35
star
10

Simple-Unity-Sky

Simple Unity Sky Skybox with Clouds
35
star
11

Virtual-Filmback

An in-editor, Unity VR directing tool
C#
33
star
12

Salon

A Game-Ready Hair Authoring Tool
HLSL
33
star
13

Unity-VR-Hand-Tracking-Template

Unity Oculus Quest VR Hand Tracking Template
ShaderLab
33
star
14

Cityscaper

Unity Skybox Detail Geometry Tool
C#
31
star
15

Built-In-ISF

Inverse Square Falloff for Unity Default Lighting
HLSL
30
star
16

Screenwriter

Experimental Unity plugin to parse screenplays into sequences
C#
28
star
17

Spraypainter

Oculus Quest Graffiti
C#
18
star
18

Hydrogen-Bomb-Test-Dummy

Lighthearted Physics-Based Survival
C#
16
star
19

Pack-Vertex-Color-Data

One-click Maya solution to add useful vertex color data to your meshes
Python
16
star
20

maya-game-engine-autosetup

Maya one-command unit, axis and grid setup for Unreal & Unity
Python
15
star
21

Brickify

Maya script that turns geometry to bricks
Python
12
star
22

I-Just-Want-to-Play-Minigolf

Open Source Procedural VR Minigolf
C#
10
star
23

Experimental-Tool-Mondays-Facial-Motion-Capture

Facial Motion Capture Article and Sample Project
ShaderLab
10
star
24

Pavlov-Maps

Pavlov VR Custom Maps
9
star
25

Geosphere

A VR Love Letter to Event Horizon, Hellraiser and ZdzisΕ‚aw BeksiΕ„ski
C#
8
star
26

EmguCV-Facial-Landmarks-for-Unity

EmguCV / OpenCV Face Tracking Sample
C#
8
star
27

Shoegazer

VR Guitar Jam Session
ShaderLab
7
star
28

MergeVolume

UE4.21 tool to automatically merge large meshes and instance smaller ones
4
star
29

Find-Me

A Procedural Where's Wally
Mathematica
4
star
30

Animation-Bindings

Customizeable system to puppeteer animation inside of Unity
ShaderLab
3
star
31

Photo-Op

Android Virtual Camera Game
ShaderLab
3
star
32

greenfields

procedural low-res countryside sandbox
C#
2
star
33

Hallowed

UE 4.22 testbed project
2
star
34

Unity-Template

My personal non-VR Unity template
1
star
35

wear-down

maya python script to wear down shapes into old concrete
Python
1
star
36

Dragstar

ShaderLab
1
star