alteveer / Terrain

Unreal 4 "Marching Cubes" Terrain Plugin
MIT License
1 stars 2 forks source link

Question about development #1

Open vivienneanthony opened 3 years ago

vivienneanthony commented 3 years ago

Are you still working on the project? I'm looking for a terrain system and would like to help build upon something that can be used.

alteveer commented 3 years ago

hi @vivienneanthony,

I am, albeit not very frequently -- please feel free to contribute however you would like!

I have since made a 2d-only branch that I am actively using that I would be happy to share as well. If you are interested in co-developing on that I would definitely welcome the help, otherwise I would recommend you look at a more robust marching-cubes-based terrain like https://voxelplugin.com.

vivienneanthony commented 3 years ago

I'm interested. I'll take a look at the repo later today. I checked out voxel plugin before. It's costly and too developed for me to try to program terrain generation c++. I need like to work on something smaller that gets the job done that can be used. As long as I get terrain that looks decent, variation, and caverns. It will be good.

alteveer commented 3 years ago

makes sense! it was a super great learning experience for me getting as far as i did here. all of my recent improvements are to the "2d" (read: heightmap) version, but i will get that branch up here as soon as i can. things that I am interested in fixing/making work ASAP are:

  1. navmesh
  2. actually computing good normals (they are correct if you don't scale the noise, non-uniformly, and they break on chunk seams)
  3. better, more flexible, more interesting noise (worley, etc)
  4. BP-configurable noise/constraints e.g.: nothing over 100m, radial/gradient masks, etc; potentially look into materials to drive this a la new unreal landscape tools
vivienneanthony commented 3 years ago

I wouldn't mind dealing with two and three. As for the normals, if the faces and vertex are stored. The normals can be produced from that. There are methods to parse through that to come up with the normals.

I made some minor changes on git.

https://github.com/vivienneanthony/Terrain/commit/62727ccb7c06b45b7d57e19a2557ba2fbd5e9246#diff-c30a92a8a7a2c4665c04a03a81a2a3196e1255493d755bfd64c534cdab19cd08

It solves linux and Unreal 4.25 maybe 4.26 compatibility. I'm not too familiar with the code yet and runtime methods is a bit different. Maybe you have a better idea then me. Since the code don't use the multithread method.

I ended up with this trying to get running..

https://imgur.com/a/49ZabBT

alteveer commented 3 years ago

Wonderful! I am happy to accept those changes as a pull request! Also, I will spend some time today or this weekend to get my wacky heightfield version branch up there too.

re: the spiky bits, try moving frequency into the 0-10 range and persistence back into the 0-1 range -- i seem to remember my defaults not being great for this, sorry

vivienneanthony commented 3 years ago

Okay. Cool. I changed the settings as you mention. Yea. It looks better. Something that can be used for terrain.

alteveer commented 3 years ago

Hello @vivienneanthony! I put my 2d version in here: https://github.com/alteveer/Terrain2d

I thought about making it a branch, but at this point it has diverged so much that I think it makes sense to make it separate repo. Please take a look and see if there is anything you might want to work on or port to this repo!

vivienneanthony commented 3 years ago

Hello @vivienneanthony! I put my 2d version in here: https://github.com/alteveer/Terrain2d

I thought about making it a branch, but at this point it has diverged so much that I think it makes sense to make it separate repo. Please take a look and see if there is anything you might want to work on or port to this repo!

I will check it out later tonight.

I've been working on a repo also. It's buggie which I'm trying to fix. It can produce terrain 3D but I have to figure out a few issues. I can send you the repo link if interested.

https://imgur.com/a/VCyA0yn

vivienneanthony commented 3 years ago

I checked out the 2D version. I made the changes for 4.25 and Linux compatibility. I'll make a video of it. I like the idea of the octaves laying. If it's cool I can look at how that work and add the ability to choose noise type. It will be interesting to try to create a curve graph. Hmm. The collision worked with the setup. The only thing is setting up the uv texture for texturing.

vivienneanthony commented 3 years ago

I found this which might be helpful for uv coordinate for textures. https://stackoverflow.com/questions/29728473/how-do-i-calculate-the-right-uvs-for-this-mesh As to what I am working on is this, https://www.youtube.com/watch?v=jjOjdorhxDc. Just have to figure out how calculate the density properly where the blocky parts are and a few other things.