TOZ Planet Renderer - Gamekit for generating procedural LOD Planet and Solar Systems

This would be the support forum for TOZ Planet Renderer and modified TOZ Noise to go with it.

Buy From:
ASSETSTORE

VIDEOS

Documentation for TOZ Planet Renderer

WHAT IT DOES :
This pack is able to help you render whole planet bodies in space with the help of quadtree planes shaped to look like a planetoid with high and optimal frame rates acceptable for a computer game or a real-time simulation.

Can continuously render a dozen planets at the same time without losing much speed thanks to the multi-threaded architecture, smart coding and optimal shaders.

There are various options in the package that helps you shape the planets and there are various helpers to control collisions, oceans and atmospherics.

NOTES :
Source code is fully included in this release, you should check the script files to see various variables and how things are done.

Documentation for TOZ Noise

WHAT IT DOES :
This package is an enhanced copy of LibNoise for C++ adapted for Unity Game Engine. Used for generating heightmaps for Unity Terrain, TOZ Planet Renderer and mesh objects. Also used for generating procedural textures and bumpmaps and lightmaps. This package also can generate 3d volume textures.

This package is provided on my website www.tozmar.com and a slightly modified version is provided for free and as a support tool with TOZ Planet Renderer

NOTES :
Source code is fully included in this release, you should check the script files to see various variables and how things are done.

Modules & Helper Assets:
TOZ State Machines = This asset was on the Assetstore around Unity 2.5x - 3x versions, and recently i upgraded it to be compatible with Unity 2017.3 and up. It is also compatible with TOZ Planet Renderer and gives you ability to kickstart AI vessels, also can be used as individual product.

TOZ WayPoints = This asset was on the Assetstore around Unity 2.5x - 3x versions, and recently i upgraded it to be compatible with Unity 2017.3 and up. It is also compatible with TOZ Planet Renderer and gives you ability to find shortest paths between a start and end point, also can be used as individual product.


4 Likes

2 Likes

This is wonderful. How much will the asset be?
Got any future plans to have a biome-maker? Or something that can create interesting, wonderful worlds? Just curious haha

Is there a floating origin system ? What is the maximum radius of a planet ?

Your “competitor” (more of a complementary package IMHO as its main focus is not the terrain but all the rest) Space Graphics Toolkit has been rewritten to handle floating origin, and the floating origin source code is included in the free basic version there so maybe you can make Toz planet gamekit compatible, or at least use the same approach ?

Initial release price is 50USD, i assume it will gradually increase as i add more features. Current release is the barebones of the system, just rendering planets with correct lighting and atmosphere. But the codebase for future features is also already in it, so you can write your own improvements as you wish.

Creating biomes is easy as writing a code logic such as:

1 Like

I dont know what is a floating origin system, never heard such a term. But if you mean to keep camera at pos(0,0,0) at all times and move everything else relatively, it is easy for you to do as my planets are treated like normal transforms, nothing else.

Radius of a planet is irreleveant, but should be kept within limits of unity lighting systems. If you make a big terrain like 10.000 units the shadow maps will be distorted and blurred, if you make a terrain like 100 units, shadows will look nice and smooth. In the demo video, sun radius is 50, big planet radius is 512 and small one is 256 and the distance between the 2 is 1000 units. What matters is how you traverse the distance between and on the surface. The point is, you can scale the whole solar system into 100m3 or you can scale it up to 100.000m3 which doesnt matter at all.

The competitor you mentioned is not really a competitor and it does something completely different. Some aspects can be used to support my asset i guess but i really didnt take a look.

My roadmap is in the document written in the first post. If you have any suggestions, i will obviously consider.

1 Like

Asset looks really cool. Just wondering, how easy is it to use? I’m not much of a coder myself thats why.

Just wondering is it easy to use, if I am not a coder?

Hi, it is not easy to use especially when you dont know the basics of c# language and intense maths and geometry.
Even though i do add planetary walking, vehicles and space flight code(next update), you will have to extend it to get your project running.

On the other hand, the good thing is; this is a very math/geometry heavy package with well written code and you get all the source. It might be a good learning material.

Space flight, atmospheric flight and planet surface/underwater walking/swimming demo can be seen in the following video.
Package will provide the basic motions but can be easily extended and it is the customers job to do so, although i provide customization as well.
The flight modes and character motor is full physics driven, all natural forces at work.
EDIT: Physics motion currently is like stop motion, can be easily edited to be newtonian motion.

1 Like

Now that you have a walking / swimming character using physics, the size limitations are relevant again :

  • What is the max planet radius for a standard character of 2 meters height ?
    ( having non standard character height is a major pain)
  • Max Mountains Height ?
  • Max Underwater deepness ?

Other solutions (and games) use the floating origin system, please think about it !
Floating origin quick explanation

  • having double3 vectors for keeping track of the absolute positions
  • multiples cameras with fine tuned culling planes (at least a far camera and a near camera, sometimes more cameras).
  • when the player reaches a distance of 2000, move the player back to 0 and move all transforms relatively.

