Creating a space scene in Unity 3D
Creating a space scene is very similar to my previous blog post about world building, as it is creating a scene by laying out assets and using different lighting techniques to acheive an accurate representation of space.
This is the final scene for my project, terrae clade. There are multiple things going on to give the final product this look. There is the skybox, which creates the background a 3D view of space as if you are in it yourself, made from a cube map that wraps itself around the scene.
There is the lighting, which I made so it is directly coming from the sun as it does in reality. I did this by creating an emissive value and placing it on an already made sun texture, this radiates lighting and effects objects close by. I had also added a rectangular area light that emits a low amount of light in a direction, I have faced this towards earth because the main focus of the camera is directed onto earth for most of the gameplay.
In this screenshot, I have changed the texture of the skybox to a different space scene, this has changed the whole feel of the world build, creating for a dark and gloomy feel as the colour of dark purple can do this and you can use it to your advantage to give certain visual effects and convey feelings to the player.
To change this texture, you can download a pack called space skies to your Unity project from the unity store, there are a lot more packs you can download from the Unity store, however this was the one that stood out for me as it looks good, and is also free. After downloading it, you can add it to your unity project, then navigate through their folders to find the textures as you can see in my screenshot, and simply drag it onto your scene.
You can play around with a lot of detail to give your scene more depth and detail, this asset is of a particle effect from the vast space landscapes Unity pack, also free and available to download on the store. The way this particle effect works is that it instanciates a specific model, and gives it rotational animations based on values set in the particle emittor settings. you can scale how large you would like your asteroids, how fast you want them to spin, how spread out they are and how large of a space they took up. I wanted my asteroids to be a bit larger and take up more space, so they are visible from the players camera during play time.
The sun is a 3D model made by one of my CAD team members, Lianne Sibayan. This coupled with a good sun textures I found online, mixed with more values such as emmision added onto it is what created this effect. Post processing stack is another very good download taken from the Unity store, this allows you to add multiple more visual effects such as bloom, motion blur, vignette and colour correction.
This asset is taken from the vast space skies bundle mentioned eariler. This effect is actually 2D and created by giving a bit of curvature and opacity to look 3D, this causes a massive good effect for optimisation, making your game run faster, and it looks real 3D until you view the side of it, which you will then realise it is indeed 2D, like a curved piece of card or paper.
To finish of my earth, I had created trees to place on top for more fine detail, this really works well with my project. my parenting it to the earth (By clicking and dragging on the tree asset in the hierarchy and dropping it on earth) it now follows the animation of earth, which is a slow spin to emulate the earth orbiting around the sun. The moon in this scene is also parented to earth, since the moon realistically orbits around earth, it can so do in game as well.