CW Nebula


DOCUMENTATION

What is CW Nebula?

CW Nebula is a pack of high detail nebula prefabs that can be added to the background of your 3D scenes.

You can place the prefabs anywhere in the sky, adjust their size, color, and other visual properties. Just keep in mind these are background-only objects, so you cannot fly toward them.



Is URP/HDRP supported?

This asset supports all 3 render pipelines (Standard, URP, HDRP) in a seamless way that automatically detects your current project settings, and makes the required modifications to the scene so they look similar.


Better Shaders

This compatibility was made possible using the Better Shaders system (not required).

The Better Shaders asset generates multiple variants of each shader ahead of time, so even if you don't have this asset you will still be able to have full render pipeline compatibility with this asset.

BetterShaders (and therefore this asset) currently supports:

Standard - All versions supported by this asset.

URP7.x in Unity 2019.3LTS

URP10.x in Unity 2020.3LTS

URP12.x in Unity 2021.2

URP14.x in Unity 2022.2->2022.3LTS

HDRP7.x in Unity 2019.3LTS

HDRP10.x in Unity 2020.3LTS

HDRP12.x in Unity 2021.3LTS

HDRP14.x in Unity 2022.2->2022.3LTS

Support for newer versions will appear when it does in this asset.




How do I add nebulas to my scene?


Step 1 - Background

Before you add background objects, make sure your scene has a GameObject with the CwBackground component attached.

NOTE  In your Project tab you can go to the Plugins/CW/Backgrounds/Required/Prefabs folder, find the Background prefab, and drag and drop it into your scene.


Step 2 - Nebulas

In your Project tab you can go to the Plugins/CW/Nebula/Prefabs folder, find the nebula prefab you want, and drag and drop it into your scene.

NOTE  You should drag this on top of the background GameObject created in step 1.


Step 3 - Adjust Settings

After you add the prefab to your scene, you can adjust its visual settings via the inspector.

To adjust the nebula's position in the sky, you can modify the Transform component's Rotation setting.

To adjust the nebula's size in the sky, you can modify the CwBackgroundTexture component's Arc setting.

To adjust the material settings you can find the CwBackgroundTexture component's MaterialOverrides setting, and click the Add button to a new one. For example, the _CW_AlbedoShift property can be overridden to change the nebula colors.



Step 4 - Done!

Enter play mode and enjoy the high detail nebula!




How do I add stars to my scene?


Step 1 - Add Stars

In your Project tab you can go to the Plugins/CW/Backgrounds/Required/Prefabs folder. Inside here you can find the Starfield1/2/3 and Sun1 prefabs. Pick the prefab you want, and drag and drop it into your scene.

NOTE  You should drag this on top of the background GameObject created in the previous section.


Step 2 - Done!

Enter play mode and enjoy the high detail stars!








Assets

Here's a list of all my other assets, please check them out!

You can also view this list on my Asset Store page.

Lean Touch

Lean Touch

Rapidly develop your game with consistent input across desktop & mobile using Lean Touch. This lightweight asset comes with many modular components, allowing you to customize them to your exact project needs!


Lean Touch+

Lean Touch+

Lean Touch+ is an extension to the popular Lean Touch asset, adding many more example scenes.


Lean Localization

Lean Localization

Lean Localization is a localization library that's designed to be as simple to use as possible for both designers, and programmers.


Lean Pool

Lean Pool

Quickly optimize the performance of your games using Lean Pool. Within minutes you can use this lightweight asset to preload, recycle, and limit the spawning of your prefabs.


Lean Transition

Lean Transition

Quickly polish your games using Lean Transition. This asset allows you to easily tween or animate almost anything in your game, making it transition smoothly.


Lean GUI

Lean GUI

Lean GUI is a colllection of components that extend Unity's GUI system, allowing you to rapidly enhance the user experience (UX) of your game's UI.


Lean GUI Shapes

Lean GUI Shapes

Lean GUI Shapes allows you to quickly add lines, rounded boxes, polygons, and much more to your GUI!


Lean Texture

Lean Texture

Lean Texture allows you quickly modify textures in your project with a range of filters, pack them together into channels, and much more!


Lean Texture+

Lean Texture+

Lean Texture+ is an extension to Lean Texture, adding many new types of texture modification tools!


CW Spaceships - Build & Destroy

Spaceships - Build & Destroy

Build your dream spaceship, and then have fun destroying it!


Modular Backgrounds

Modular Backgrounds

Unlock a universe of visual possibilities with Modular Backgrounds. Simply drag and drop these graphics into the background of your scenes.


Paint in 3D

Paint in 3D

Paint all your objects using Paint in 3D - both in game, and in editor. All features are optimized with GPU accelerated texture painting, so you can enjoy consistent performance, even if you paint your objects one million times!


Paint in 2D

Paint in 2D

Paint all your sprites with Paint in 2D. With incredible performance on mobile, WebGL, and much more!


Paint in Editor

Paint in Editor

Paint in Editor unlocks the ability to paint objects in your scene - great for making small tweaks, or even creating entirely new texture sets!


FLOW

FLOW

