56 lines · 1.3 KB · JavaScript
RawDownload
////  gravity.js////  Created by Alan-Michael Moody on 7/24/17//  Copyright 2017 High Fidelity, Inc.////  Distributed under the Apache License, Version 2.0.//  See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html// (function () {     var _entityID;     this.preload = function (entityID) {        _entityID = entityID;    };     function update(deltatime) {        var planet = Entities.getEntityProperties(_entityID);         //normalization happens in rotationBetween.        var direction = Vec3.subtract(MyAvatar.position, planet.position);        var localUp = Quat.getUp(MyAvatar.orientation);         MyAvatar.orientation = Quat.normalize(Quat.multiply(Quat.rotationBetween(localUp, direction), MyAvatar.orientation));    }     function init() {        Script.update.connect(update);    }     function clean() {        Script.update.disconnect(update);        MyAvatar.orientation = Quat.fromVec3Degrees({            x: 0,            y: 0,            z: 0        });    }     var _switch = true;     this.clickDownOnEntity = function(uuid, mouseEvent) {         if (_switch) {            init();        } else {            clean();        }        _switch = !_switch;    };     Script.scriptEnding.connect(clean); });