You are browsing as a guest. Sign up (or log in) to start making projects!

Open PLG

  • 5 Devlogs
  • 16 Total hours

This is an open source procedural landscape generator I made for a range of 3d modeling software, built to run as efficiently as possible.

Open comments for this post

3h 19m 1s logged

Devlog 5

What was added?:

  • User tkinter file page to create a way to export all of the data cleanly
  • Seperated the diffrent features like height map, water level and used zipfile to combine all of the exported data into one clean file manager.

-Issues:

  • A weird issue where the file manager would pop up so you could choose to save the file but it would be transparent and whenever you click on it you click through it, it remained even after closing the program and the only way to fix it was to restart the computer. It turns out the line root = tk.Tk(); root.withdraw() was forcing it to be the prioratized window but the background process also assumed it was the prioritzed window and so it just hang out waiting for the code to update it.
  • When importing the textures into other software all of the textures would be made for a diffrent sized mesh, fixed this by setting them a constant scale defined by the resoulation of the image, this will also come in handy later.

Next time on Open PLG

  • Advanced simlation ooh, being able to simulate stuff like river errosion and snow maps as accuratly as possible, defintly not just doing this as an excuse to practice my simulation rendering skills.
  • Adding a resolution control and the ability to control the resolution of the exported data, probably also a rendering setup so it doesn’t crash when run
0
0
2
Open comments for this post

2h 20m 5s logged

Devlog 4

What was added?:

  • Main thing that was added is exporting, the ply file can be exported and you can import it into your software of choice, the reason for .ply is the way in which is stores its data based on vertex positions which matches the height map generation my code runs off.
  • Semi-functional biome masking, so it textures based on catogrized zones such as costal shorlines, flatlands highlands ect.
  • Expanded the internal dictionary for faster switching between elevation values and biome classifications

Errors:

  • Trying to apply the biome mask to the mesh caused the geometry to form stair looking blocks, turns out the warp_by_scalar function replaces elevation data with specic indices like -1.0, -0.2, 0.5, 1.5. Fixed this by adding a geometry_elevation array to expand possible vertex indeces, overly simpliefied explanation but I don’t know how to explain it any better
  • All of the checkboxes and export buttons all fused in the left hand bottom of the screen and refused to move, turns out in my hastely coppiying from the PyVista website examples I defined a variable as l_stat which held the location data inside it but I assumed it was a PyVista function with other uses, fixed it just by removing that variable and adding my own location data for each.

Next time on Open PLG:

  • Height map exportation so you can choose to displace a plane rather then importing a 3d model, started on this today but didn’t get far before deciding to post this devlog and to take a break.
  • Mask exportation so the final user could use weathering mask for better texturing, this is a feature that a surprisingly low number of similar software have easilibly usable so I knew this was a must have for my project
  • Height based blending for external shaders.
0
0
3
Open comments for this post

2h 14m 4s logged

Devlog 3

What was added?:

  • Make like a sky blue gradient background to make it look better
  • Added a very basic Thermal Erosion Simulation, more for looks than anything
  • Weathering slider to control the weathering and color
  • Modified the earth color to make it look better
  • Setup the official git hub page

Issues:

  • Significant frame drops when I turn the weathering to its heighest setting, fixed it by vectorizing the smoothing operation therefore eliminating the need for the loops I had before.
  • Water shader wasn’t reflected properly, fixed this by creating a specific material for the water and manually adjusted them

Next time on Open PLG:

  • Being able to export the height maps and 3d models
  • Biome texturing based on larger array of values
0
0
5
Open comments for this post

3h 18m 49s logged

Devlog 2
Note - Due to the complexity of this project all future devlogs on this project will be equally complex, if you have any questions about what anything means feel free to ask and I will try to answer asap

What was added?:

  • Infinite world panning: You can now infinitely scroll to either side of the world instead of focusing on a single chunk, acts as both a random see generator and access for larger terrain.
  • Second Noise pass: I added a second higher frequency Perlin noise layer to brake up flat looking areas and add additional micro details
  • Added a transparent water layer that’s controllable by the user
  • Added PBR: Physically Based Rendering and smooth shading adds shadows and overall makes it look a bit better.

Issues:

  • Had a problem where moving the sliders at all would result in: “TypeError: The Input DataSet type StructuredGrid must be compatible with PolyData.” The error was a result of PyVista trying to convert the mesh to a PolyData object. I bypassed this by updating coordinate and scalar arrays through actor_3d.mapper.dataset.points instead of .copy_from().
  • The labels of different sliders would hide off screen due to the very tight pixel positioning and therefore wouldn’t account for screen size. I fixed this by significantly increasing their position onscreen so that no matter the screen size they would fit on screen, I originally tried screen based scaling but it didn’t work.

Next time on Open PLG

  • Advanced biome coloring so that cliifs sides and steep slopes have a diffent color then flat planes.
  • Erision filters to simulate damage to the landscape
  • Custom shaders to make everything look better, no idea how I’ll add that but I guess we’ll find out.
0
0
3
Open comments for this post

4h 49m 27s logged

Sorry for the lack of any project updates for the past couple of days, the school term here in New Zealand has just started, I’ve also had to replace my laptop so I’ve been very busy switching over. The Open Aero project has been postponed to the forceable future to make time for this project, Open PLG, or Procedural Landscape Generator. This is a project I actually need for a separate non-Star Dance project I’m working on so it’s got a high priority. This project is built to generate 3d landscapes for modeling for cgi project and game creation, I’m surprised how much I got done in the opening five hours of the project and a huge amount of this is based on sigh math. For the specic details: its based on the Perlin Noise library to generate the noise for environment displacement, I’m also using pyvista because I’ve used it before so I know it quite well, due to school, coding time will decrease significantly.

0
0
1

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…