My Own Planet
- 5 Devlogs
- 30 Total hours
Make your own planet with a variety of options.
Make your own planet with a variety of options.
Additions, Exporting, and the End
Hey guys! It’s been a while (again).
Since the last devlog, I have added a few new ways to edit your planet! You can now add mountains and change the size, color, and quality (number of vertices used) of the planet.
I have also started work on an exporting feature that allows you to get a file that contains your planet (don’t worry, it will be common file like .obj; not a format specific to this app). Currently it doesn’t work when compiled to WebAssembly so, it isn’t finished just yet.
But, once it is working on the web it will start preparing to ship the app. Although that could change, just know that my next devlog might be the last one for this project.
That’s it for now, bye!
It has been a while!
Lately, I have been working on the UI for the app. Nothing super fancy, just a few buttons and text elements.
I’m thinking of using sliders for planet editing; instead of +/- a crater, there would be a slider from 0 to 100 craters. The only problem is that it would limit the amount of craters and such you could have, let me know what you think in the comments!
And if you have any other improvements you think would be good for the app UI, let me know!
I’m thinking of wrapping up this project by the end of the week and getting it ready to ship. I have been hard at work on this project and I’m starting to feel a little burnt out, so I might take the next day or two to relax, meaning that plans could change.
See you all next time,
Bye!
Welcome back!
This will be my second devlog if you count my intro log as devlog 0 (which I do).
Not much technical stuff this time but that’s OK, normal words are good sometimes!
Since the last devlog, I’ve made a few small things like a user input system that allows the planet to be spun by using the cursor (craters can also be generated by using the C key but that’s just for testing). I have also put to use a system that I made a while ago that gets a random point on the surface of the planet. Although bevy dose have a system just for that called ShapeSample, the implementation is like 30 lines long and this way I have full control over the system.
Vertices, vertices, vertices.
Before this project, I had only used Signed Distance Functions (SDFs) to define shapes, not anymore! Recently, I had started messing with vertices to define the planet in my app.
I started with thinking about adding craters. I was thinking something along the lines of “Oh, I’ll just get the subtract a sphere from planet to remove some area and make a crater!” I soon found out, however, that is the case with SDFs, but not with an object defined with vertices.
Eventually, I found out about vertex displacement. The idea is pretty neat: I move each vertex toward the center of the sphere depending on if it’s in the aria where a crater should be. No need to add extra vertices, just use the ones already there! But the really cool part is that this can be done on the CPU or on the GPU with a vertex shader!
But that’s about all for now, currently I’m just doing vertex displacement on the CPU but that could change in the future.
See you all later, bye!
Hello!
This is my first devlog for this project that I am excited to make and share.
To start, my goal is to make a simple app that allows the user to generate a custom planet using a few different options like the number of craters or color of the planet.
I don’t plan for it to be very complex. I might add a shader or more complex options later but, time will tell.
I’m making this app as a way to learn more about 3D environments and procedural generation.
Today, I just made a very simple setup for bevy that crates a camera, sphere, and light source.
See you all later, bye!