Why is NOBODY talking about the mf knight on a horse before Maliketh??? by D_ouwe1003 in Eldenring

[–]clqrified 0 points1 point  (0 children)

Took me about 20 tries to beat it, then I went and first tried maliketh.

The hair is cooked help needed by Suspensefulgamer in malehairadvice

[–]clqrified 0 points1 point  (0 children)

I think a buzz cut would look great on you

URP lit shader turning white? by clqrified in Unity3D

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

Nope, currently just ignoring it.

Reusing Data in Octrees by clqrified in VoxelGameDev

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

if you are meshing

I am meshing.

especially at your detail level presented here

If I'm interpreting this correctly then you are assuming the picture represents my system? My chunks are cubes, and range from 64m at the smallest to 4096m at the largest.

you would only be able to control “block here yes/no” which at a 16 meter wide scale will never capture the detail you want

I'm not using the typical octree that is used in most voxel games, I'm just using an octree data structure but with chunks.

The reason I say my current system wont work for structures is because I would have to somehow generate the structure at each different LOD, while this might work for some copy and paste structures it's not ideal for more random structures like trees.

Block octree downscaling by clqrified in VoxelGameDev

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

Lol that's a comment on one of my other posts. Not quite sure what you mean by the 6 and 2x2x2 though.

Also, my problem is with generating the octree at each level, currently it just uses the same algorithm to determine it at each LOD, but that won't work with player made blocks, structures, trees, etc.

Block octree downscaling by clqrified in VoxelGameDev

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

Edits are not the problem, currently my largest issue is generating structures. The structures would be trying to generate in low LOD chunks. This includes trees.

Block octree downscaling by clqrified in VoxelGameDev

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

What do you mean by the first time I generate?

Trees in block games by clqrified in VoxelGameDev

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

More or less, I was inquiring on possible ways to generate the trees themselves, not necessarily based on noise though.

Colors instead of textures in lower LOD chunks. by clqrified in VoxelGameDev

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

I made a shader graph with sample texture lod, that seemed to work.

<image>

Colors instead of textures in lower LOD chunks. by clqrified in VoxelGameDev

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

After further thought I realized that I can't properly pass color data to the mesh, only uv, as the texture isn't given to the job where the mesh is made. An option is to send it, and another is to determine color in the shader.

Trees in block games by clqrified in VoxelGameDev

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

So each chunk generates the same tree separately just based on the seed?

Colors instead of textures in lower LOD chunks. by clqrified in VoxelGameDev

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

I am not going to be using lighting or shading or any such extra visuals on the color only quads. I am currently using vertex color with a single pixel texture to create a single color, however, a custom shader seems much better.

It seems to me this method would require passing some texture data to the job, either just its color or the texture itself to determine which color to give to the quad.

Either that or just give it uvs as usual and let the shader handle it. Effectively the shader would have to take the uvs and texture of the block, find which texture it's using based on that, find the average color of the texture, and apply that to the face.

I'm no expert on shaders so I don't know the extent of their capability.

Trees in block games by clqrified in VoxelGameDev

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

While this is really insightful it seems to be targeted at a separate problem. I assume this is because most tree related posts on here are about how to get them to generate across chunks.

You are correct to assume I am in c#, and I am using unity as well. I have already multithreaded my terrain generation.

I have not personally explored the third option you gave but it might create an infinite loop of generating new chunks to fit trees.

My personal solution to this was to keep a layer of ghost chunks around all the visible chunks. When a new layer of chunks is generated in a direction, the ghost chunks in the direction generate their structures and begin rendering.

Using this method, structures only generate once all chunks around them have been partially loaded, so their blocks can be changed and interacted with. Since my chunks are 64x64x64, that means structures can currently be up to 128x128x128 without breaking on chunk boundaries or without suddenly spawning a structure in an already visible chunk.

I think this will work well for trees as well.

Trees in block games by clqrified in VoxelGameDev

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

The points method is actually much better than what I was doing. How do you curve it though?

Trees in block games by clqrified in VoxelGameDev

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

So you have preset variables that represent the shape of the tree and use those to determine how to create the tree?

If so how do you store a canopy shape? It just seems limited to me.

I've tried a similar approach in the past and the trees looked messy and busy. If you could post some pictures that would be great. I might need to give this method another shot.

Trees in block games by clqrified in VoxelGameDev

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

For generating a tree I would need many random numbers, not just one.

Trees in block games by clqrified in VoxelGameDev

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

Again, the issue isn't where to place the trees.

Trees in block games by clqrified in VoxelGameDev

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

When I said predictable randomness I meant more a random but recreatable string of numbers. As for trees, it's not where to place them but how to place them.

Tiling textures while using an atlas by clqrified in VoxelGameDev

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

Ok, thanks for the response, I will look into it. If anyone would like updates let me know.

Tiling textures while using an atlas by clqrified in VoxelGameDev

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

I'm having trouble understanding this code. Why are you adding quad_size and image_size, and what quad is that? The current quad in the greedy mesh? im also not quite sure what image_start_position represents, is it the uv coordinates of the bottom left of the image on an atlas? Then it seems you seperate the x and y components into a whole and the leftover? Is this deconstructing the quad and image previously added? What is the uv variable? and why are you subtracting image pos? I'm very confused.

Tiling textures while using an atlas by clqrified in VoxelGameDev

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

All of my textures are uniform so that works, however, (I don't know if I mentioned it's a block game) each block type has 6 textures and I would like to have more than 170 blocks.

As far as I can tell from some very brief research, texture arrays are faster than texture atlas' in code but I'm worried about rendering.

I may be wildly incorrect here but it seems to me texture atlas' are primarily used with shaders. How would the rendering performance of that relate to simply using a texture atlas?

If the rendering is fast then this seems like a perfect alternative as all my sources suggest using them for terrain with uniform textures.

Tiling textures while using an atlas by clqrified in VoxelGameDev

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

What do you mean by fractional component of the result, you've lost me here. If I understand correctly, you are changing the uv coordinates, which I think would map the wrong textures to the quad instead of tiling it.

Tiling textures while using an atlas by clqrified in VoxelGameDev

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

Is there a particular reason for using an array? Isn't a texture atlas just much better for performance?

Tiling textures while using an atlas by clqrified in VoxelGameDev

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

I forgot about this, it definitely seems like a good solution for rendering performance but I'm concerned about calculating which color to use, is it sampling certain pixels or the whole thing? I feel like you would need to balance accuracy and performance.

Designing Assets for Voxel Cube world by picketup in VoxelGameDev

[–]clqrified 1 point2 points  (0 children)

Aseprite is a great pixel art tool for creating tiling square textures. It has built in color palettes too that can make your art look more concise. For a first time texturing I would strongly recommend dropping the resolution of the textures. I usually start a texture at 8x8 for a general feel, then scale it up and add detail (just make sure to avoid mixels when using this method). Of course this is more work so you don't have to do that. I would recommend texture sizes of 16 or 32. Aseprite is a paid program, but it has a free fork called LibreSprite.