FLOW allows you to add large scale interactive fluids to your scene - all highly optimized using GPU acceleration.


Destructible 2D

Destructible 2D

Unlock the full potential of your 2D games using Destructible 2D, this asset allows you to quickly convert all your boring solid sprites into fully destructible ones!


Space Graphics Toolkit

Space Graphics Toolkit

Quickly make the space scene of your dreams using Space Graphics Toolkit. This huge collection of space effects can be customized and combined in any way you like, allowing you to quickly make realistic or fantasy worlds. Each feature has been heavily optimized to run on almost any device and platform.


Space Graphics Planets

Space Graphics Planets

Enhance your space scenes using this large pack of high detail volumetric planets. These planets are finished using the powerful planet features from Space Graphics Toolkit (not required).


Volumetric Audio

Volumetric Audio

Unity sounds only emanate from a single point source. This is great for explosions and footsteps, but quite often you need something more advanced. Volumetric Audio is an easy to use package that allows you to define boxes, spheres, capsules, paths, or meshes that sounds can emanate from.






Versions

1.1.1

Added Pairs public property to CwMaterialOverrides class.



1.1.0

Updated CW/Common code to latest version.
Updated shaders to latest version.



1.0.1

Moved main build to Unity 2021.3.0f1.
Updated shaders to latest version.



1.0.0

Initial release.







Components

CwBackgroundClouds

This component allows you to render thousands of high quality background clouds with minimal memory usage, and minimal performance impact.

SHADER SETTINGS

_CW_Brightness = The final cloud color will be multiplied by this.

_CW_AlbedoShift = The cloud texture color hue will be rotated by this.

_CW_AlbedoTint = The cloud texture color will be multiplied/tinted by this color.

_CW_GridX = The cloud texture is split up into this many columns.

_CW_GridY = The cloud texture is split up into this many rows.

_CW_DetailTiling = The detail texture is tiled this many times across the clouds.

_CW_DetailJitter = The detail texture is randomly offset by up to this distance.

_CW_DetailExposure = The detail texture has this much influence over the cloud texture.

_CW_DetailPowerMin = The final cloud color will darkened by this amount in areas where the detail texture is dark.

_CW_DetailPowerMax = The final cloud color will darkened by this amount in areas where the detail texture is light.


Material
Material

The material used to render this component.

NOTE  This must use the CW/Backgrounds/BackgroundClouds shader.


int
Seed

The random seed used when generating this component.



int
Count

The amount of clouds that will be generated.



float
Arc

The size of each cloud in the sky.



float
Noise

Clouds will randomly be offset up to this distance so they appear less uniform.



CwMaterialOverrides
MaterialOverrides

This allows you to make this component override any settings of the base material.




CwBackgroundPlanet

This component allows you to render a planet in the background of your scene.

SHADER SETTINGS

_CW_Brightness = The final planet color will be multiplied by this.

_CW_Opacity = The final planet opacity will be multiplied by this.

_CW_SurfaceRadius = The radius of the planet relative to the radius of the planet mesh it's being rendered on. This is normally close to 1, but a lower value allows you to have a thicker atmosphere.

_CW_SurfaceWarp = This controls how much the planet texture is distorted toward the edges of the planet. A higher value can be used to give the illusion of a larger planet, or a more distant camera.

_CW_SurfaceTiling = The amount of times the planet texture is repeated across the planet mesh.

_CW_SurfaceScroll = The surface texture is scroll at this rate to give the illusion of rotation.

_CW_SurfaceEdge = The edge of the planet will fade out at this rate, to make the edge softer.

_CW_AlbedoShift = The planet texture color hue will be rotated by this amount.

_CW_AlbedoTint = The planet texture color will be tinted/multiplied by this color

_CW_LightingAngle = The light will hit the planet from this angle in radians.

_CW_LightingOffset = The light/dark side will be offset across the planet by this distance.

_CW_LightingSharpness = The light/dark side transition distance sharpness.

_CW_LightingColor = The planet surface color will transition toward this, before it goes to the dark side.

_CW_LightingPower = The above color will transition with this sharpness.

_CW_CloudsEdge = The clouds will disappear at this point toward the edge of the planet.

_CW_CloudsTiling = The cloud texture will be tiled this many times.

_CW_CloudsScroll = The cloud texture will scroll at this rate to give the illusion of rotation.

_CW_CloudsThreshold = This allows you to reduce the amount of visible clouds.

_CW_CloudsColor = The clouds will be given this color.

_CW_CloudsShadowColor = The cloud shadows will have this color.

_CW_CloudsShadowOffset = The cloud shadow position will be offset by this distance.

_CW_CloudsShadowBlur = The cloud shadow blur amount.

_CW_AtmosphereEdgeShift = The atmosphere transition will be shifted in/out by this distance.

_CW_AtmosphereFog = The atmosphere will be at least this thick at the center of the planet.

_CW_AtmosphereFogMul = The atmosphere's final thickness will be multiplied by this.

_CW_AtmosphereFogPower = The atmosphere's center to horizon thickness transition will be this sharp.

