A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Discussion in 'Assets and Asset Store' started by Wright, Jun 25, 2013.
I do have the same issue on DX 11. Would like to see it resolved
aha, I see, it really exists. Something wrong with tangents, I guess. I'll find out and fix the bug. Thanks for the feedback!
Is it possible to change resolution of the voxels, say, to add smaller details?
And maybe add different editing shapes and sizes so it's not always a perfect cube?
Also, anyone else who has this, if you're interested in helping me convert it to C# that would be awesome!
An amazing engine, but I'm not a fan of UScript!
These voxels are like pixels in a raster image. It is not possible to add pixels between pixels, and the same is in Voxeland. You can scale your terrain down to make voxels smaller, but they will be smaller all over terrain.
I plan to make sphere-like brush along with a cube one.
So, i can use your tool for creation floating islands arround a procedural planet?
I'm not sure if this has been asked yet, and if it is I am sorry but is it possible to make randomly generating terrain with this? If so how would you do it? This is a awesome tool too!
ZJP, hmmm, maybe. Don't know how it is connected, however. "Voxeland terrain could be modified and updated both in editor and in-game in realtime" states that you can sculpt terrain not only in editor, but in a game in playmode. "A terrain collision mesh is generated along with a render mesh" says that terrain has a collider, which is generated with a visible mesh.
Jake398, thanks! There is no terrain generating tool at this moment. Terrain has to be created manually now, like a standard unity terrain. But this tool is under development now, right this moment actually ) It will be ready to next version, so stay tuned!
You're engine is superb, and so inexpensive, it was a great buy. Me and a small group of people I'm building are using this to speed up the process of creating our own voxel base for a game. I've already included your code for land generation and erosion, and I've been dissecting the code as best I can, as we are trying to create (essentially) a c# version. I may be interested in supplying you with the source for the C#, but we can talk about that later if we accomplish it.
I have a question: Is there a particular place inside the code where we could simply insert coherent noise values from an array (i.e. Vector4 array with the 4th being the noise value), essentially allowing us to run our own algorithms through your lookup tables and render process?
It seems there are a large number of us looking into converting it, likely it will happen by community hands. Although the JS isn't that bad thanks to some universal unity keywords.
I have another question Wright, what is this equation determining? How does it work?
z*sizeY*sizeX + y*sizeX + x
Was going to ask something around performance of this terrain engine. Does your fan or cpu work intensely hard when you run the demo scene, even though draw calls seems ok.
If so, wondering if you have pinpointed the potential culprit routine causing this?
Tiki, are you trying to set the blocks with a noise pattern, or you going to shift the final vertices of the mesh?
VoxelandData uses one-dimensional array of blocks instead of three-dimensional. Three-dimensional one could not be serialized, and one-dimensional works even faster (according to what Eric5h5 said there).
GXMark, when the terrain is not changed it behaves like a standard unity mesh (with a tiny overhead on drawing highlight). You can convert demo terrain to meshes with "bake" function and make a benchmark to verify this. Maybe your hardware works at full power because there is no v-sync, and the fps is not limited.
Thanks for the advice i will check to see if this improves this issue.
When is the next release date likely to happen?
New octree data structure is ready, and the land generator is about finished. Next big task is to re-write ambient to exclude it from data and make it switchable off to speed up process (as far as I know many users do not need it). I plan to finish it this month.
Interesting, so what are you doing with the octree? Is it for storage of the data or management of the meshes? In Cubiquity we store the voxel data as compressed chunks on disk (no octree) but we do use an octree for organizing the meshes in a hierarchy for occlusion culling and other purposes. Are you doing something similar here?
Anyway I'll look forward to seeing it in action.
Octree in Voxeland is used to store voxel data - it dramatically reduces the data size - up to 10x times. And the other octree positive feature - it gives an ability to work with data directly. No need to decompress data and waste memory for keeping decompressed array. You can get blocks directly from an octree. Love it )))
Is anyone else having an issue where the voxel terrain automatically separates into small, adjacent pieces?
I just recently purchased this asset and I'm very satisfied from what I've seen. I'm a mere hobbyist but you've got my greatest appreciation for this great package!
Since it was mentioned before in this thread: A basic multiplayer feature was quite easy to implement into this engine (however I'm still looking into synchronizing save/load full maps on reconnect since so many buffered RPC requests are very slow when reconnecting while the game is running). I'm looking forward for the next update you mentioned, because a reduced data size is most propably very helpful when synchronizing save games over network.
The very easy inclusion of prefabs as part of the landscape was the main selling point for me (compared to Ruaumoko). However, at the moment I'm struggeling on how to reimplement the selection/highlighting of custom meshs that can be seen in the demo. Does anyone know how I can make the highlight pointer select custom meshs again?
Yes, I'm trying to set up a button that will generate terrain based on a noise array generated with libnoise.
Can this be used to create spherical terrains? IE planets and asteroids?
Tagaris, thanks! I will return highlighting prefabs collision aabb in next version.
Tiki, it seems you are talking about automatic terrain generator feature. In new version it will be possible to create terrains using noise and erosion algorithms.
makeshiftwings, right now I have no plans of c# version, but to much people asking it. I'll think about it, a bit later...
trudeaudm, yes, you can create spherical terrains. You can set all border voxels to unfilled with "Cap sides" feature, this will close all side caps and turn your terrain to a cube instead of a plane. Then the corners of the cube could be digged to form your asteroid.
I was looking to create a solid 3d block and then tunnel into it to create a cave system..
I down-loaded this App last night and after following the instructions all I can create is a flat surface and not a 3D block as in the tutorial video.
I worked out that I needed to cap the sides but when i dig through the capped side, it's just hollow inside.
Can you get me pointed in the right direction as to what I might be doing wrong ?
for creating a solid 3d block , you must click Cap sides AND Cap bottom.
slipmat, strange. That should work without any problems, I will check it this evening. Try increasing cap bounds. Set it to 4 instead of 3 - will a bug remain?
Assets/Voxeland/Scripts/Voxeland.js(647,14): BCE0005: Unknown identifier: 'i'.
Assets/Voxeland/Scripts/VoxelandData.js(580,17): BCE0005: Unknown identifier: 'newBlocks'.
Assets/Voxeland/Scripts/VoxelandData.js(582,17): BCE0005: Unknown identifier: 'newExists'.
Any ideas on how to fix this?
slipmat, I've checked digging from sides and it seems to be working. Not a trace of a bug. Could you please send a screenshot and a detailed bug description?
cl-apps, I'll look into it, I guess I know what causes the bug. If you dont mind - send me a log file (or quote the voxeland errors from it) as a pm or via email please. Thanks in advance!
Log file could be found in ~/Library/Logs/Unity/Editor.log on mac
Email on its way...
Good news. A new big update is ready. I'm testing it and adding new features to documentations now, and it will be submitted to unity in a couple of days. New features:
- new octree data structure. Data size is significantly reduced. Along with dynamic rebuild feature it gives a possibility to create large terrains. Please make a backup copy of your data file before switching to new version.
- automatic land generator. You can create your own land using various noise and erosion algorithms.
- pseudo-spheric brush shape. You can choose volume brush in shape of sphere instead of standart cube.
- smoothing brush. Ctrl-clicking on terrain with volume brush will smooth terrain blocks.
- new Additional Ambient algorithm. It works faster and does not need data to store ambient values. If you do not need Additional Ambient you can turn it off now to speed up chunk building a bit.
- different type of mesh vertices normals: very crisp, crisp, mesh, smooth. "Crisp" normals take normals from an un-smoothed cubical land, "mesh" normals are generated as standard mesh normals, and "smoothed" smooths terrain vertex normals.
- tangent fixes for better bumped textures display
- you can choose if you want faces at the sides of your terrain ("Cap bounds") on terrain creation.
- android and iphone build fixes (thanks cl-apps!)
If someone would like to get an early access to take a look at a new version - let me know with pm or email. I will gladly give it to you in exchange for a future bug-report ))
Great news. PM sended.
with new update voxeland , i have this weird thing :
directional light with hard/soft shadow
Additional ambient On checked
Thanks for feedback, sefou, I'll look for the cause of the problem.
And I have a small request - to all who got 2.0 beta - could you please email bug reports. Just not to litter the thread with information about un-released version.
Alot of those new features sound great.
How much larger can the terrains be?
auto land generation. Yes!
I'm too, thrilled for the new version, as memory allocation is one of my biggest concerns right now, but I have another question for you: It's possible to create and edit the terrain programatically in an axis that's not on x/z? I'm looking specifically for x/y (for a pseudo 2d game I'm working here, imagine that your z is my y right now).
The reason for the question is that the chunks are splitted in x/z blocks so having a huge Y only creates only one mesh for that chunk, which is sub-optimal and ends with a lot of warnings.
shwa, the biggest terrain I've tested is 4096*4096*512. It works and even could be auto-generated, but dynamic build works too slow for some reason. Now the only thing that keeps me from publishing a new version is large terrain performance.
Scooterman, I did not expect someone will use swapped axises. The best advice in your case is rotate the terrain on 90 degrees by X axis, the only minus is that it will not work. The terrain could not be edited that way, and I'll add it to bug list that should be fixed in next version.
And thanks everyone who pmed me and requested beta, I'll send you a new one after a while, right after I'll fix dynamic build lags.
did you miss my PM?
" the biggest terrain I've tested is 4096*4096*512.
It works and even could be auto-generated, but dynamic build works too slow for some reason."
Good size. Is this a terrain that is pre built?
What is dynamic build? as in on the fly while the user is in the world?
Wright, I managed to make it work by rotating only the meshes.
No, no, I see all the pms, but for now I am fixing the bugs that are known for this moment.
shwa, terrain data (ie block structure) is made once for all the terrain, but terrain meshes are build only when the camera comes close to them. And this is the dynamic build.
Scooterman, great! You've rotated only the chunk meshes, not the whole Voxeland, right?
I've been following this tool for a few weeks now and so far like what I'm seeing. I do have to ask though, as to your current problems:
It seems to me that in any voxel engine, loading chunks as the player nears is best. I noticed the engine effectively has a max map size. What is holding it back? Can you not simply completely unload all physics related to a chunk if the player is far enough away? I don't pretened to know how your engine works, but it seems that there is something being updated in far chunks that doesn't need to be.
That said, your dynamic build problems. Have you tried asynchronous loading? I believe you can get away with loading data in another thread and just not touching it until a bool is unlocked. Or is it the collider generation you are having trouble with?
I've had an interest in voxel engines for some time, due to the interesting techniques usually needed for a decent framerate. I built one myself once in XNA, but I couldn't get the help I needed to reduce data transfer to the shader. That said, I have implemented dynamic loading in it, so I can help with that. Maybe through discussion, solutions can be reached.
Can you point me to a tutorial showing how I can synchronize Voxeland data between multiple networked players using a server? So if someone digs up an area on their client version that area is shown dug up on all other players as well.
That is exactly what dynamic build do. And it does not update far chunks. Actually, when camera comes away far chunks are destroyed, so they could not be updated.
I'm experimenting with calculating meshes in a separate thread. It can really give nice performance results.
HertzWhnIP, I'll add scripting faqs to documentation. Briefly it is the matter of setting blocks with scripts - blocks are set by Voxeland.SetBlock or Voxeland.SetBlocks function - it should be done on packet receive. And the packet should be send from adding a call to our net component from Voxeland.SetBlocks function (or along with calling SetBlocks if you change blocks by script yourself).
To all who sent pms: check out your inbox, there should be a link to new beta.
A while ago, their was a part of the script that let us have discs, instead of spheres, I was wondering if you could add this back in, as it helped shape the terrain more than just having the sphere does. Also, Would it be possible to change the brush size modifier, to maybe have two sliders, one that changes the width of the shape, and one that increases the height, because when you increase the size now it adds to both, and sometimes I want to increase one or the other.
great update with Voxeland v2 ;everything work fine except this weird thing when I use Land Shader : Voxeland / TerrainAmbient Only
Unity 4.2 use Direct3D 11.
New version is available for download (as some of you may see) - thanks Unity for fast review! Version 2 features:
- new octree data structure.
- automatic land generator.
- new data features: resize, offset, merge with offset, save and load to txt file.
- pseudo-spheric brush shape.
- smoothing brush.
- new Additional Ambient algorithm.
- different type of mesh vertices normals: very crisp, crisp, mesh, smooth.
- tangent fixes for better bumped textures display
- you can choose if you want faces at the sides of your terrain ("Cap bounds") on terrain creation
sefou, this shader is like terrain4, but it has grotesque ambient. It is used mainly for debug purpose, and I'd like to recommend you using terrain4 instead as ambient-only shader will not be available in future versions.
mryan150, personally I don't think that it was useful and user-friendly algorithm, it was not a disk but some tecnically correct but amorphous form. Some considered it as a bug. I'll think about returning of a modified algorithm back.
This looks very interesting, curious how easy would it be to do something like smooth roads using a brush and custom texture/substance?
Edit: Just got this and it is great
I see there is a substance archive included for creating tiling textures but despite modifying the x,y,and blend I still seem to get lines in my terrain. Can you share the substance source file so I can add the atlasing directly to the substances I am using?
Where am I supposed to get updates? Ive had voxeland for awhile now, can't seem to find anywhere to update.. Developer doesn't email me back.
For what it's worth there is a version released yesterday on the Asset Store.
v2 demo scene crashed my mac osx 10.7.4 unity 3.5.7 pro.
demo scene worked in unity 4 pro, but terrain kept rebuilding itself as i moved around in authoring.