diff --git a/examples/libraries/ratTest.js b/examples/libraries/ratTest.js deleted file mode 100644 index c173de6f2b..0000000000 --- a/examples/libraries/ratTest.js +++ /dev/null @@ -1,256 +0,0 @@ -Script.include('steer.js'); -var steer = loadSteer(); -Script.include('tween.js'); -var TWEEN = loadTween(); - -var RAT_NEST_LOCATION = { - x: 0, - y: 0, - z: 0 -}; - -var RAT_SPAWNER_LOCATION = { - x: 0, - y: 0, - z: 0 -}; - -var AVOIDER_BLOCK_START_LOCATION = { - x: 0, - y: 0, - z: 0 -}; - -var ratProperties = { - name: 'Hifi-Rat-Nest', - type: 'Box', - color: { - red: 0, - green: 0, - blue: 255 - }, - dimensions: { - x: 1, - y: 1, - z: 1 - }, - position: RAT_SPAWNER_LOCATION -}; - -var targetProperties = { - name: 'Hifi-Rat', - type: 'Box', - color: { - red: 0, - green: 255, - blue: 0 - }, - dimensions: { - x: 1, - y: 1, - z: 1 - }, - position: RAT_NEST_LOCATION - // script: Script.resolvePath('rat.js') -}; - -var target = Entities.addEntity(targetProperties) - -function addRat() { - var rat = Entities.addEntity(ratProperties); - rats.push(rat); -} - -var rats = []; -addRat(); - -var avoiders = []; - -function addAvoiderBlock() { - - var avoiderProperties = { - name: 'Hifi-Rat-Avoider', - type: 'Box', - color: { - red: 255, - green: 0, - blue: 255 - }, - dimensions: { - x: 1, - y: 1, - z: 1 - }, - position: { - x: 1, - y: 1, - z: 1 - }, - collisionsWillMove:false, - ignoreForCollisions:true, - visible: true - } - - var avoider = Entities.addEntity(avoiderProperties); - avoiders.push(avoider) -} - -addAvoiderBlock(); -tweenAvoider(avoiders[0]); - -function tweenAvoider(entityID) { - var ANIMATION_DURATION = 500; - - var begin = { - x: 1, - y: 1, - z: 1 - } - var target = { - x: 3, - y: 1, - z: 3 - } - var original = { - x: 1, - y: 1, - z: 1 - } - var tweenHead = new TWEEN.Tween(begin).to(target, ANIMATION_DURATION); - - function updateTo() { - Entities.editEntity(entityID, { - position: { - x: begin.x, - y: begin.y, - z: begin.z - } - }) - } - - function updateBack() { - Entities.editEntity(entityID, { - position: { - x: begin.x, - y: begin.y, - z: begin.z - } - }) - } - var tweenBack = new TWEEN.Tween(begin).to(original, ANIMATION_DURATION).onUpdate(updateBack); - - tweenHead.onUpdate(function() { - updateTo() - }) - tweenHead.chain(tweenBack); - tweenBack.chain(tweenHead); - tweenHead.start(); - -} - -function updateTweens() { - TWEEN.update(); -} - -function moveRats() { - rats.forEach(function(rat) { - // print('debug1') - - var avatarFlightVectors = steer.fleeAllAvatars(rat); - print('avatarFlightVectors' + avatarFlightVectors) - var i; - var averageAvatarFlight; - - for (i = 0; i < avatarFlightVectors.length; i++) { - print('debug2') - - if (i === 0) { - averageAvatarFlight = avatarFlightVectors[0]; - } else { - averageAvatarFlight = Vec3.sum(avatarFlightVectors[i - 1], avatarFlightVectors[i]) - } - } - - averageAvatarFlight = Vec3.multiply(averageAvatarFlight, 1 / avatarFlightVectors.length); - - - // var avoidBlockVectors = steer.fleeAvoiderBlocks(rat); - - // var averageAvoiderFlight; - - // for (i = 0; i < avoidBlockVectors.length; i++) { - // if (i === 0) { - // averageAvoiderFlight = avoidBlockVectors[0]; - // } else { - // averageAvoiderFlight = Vec3.sum(avoidBlockVectors[i - 1], avoidBlockVectors[i]) - // } - // } - - // averageAvoiderFlight = Vec3.multiply(averageAvoiderFlight, 1 / avoidBlockVectors.length); - - - - var averageVector; - var seek = steer.arrive(rat, target); - averageVector = seek; - var divisorCount = 1; - if (avatarFlightVectors.length > 0) { - divisorCount++; - averageVector = Vec3.sum(averageVector, averageAvatarFlight); - } - // if (avoidBlockVectors > 0) { - // divisorCount++ - // averageVector = Vec3.sum(averageVector, averageAvoiderFlight); - // } - - averageVector = Vec3.multiply(averageVector, 1 / divisorCount); - print('AVERAGE VECTOR:::' + JSON.stringify(averageVector)) - // castRay(rat); - Entities.editEntity(rat, { - velocity: averageVector - }) - - }) -} - -Script.update.connect(moveRats) -Script.update.connect(updateTweens); - -function castRay(rat) { - var ratProps = Entities.getEntityProperties(rat, ["position", "rotation"]); - var shotDirection = Quat.getFront(ratProps.rotation); - var pickRay = { - origin: ratProps.position, - direction: shotDirection - }; - - var intersection = Entities.findRayIntersection(pickRay, true); - if (intersection.intersects) { - var distance = Vec3.subtract(intersection.properties.position, ratProps.position); - distance = Vec3.length(distance); - // print('INTERSECTION:::'+distance); - } else { - print('no intersection') - } -} - -function cleanup() { - while (rats.length > 0) { - Entities.deleteEntity(rats.pop()); - } - - while (avoiders.length > 0) { - Entities.deleteEntity(avoiders.pop()); - } - Entities.deleteEntity(target); - Script.update.disconnect(moveRats); - Script.update.disconnect(updateTweens); - - -} - -Script.scriptEnding.connect(cleanup) - -// Script.setInterval(function() { -// addRat(); -// }) \ No newline at end of file