Up tonight, I am going to take care of a few loose ends in my raft Three.js / Physijs game.
Mostly, this involves cleaning things up like the invidual river banks. I create a helper function for this:
function bank(offset) { var width = 100 , half = width / 2; var bank = new Physijs.BoxMesh( new THREE.CubeGeometry(1400, 100, 100), Physijs.createMaterial( new THREE.MeshNormalMaterial(), 0.2, 0.9 ), 0 ); bank.position.x = 100; if (offset < 0) { bank.position.z = offset - half; } else { bank.position.z = offset + half; } return bank; }One particular problem that I notice is that, as my river works itself back and forth across the land, there are gaps in the banks:
I solve this my adding "joints" to the turns in the river segments:
var joint = new THREE.Mesh( new THREE.CylinderGeometry(300, 300, 1), new THREE.MeshBasicMaterial({color: 0x483D8B}) ); joint.position.z = offset.z; joint.position.x = offset.x; scene.add(joint);Not the cleanest solution, but it works:
I do the same for the end of the game (adding a little pond). Hopefully all of this leaves me with decent enough code for kids to type in. I will pick back up tomorrow with adding a few obstacles in the river. That ought to be enough for this game.
Day #490
No comments:
Post a Comment