The Wonders of Space Graphics Toolkit

Unity is a very powerful tool, as has easily been shown in several of my blog posts. You can use it for virtually any type of game, and create things extremely rapidly. One subset of Unity’s power is the asset store. The Unity community makes a vast quantity of assets for the engine that do a wide array of things. Some of them are simply rigged meshes of people walking. Others are UI enhancements and all kinds of other things. I am using one asset set in my game, the Space Graphics Toolkit, or SGT.

SGT is created and maintained by Carlos Wilkes. His primary website is here:

https://sites.google.com/site/carloswilkes/

It is available in the asset store for $75 USD. Honestly, it is perhaps the best $75 I have spent for any project I have worked on. I use a number of the components from it to create my scenes, elliptical starfields, nebula generators, shaders, atmosphere, cloudsphere, corona, prominence, and several textures and sprites. It took my graphics from primitive to awesome in about 5 days.

To give you an idea of what is going on here, I am going to explain how to create a really nice looking Earth.

  1. Create a new sphere game object in a new scene.
  2. Adjust the default scene’s light source to be emitting along either the X or Z axis.
  3. Add SGTAtmosphere as a component to the sphere.
  4. Add SGTCloudsphere as a component to the sphere.
  5. Change the material of the sphere to a material called “Earth” available in the free solar system pack. It should already have the default Earth textures applied to it. If it doesn’t, I recommend the 4096 pixel Earth main texture. The others should be fairly obvious from my series of screenshots.
  6. Change your sphere’s mesh to a geosphere (I used Geosphere40 in this example, the others have fewer triangles, so do what you need)
  7. In the SGTAtmosphere component controls, there will be a red alert. This is because a mesh has not been assigned to the atmosphere. Assign the SAME geosphere that you assigned to the planet.
  8. In the SGTCloudsphere component controls, there will also be a red alert for the same reason. Assign the SAME geosphere that you assigned to the planet.
  9. The SGTCloudsphere has one other alert. It needs a texture. Choose Earth_Clouds.
  10. Now you will see that your cloud layer is significantly outside your atmosphere. Reduce the radius on SGTCloudsphere to the SAME setting you have in your SGTAtmosphere’s height plus one. For example, the default atmosphere height is 0.1, therefore I decrease my cloudsphere’s height to a maximum of 1.1. I set mine to 1.025, which gives the impression that the clouds are inside the atmosphere.
  11. On both the cloudsphere and the atmosphere, under “Lights”, change the value to 1.
  12. Use the assignment button and assign your default scene’s light source for each of these.
  13. In the SGTAtmosphere component, turn on scattering, and ground scattering.
  14. Change the Color on SGTAtmosphere to a blue.
  15. If your atmosphere is thicker, you will want to set your inner renderer to the sphere’s renderer. I did not in this example.

Now, move your camera around your planet to see your handy work.

This example took me about 2-3 minutes total, and some of that was because I had to scroll through materials and meshes, plus pick a good spot for the camera.

Atmospheres look even better if you use a point light about the same relative size and distance of the sun instead of a directional light. This is what I do in my game.

For reference, here is the inspector for the final game object, and the material.




I hope you have enjoyed this blog entry, and have a nice weekend!

Game Programming in Python and SFML – Introduction

This is a friend’s first few blog posts. He’s very good. Take a look!

Tech Hermitage

This blog series is going to follow my experience trying to build a Spelunky-inspired platformer using Python and SFML (Simple Fast Multimedia Library). I had originally started development using C++, and while I could continue to do that I prefer not to at this stage. The reasons are:

  • Python is easy
  • Python eliminates the frustration of memory bugs
  • You can do everything in fewer lines
  • You can call C++ if you need speed for a function

The drawback is that Python is not as supported as C++ for SFML development, however I hope that the examples in this series will at least help developers get a feel for how to do things. That’s not saying that I’m an authority on either Python or SFML. I’m learning as I go along so it would be wise to presume that there are better ways to do things than what I do.

What…

View original post 264 more words

Monster of the Week: Happy Mine

Learning the Dark Trade | Happy Mine

Not every monster I give you is going to have a big backstory, or even a basis in anything we know. Take the Happy Mine, which resides in the protagonist’s subconscious. When you first meet it, it’s too cute to even consider fighting against. However, you have to, as it’s quickly going to explode. As it gets closer to that point, it will show more and more of its true nature.

A whole new world…

Hi all,

This week was met with several setbacks and delays. None the less, I have managed to create a new planet texture. It’s not 100% done, but it already looks pretty good. I just need to define a few things (like bump map and gloss map), so that it has the same level of quality as Earth.

Here it is, applied to Bellatrix II:

I am looking forward to finishing this one on Monday. Hopefully, I can turn out several of these per week, instead of just one.

Hope you enjoyed this update and have a nice weekend!