Everything that is near the player (near camera, near layer) is in the floats OK range, everything that is very far is in crazy big ranges but as it’s very far it doesn’t cause too much problems.
You can have a look here for a clean implementation https://github.com/josephhd/Planetary-Terrain

This is a generic package, for every kind of usage. No need to limit it with “floating point origin” thing.

First of all, in such computer graphics even though unity says its units are in meters, it is a matter of arbitrary unit and what matters is the ratio you use.
Earth has approximately 6300km Radius and the things around you are proportional to this size including the standard 2m character.

So, if you make your earth 630km and to make it sensible you make it 630units in unity, then you can make your character 2m / ratio = lets say 0.1m
Then the force you apply for motion becomes 0.1m walking force instead of 1m

With using such a sensible ratio, you can squeze the whole solar system inside 100.000m3 unity World.

But the most important part relating my package is, i offer you the barebones of a planet rendering, it is your job to do the rest.

As for the floating origin thing, planets and suns in my package are just ordinary transforms. You can move them around as you wish.
But resetting motion every 2000m doesnt make sense, instead you can calculate the necessary forces for your player like you normally do and apply the inverse movement forces to your solar system parent, thus your player always stays at 0,0,0 and your planets will move instead. This will have problems later on with your game logic though.

That is why the egosoft x series games always have Gates to visit other solar systems/sectors.

Anyways to be clear about my package again, this is not a ready game package, it is a planet rendering kit. You will need to do the rest of your games logic yourself. The extra walking/swimming/flying scripts are examples only to guide you on how things can be done and how you can get some necessary variables from planet related scripts.

Natural environment tests, trees are created per lod patch (adjustable to lod level) in the below video, there are 4 lod levels and trees are created for the last 2 levels. As it is just a test, trees are created as a rectangular grid, and straight rotation to gravity. It could have some randomization on position, tree height, tree rotation…etc

Visibility of trees is adjusted per terrain patch and they are automatically culled if they are behind fog distance or the terrain is culled.

Most importantly, they have working shadows and uses standard unity shaders.

2 Likes

This is so good asset I would buy it immediately but I don’t have any money :frowning: and will probably never have enough money to spend on this due to the fact that this would really only be usable to one or two games it’s not something you use for every game. But to be honest if you added a random planet generation system which uses the distance from the sun to determine some things like is water liquid, that would make me buy this no matter the prize. :wink:

You dont build a game every week i hope, ive been doing this since 20 years now and havent released one full game yet.
The thing about my package is, you can use it for many different type of games with some imagination. Its an infinite terrain, its a full scale planet, its a top down view solar system….etc But the most important thing is, you get the whole source code, well written and very modular which also includes the enhanced version of TOZ Noise, with unity terrain and planet terrain editing capabilities also with source code.

Random planet generation is what this package is all about anyhow, you get many planet properties such as “if has water, if has atmosphere, if has clouds, distance to nearest sun”, so you write a simple if statement to customize your planet.

The only thing to keep in mind before buying the package is; you need to know how to code, this is not a one click of a button solution. You need to work.

1 Like

Hey @aubergine - I have a few suggestions for this tool.

  1. Would it be possible to get a top down spline based tool similar to the Solar System editor from Planetary Annihilation? Link
  2. Would it be possible to get some form of integration with Space Combat Kit by VSXGames?

This package already has an Interpolation utility and a spline class defined in it, currently is undocumented. And i already have a spline editor tool which you create splines visually on the editor screen, i should add it to this pack as well.

I checked the space combat kit, and there is no need for any integration as the 2 packs do not collide anyhow. You can just use both. If you inform the owner of that package, he might be interested in my custom development version to use in his mentioned radar feature and probably will need to use my packs planet object coordinate system to target those as well. But you can do it too you know, you already have my source code and hopefully you have the source code to his pack as well.

EDIT: Planet surface/atmosphere combat thing is different though, it has different mechanics. Anyone trying to incorporate their package to mine will have to get my development version.

1 Like

New update;

  • Celestial objects (planets, suns, asteroids…etc) now automatically generate waypoints to traverse planet surface
  • Celestial objects generate waypoints between each other
  • Pathfinding (planet surface and between planets) is now calculated through a fast node based Astar function
  • There is also a 3d grid based AStar pathfinding incase needed
  • There is also a spline generator between the shortest found path between waypoints that also calculates collisions inbetween (autopilot)
  • There is also a spline editor for pre-calculated paths, saves the paths to disc so you can load them during runtime if needed

Still not submitted the new updates, it will be a big update with many features mentioned above posts. After submission price will rise to 150usd

1 Like

Slowly improving the water shaders, now it has prototype foam breakers on the shores.

3681313--302416--water.jpg

2 Likes

Photos that Show the current state and progress.

3722038--308059--Images_0000_Layer 11.jpg 3722038--308062--Images_0001_Layer 10.jpg 3722038--308065--Images_0002_Layer 9.jpg 3722038--308068--Images_0003_Layer 8.jpg 3722038--308071--Images_0004_Layer 7.jpg

2 Likes