voxel-highlight
highlight the voxel the player is currently looking at, along with the adjacent voxel (where a block would be placed) when the control key is down
npm install voxel-highlight
or just add to the package.json file of your voxel-engine project
example
var highlight = var highlighter = highlighter
or using as constructor:
var Highlight = var highlighter = game
api and usage
highlight(gameInstance, optionalOptions)
options can be:
frequency: how often in milliseconds to highlight default is 100 distance: how far in game distance things should be highlighted default is 10 geometry: threejs geometry to use for the highlight default is a cubegeometry material: material to use with the geometry default is a wireframe wireframeLinewidth: if using default material wireframe default is 3 wireframeOpacity: if using default material wireframe default is 05 color: highlight cube color default is 0x000000 animate: animate movement of highlight cuboid default is false
Default animation function:
opts { if !position || !targetPosition || !deltaTime return; var rate = 10 // speed in voxels per second if Math < 005 && Math < 005 && Math < 005 position return; // close enough to snap and be done deltaTime = deltaTime / 1000 // usually around .016 seconds (60 FPS) positionx += rate * deltaTime * targetPosition0 - positionx positiony += rate * deltaTime * targetPosition1 - positiony positionz += rate * deltaTime * targetPosition2 - positionz }
events
highlighter.on('highlight', function(voxelPosArray) {})
called when a voxel is highlighted
highlighter.on('remove', function(voxelPosArray) {})
called when a voxel is un-highlighted
highlighter.on('highlight-adjacent', function(voxelPosArray) {})
called when an adjacent voxel is highlighted
highlighter.on('remove-adjacent', function(voxelPosArray) {})
called when an adjacent voxel is un-highlighted
highlighter.on('highlight-select', funnction(selectionBounds) {}
called when a selection of more than one voxel is highlighted. selectionBounds has .start and .end position arrays
highlighter.on('highlight-deselect', funnction(selectionBounds) {}
called when a selection of more than one voxel is no longer highlighted. selectionBounds has .start and .end position arrays
Get the demo running on your machine
check out voxel-hello-world for demo usage
license
BSD