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.
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
Monday, July 25, 2011
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();
}
Subscribe to:
Posts (Atom)
Popular Posts
-
These are the robots I've been working on for the last 12 months. They each weigh about 11 tonnes and have a 17 meter reach. The control...
-
This hard-to-see screenshot is a Generic Node Graph Editing framework I'm building. I'm hoping it can be used for any kind of node...
-
After my last post, I decided to benchmark the scaling properties of Stackless, Kamaelia, Fibra using the same hackysack algorithm. Left axi...
-
So, you've created a car prefab using WheelCollider components, and now you can apply a motorTorque to make the whole thing move along. ...
-
It is about 8 degrees C this morning. So cold, especially when last week we had high twenties. To help solve the problem, a friend suggeste...
-
At the last few GameJams, I've seen an increase in the use of RAD game tools, some of them even being developed by the participants them...
-
MiddleMan: A Pub/Sub and Request/Response server in Go. This is my first Go project. It is a rewrite of an existing Python server, based o...
-
I've just uploaded Fibra 2 to the cheeseshop. Fibra 2 includes the promised non-blocking plugin, which allows a generator based task to...
-
I've just read a newspaper article (courtesy of Kranzky ) from WA Business News documenting the malfeasance, gross negligence and misc...
-
#!/usr/bin/env python import io import asyncio import websockets import logging import collections logger = logging.getLogger('w...