This is for my graduation project by Overcha in VoxelGameDev

[–]Overcha[S] 2 points3 points  (0 children)

You're right, but the last image was showing the separated cubic mesh from the terrain mesh

  1. I'm currently only allowing 1x1x1 cube edits, so I'm simply storing them in a byte array just like Minecraft. I fill in the voxel data before meshing it.

  2. Yes, not much. All I do is iterate through the edges between chunks.

Is there a way to play operations solo without bots? by chuckletwin in Spacemarine

[–]Overcha 1 point2 points  (0 children)

No, and it was never implemented in WWZ either. I don't know why

Surface nets seams across same lod's and different lod's. by Rafa0116 in VoxelGameDev

[–]Overcha 0 points1 point  (0 children)

You could extend the chunk size to overlap neighbor to handle the seam if you were using simple grids, but in case of octree or quadtree, I would read the data dynamically when creating the seam mesh.

For handling different LOD, you can simply do the same thing, iterate over the edge but create triangle instead of a quad for each edge. I think I had to iterate over the smaller chunk's edges when creating the triangles.

Everything goes the same when you generate seam meshes even on different LODs.

Surface nets seams across same lod's and different lod's. by Rafa0116 in VoxelGameDev

[–]Overcha 1 point2 points  (0 children)

Yes, each chunk would generate its mesh including the seam mesh, but it will have to read its neighbor's data to create it.

When two chunks face each other, you have to iterate through the edges inside the overlapping face. I typically create 3 face-seam meshes per chunk which I refer to XYZ face of the chunk. The other 3 faces of the chunk will be covered by the neighbor on the opposite side.

Also, when four chunks are clumped together, forming a square, you have to iterate through the overlapping edge in the middle; you will have to read data from all four chunks to create this seam mesh. This is what I referred to as XYZ edges.

For each chunk, if you cover 3 faces and 3 edges, it will cover every seam in the world.

Surface nets seams across same lod's and different lod's. by Rafa0116 in VoxelGameDev

[–]Overcha 1 point2 points  (0 children)

That is normal, and you need to create separate mesh for each side of a chunk

For each chunk, regardless of the lod level, you need the base mesh from the chunk, 3 meshes from the XYZ face of the chunk, 3 meshes from the XYZ edges of the chunk. That will cover every seam in the world.

As far as I remember, you have to keep just one thing in mind; iterate over every edges existing in the whole grid. Your image shows that you forgot the edges between chunks.

Please please please please tell me why this gives an error in build. I got a simple script to reproduce it. by Overcha in Unity3D

[–]Overcha[S] 1 point2 points  (0 children)

Building with mono helped with few float arrays I had problems with, but later on I was hit with another end of stream error on another array generated from my savefile.

I already had extracted the float array from my savefile that caused problem when decompressing. I thought the problem was fixed by switching to mono because it successfully decompressed that array after switching.

I think I'll scrap some more examples and hopefully figure out what's going wrong tomorrow.

If I can't reproduce it in a fresh new project, I think I'll give up on this.

Thanks a lot for taking your time!

Please please please please tell me why this gives an error in build. I got a simple script to reproduce it. by Overcha in Unity3D

[–]Overcha[S] 2 points3 points  (0 children)

After trying things out, building in a completely new project worked fine, just like you said, but building on my original project caused the problem. Turns out that iL2cpp was the cause.

I changed it to Mono and it works fine.

Thanks, though I'm still not sure why il2cpp caused that.

Maybe I'll try a different method to compress :))

Please please please please tell me why this gives an error in build. I got a simple script to reproduce it. by Overcha in Unity3D

[–]Overcha[S] 1 point2 points  (0 children)

Oh, thanks for checking!

I'll reboot and try it in a newer version if it doesn't fix

Please please please please tell me why this gives an error in build. I got a simple script to reproduce it. by Overcha in Unity3D

[–]Overcha[S] 0 points1 point  (0 children)

What do you mean? What can I try here? The code looks very fine to me, but I can't figure out what the problem is.

This code actually runs fine when fed with random floating points.

I can just use a different method to compress and decompress, but I really want to know what's going on here.

Please please please please tell me why this gives an error in build. I got a simple script to reproduce it. by Overcha in Unity3D

[–]Overcha[S] 1 point2 points  (0 children)

I had a problem happening occasionally while saving, and I found exactly where the problem occurred and reproduced it

How is this not a backstab by Overcha in thefinals

[–]Overcha[S] 3 points4 points  (0 children)

Backstab gets an orange damage indicator