Thursday, July 28, 2011

Unity3D Locomotion Update

I didn't see this mentioned anywhere, but it appears that the Unity3D Locomotion System has had an update. It's great to see this project is not being neglected!

Wednesday, July 27, 2011

Thoughts on Unity3D -> Allegorithmic Integration

Unity3D 3.4 includes new integration with Allegorithmic and their Substance engine.

What does this give you? Simply, you have a new material type which you can import and use in Unity. If you want to create these materials yourself, you'll need to purchase other tools to do that for you, Unity doesn't do that.

You can also purchase a bunch of materials from the Unity Asset Store. But don't be fooled by the screenshots, you won't get nice bumpy objects just by slapping a Substance onto them. To make that a reality, Unity3D will need to support displacement shaders. Until then substances are really just highly configurable textures.

Tuesday, July 26, 2011

Unity3D 3.4 is out!

Unity3D 3.4 is out! Woah, awesome features!

Monday, July 25, 2011

Unity3D Screen Grabs

Some recent work with Unity3D surface shaders.


Monday, July 04, 2011

Spatial Hash in Javascript, for 2D.

var SpatialHash = function(cellSize) {
this.idx = {};
this.cellSize = cellSize;
}

SpatialHash.prototype.insert = function(x, y, obj) {
var cell = [];
var keys = this.keys(x,y);
for(var i in keys) {
var key = keys[i];
if(key in this.idx) {
cell = this.idx[key];
} else {
this.idx[key] = cell;
}
if(cell.indexOf(obj) == -1)
cell.push(obj);
}
}

SpatialHash.prototype.query = function(x, y) {
var key = this.key(x, y);
if(this.idx[key] != undefined)
return this.idx[key];
return [];
}

SpatialHash.prototype.keys = function (x, y) {
var o = this.cellSize / 2;
return [this.key(x-o, y+0),
this.key(x-0, y+0),
this.key(x+o, y+0),
this.key(x-o, y+o),
this.key(x-0, y+o),
this.key(x+o, y+o),
this.key(x-o, y-o),
this.key(x-0, y-o),
this.key(x+o, y-o)];
}

SpatialHash.prototype.key = function(x, y) {
var cellSize = this.cellSize;
x = Math.floor(x/cellSize)*cellSize;
y = Math.floor(y/cellSize)*cellSize;
return x.toString() + ":" + y.toString();
}

Popular Posts