_CW_AtmosphereBrightness = The atmosphere color will be multiplied by this.

_CW_AtmosphereOuter = The atmosphere's horizon to outer color transition will be offset by this distance.

_CW_AtmosphereInnerColor = The atmosphere's color at the center of the planet.

_CW_AtmosphereOuterColor = The atmosphere's color at the horizon and into space.


Material
Material

The material used to render this component.

NOTE  This must use the CW/Backgrounds/BackgroundPlanet shader.


// bool
AutoRotateLighting

If this planet has lighting, should the lighting angle automatically change based on the scene light position?



float
Arc

The size of this planet in the sky.



CwMaterialOverrides
MaterialOverrides

This allows you to make this component override any settings of the base material.




CwBackgroundRing

This component allows you to render a skybox in the background of your scene.

SHADER SETTINGS

_CW_Color = The final ring color will be tinted by this color.

_CW_Brightness = The final ring color will be multiplied by this.

_CW_Opacity = The final ring opacity will be multiplied by this.

_CW_AlbedoShift = The ring texture colors will be hue rotated by this many radians.

_CW_ShadowAngle = The ring shadow will cast at this angle in radians.

_CW_ShadowCircle = The oblateness/roundness of the shadow shape.

_CW_ShadowRadius = The size of the shadow.

_CW_ShadowBlur = The penumbra thickness of the shadow.

_CW_ShadowPenumbraColor = The color of the penumbra.

_CW_ShadowUmbraColor = The color of the umbra.


Material
Material

The material used to render this component.

NOTE  This must use the CW/Backgrounds/BackgroundRing shader.


// bool
AutoRotateLighting

If this ring has lighting, should the lighting angle automatically change based on the scene light position?



float
Radius

The radius of the outer edge of the ring.



float
Thickness

Thickness of the ring, where 0.1 is 10% of the radius.



float
Angle

The ring will be squashed by this 0..1 amount.



float
Perspective

How much the foreground and background parts of the ring will differ in thickness.



CwMaterialOverrides
MaterialOverrides

This allows you to make this component override any settings of the base material.




CwBackgroundSkybox

This component allows you to render a skybox in the background of your scene.

SHADER SETTINGS

_CW_Brightness = The final brightness of the skybox will be multiplied by this.

_CW_DetailTiling = The detail texture will repeat across the sky this many times.

_CW_DetailStrength = The brightness of the detail texture will be multiplied by this.

_CW_DetailOffsetTiling = The detail offset texture will repeat across the sky this many times.

_CW_DetailOffsetStrength = The detail offset texture will influence the final sampling by this much.

_CW_DetailBands = The detail texture will be sliced into this many bands above and below the origin.

_CW_DetailJitter = The detail bands will each be offset by up to this random distance.

_CW_DetailTransition = The detail bands will fade into each other with this transition sharpness.


Material
Material

The material used to render this component.

NOTE  This must use the CW/Backgrounds/BackgroundPlanet shader.


int
Seed

The random seed used when generating this component.

NOTE  If the parent CwBackground component's Seed setting is not 0, then this seed value will automatically be overidden.


int
Detail

The amount of rows in the generated cloud mesh.



CwMaterialOverrides
MaterialOverrides

This allows you to make this component override any settings of the base material.




CwBackgroundTexture

This component allows you to render a single texture in the background of your scene (e.g. an image of the sun).

SHADER SETTINGS

_CW_Color = The texture color will be multiplied/tinted by this color.

_CW_Brightness = The final texture color will be multiplied by this.

_CW_AlbedoShift = The texture color hue will be rotated by this angle.


Material
Material

The material used to render this component.

NOTE  This must use the CW/Backgrounds/BackgroundTexture shader.


Vector2
Arc

The size of this texture in the sky.



Vector2
Offset

The offset of this texture in the sky.



Rect
Rect

This background texture will use this texture rect from the Material's texture.



CwMaterialOverrides
MaterialOverrides

This allows you to make this component override any settings of the base material.




CwMaterialOverrides

Each modular background component has the MaterialOverrides setting, which allows you to override a specific material setting.

These overrides are stored in the Pairs list, which you can manually modify if your know the material property name and type.

To find the types, you can configure your background component in the editor, and click the Material Overrides / Add button to see a list.


List<Pair>
Pairs

All material override property name and value pairs are stored here.




Index

What is CW Nebula?

Is URP/HDRP supported?

How do I add nebulas to my scene?

How do I add stars to my scene?



Assets

Lean Touch

Lean Touch+

Lean Localization

Lean Pool

Lean Transition

Lean GUI

Lean GUI Shapes

Lean Texture

Lean Texture+

Spaceships - Build & Destroy

Modular Backgrounds

Paint in 3D

Paint in 2D

Paint in Editor

FLOW

Destructible 2D

Space Graphics Toolkit

Space Graphics Planets

Volumetric Audio



Versions

1.1.1

1.1.0

1.0.1

1.0.0



Components

CwBackgroundClouds

CwBackgroundPlanet

CwBackgroundRing

CwBackgroundSkybox

CwBackgroundTexture

CwMaterialOverrides