Voxels server is no longer. Long live the Entity server!


Hi All,

As I mentioned at the Friday meeting, we are streamlining everything around Entities. We took another step in that direction today with the removal of the Voxel server. This step is crucial as we start to further enable the ability to keep more complex Entity types in the octree.

Keep on the look out for an exciting update to the capabilities of Entities shortly.



Means all voxels in the domain dissapear and theres nothing to stay on anymore ?!


From recent GIT activity, it is likely standing on meshes may be possible soon enough.

Walking into walls too, I hope! :slight_smile:


Yes long live the Entity.
Buts sadly this spells the end of a system, the end of an idea, in fact one of the primary highlites of the startup specs was the message “we are betting on voxels” Sadly so was I, I have just binned 70 voxels scripts that I have been working on for several months, this represents tons of lost hours of work. Also I am wondering what this does to the concept of octree content scalability, is that out the window too? Obviously any talk of currency being related to voxels is also history (thank god) I never did like that idea. But in closing I am not unhappy, just adding a little ceremony to the passing of a system that I had become good at and spent many many hours working with.


Anyone got a replacement javascript for the simple one meter deep start-x,strat-y to finish-x,finish-y voxel “base” like setGrass.js that I can run to put my build base back?


What would also be useful is if there was a way to convert an existing set of voxels into the equivalent set of entities on a domain. Say, feed it the file for that domain that describes the placement of all the voxels or that describes the form and placement of the voxel-based objects, and have it spit out a set of entities that are of the same form and placement as those voxels were on that domain. Or does something like that already exist?


Its actually pretty easy to convert a voxel script into an entity script, the question is, why would you?
@Ai_Austin that base can now be created by a single entity placed at the position and stretched to the desired size just like a prim, a script for this is hardly needed. There is currently no collisions on entities so the floor becomes a visual aid only as your avatar wont land on it but goes right thru.

Take a look at this doc http://docs.highfidelity.io/v1.0/docs/how-to-load-and-run-regular-scripts#running-a-local-script
It was originally written as a voxel script, when voxels got the heave-ho I converted it to be entities instead, you could change out the color part or switch all the colors to {0,255,0} which is full green.

But never let it be said I dont make it as easy as I can…
Here is a simple entity script to make a green platform under your avatar

var myPosition = MyAvatar.position;
var x = myPosition.x;
var y = myPosition.y - 1;
var z = myPosition.z;
function build (){
    var properties = {
        type: "Box",
        position: {x: x, y: y, z: z},
        color: {red:100, green:200, blue:100},
        dimensions: {x: 20, y: 1, z: 20},
    var  floor = Entities.addEntity(properties);           

I had a voxel land surface, I replaced it with a blank green colored entity but that looked bad because of the unnatural reflections due to no specularity settings, so I replaced that with a model of a basic flat rectangle with a nice lawn texture on it.
@Nathan_Adored any voxel script could conceivably be converted into an entity script but not just a voxel object and not all the voxels in a domain, if the object was built using a script then its fine.


Good point @Adrian… and that had occurred to me after I did the posting.

But until entity physics is working I have now moved everything down to Y=0 level and turned on collide with world boundaries. I have a “visual” floor and surround with a skybox and a simple mesh visual floor and surrounding hills “terrain”.