Voxels are back-ish report! + List of Suggestions for Devs


#1

Apparently there’s been a few “silent” changes. But since I don’t see any talk about them ill just mention them here, and as our next meeting is next week as @chris is on vacation this week:

Polyvoxels.

  • Voxel (!!! ) with Scalable “Zones”! popping up in Edit window. Needs Voxels.js (very basic) to edit

  • Adding a Polyvoxel zone creates an invisible zone that you start digging into (by default)

  • looks like a very promising direction (especially if we could refer zones to other zones, saving amount of data transferred, as voxels tend to be quite large-volume in data use).

  • Setting to 32, 32, 32 (current max) volumetric, creates a volume of 32x32x32 voxels. and allows you to add/remove white voxels in large groups (too white if skybox)

  • Control (or apple) + MB - removes a clump

  • MB - adds a clump

  • Shift + MB - “Fills”

  • has various modes


    Edged Cubic - Addative Voxels

    Cubic - Subtractive Voxels

    Marching Cubes “Blended” Subtracted Voxels ( I love these )

  • Physics enabled- Anything that is “dug into” has physics. Otherwise entire entity takes. Althought still hard to navigate (if a voxel is a specific size related to the avatar, the avatar should fully be able to walk up it…)

  • Can be scaled accordingly. (flattened, enlarged, etc, etc) and voxels are scaled as well.

  • new PolyVox type and voxelData field (32x32x32 voxel)

New API:

  • Entities.setVoxel(QUuid,glm::vec3,int) function
  • Entities.setVoxelSphere(QUuid,glm::vec3,float,int) function
  • Entities.setVoxels(QUuid,std::function<void(PolyVoxEntityItem&)>) function
  • Not sure what the int value does yet, but it seems 0 is invisible and everything upto 255 is shown, but only 0 is non physical. Maybe material assignments in the future?

#Other stuff

  • There is now a clear cache button under Developer > Network
  • Can select multiple objects - No grouping as of yet
  • Scene save from File / Scene export (svo). Exports selected. Although seems buggy since it also exports ids and simulatorIDs (which I bet it shouldn’t) and cant import yet. Cant really do this without edit permissions though which is good.
  • New Address popup
  • Better camera control in edit mode
  • New Physics? properties, density, gravity, acceleration, friction, restitution, damping, velocities (various)

Suggestions for the Devs on the Voxels

  • Before we get the materials could the white be made 60%? currently if skybox and bloom is enable the entire voxel volume just “lights up”
  • Additive Marching, pretty please :slight_smile: ?
  • At minimum, we should be able to create 128x128x128 Volumetric areas. ( I know they can be a bit costly in size so drawing a line atleast there, for layman that means potential of 2,097,152 voxels per “zone”, of which only a fraction is visible.). Should allow for more detailed repeated. objects or more larger zones for terrain. Prefereable would be 256 x 256 x 256. (After doing a recalculation, if all voxels were used and had a non 0 material value, then potentially it would take if not encoded around 16mb (128 x 128 x 128 (location info) x 8 (material info))… Maybe not.)
  • However for this to fully work, we should be able to first work on a “lower” resolution and increase resolution as we do more and more details. Should also work reverse to lower the detail (also could be utilized by the LOD throttling to their fullest effect).
  • We should be able to refer voxel entities to another voxel entity in the domain,
    so instead of loading all the voxel data per entity, we could just borrow it from
    another already loaded and cached entity: Allowing for referential editing
    (Edit something effect something else using the same reference, and etc).
    would allow data transfer amounts to be small.
  • IF references are difficult, aybe even utilize json as a fileformat for the voxel info in the form of
    { voxelData: “base64-here” } and allow it to be loaded just like and fbx,
    and call it a “.hifixel” or the “.svo.json” format. Utilize the existing cache to its fullest!
  • If possible allow us to define what type of a voxel a voxel is instead of setting the entire voxel “field” to be of one type. This would allow mixing of “Straight” voxels and “Blended” Voxels. Would add even more value

Potential future applications

  • Randomly generated playing fields, “mining”, etc. Destructable environments (hopefully backups can restore those :smiley:
  • Fluid Sim
  • Already a Very Feasable and could be a very-easy to use In-world building tool for basic structures / furnitures / decor. (Its like sculpting parts) I prefer this over prims anyday, because it can be controlled in terms of optimization by client.

#2

[x] dislike, mainly because with the introduction of poly-voxel code to interface, it now crashes instantly upon viewing the willow tree. 2583 to present release do not work on my Win 7 system.


#3

That’s just stability issues that will get ironed out. And probably not even related to polyvoxels (since those are not based on it)
Did you try all the debug (clearing everything) steps? Works fine on my Windows 7.


#4

Yes, did them, all: uninstall, manual directory cleaning, uninstalling VS2013 distro, etc.


#5

You should put the crash log and put it in another thread, maybe someone could iron it out.


#6

well, I like the discussion about voxel. :slight_smile:


#7

The Painting tool is also now present. Draws in a sphere around your avatar, Havent yet tested it on solid surfaces.


#8

Now that I finally found a corrupted voxel that I never created, interface no longer crashes visiting my domain. Time to play again!