93 lines · 2.4 KB · JavaScript
RawDownload
////  editModelExample.js//  examples////  Created by Brad Hefta-Gaub on 12/31/13.//  Copyright 2014 High Fidelity, Inc.////  This is an example script that demonstrates creating and editing a model////  Distributed under the Apache License, Version 2.0.//  See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html// Script.include("libraries/globals.js"); var count = 0;var moveUntil = 2000;var stopAfter = moveUntil + 100; var pitch = 90.0;var yaw = 0.0;var roll = 180.0;var rotation = Quat.fromPitchYawRollDegrees(pitch, yaw, roll) var originalProperties = {    position: { x: 2.0,                y: 2.0,                z: 0.5 },     radius : 0.25,     color: { red: 0,             green: 255,             blue: 0 },     modelURL: HIFI_PUBLIC_BUCKET + "meshes/Feisar_Ship.FBX",    //modelURL: HIFI_PUBLIC_BUCKET + "meshes/birarda/birarda_head.fbx",    //modelURL: HIFI_PUBLIC_BUCKET + "meshes/pug.fbx",    //modelURL: HIFI_PUBLIC_BUCKET + "meshes/newInvader16x16-large-purple.svo",    //modelURL: HIFI_PUBLIC_BUCKET + "meshes/minotaur/mino_full.fbx",    //modelURL: HIFI_PUBLIC_BUCKET + "meshes/Combat_tank_V01.FBX",        rotation: rotation}; var positionDelta = { x: 0.002, y: 0.002, z: 0.0 };  var entityID = Entities.addEntity(originalProperties); function moveEntity(deltaTime) {    if (count >= moveUntil) {         // delete it...        if (count == moveUntil) {            print("calling Entities.deleteEntity()");            Entities.deleteEntity(entityID);        }         // stop it...        if (count >= stopAfter) {            print("calling Script.stop()");            Script.stop();        }         count++;        return; // break early    }     //print("count =" + count);    count++;     //print("entityID.creatorTokenID = " + entityID.creatorTokenID);     var newProperties = {        position: {                x: originalProperties.position.x + (count * positionDelta.x),                y: originalProperties.position.y + (count * positionDelta.y),                z: originalProperties.position.z + (count * positionDelta.z)        },    };      //print("entityID = " + entityID);    //print("newProperties.position = " + newProperties.position.x + "," + newProperties.position.y+ "," + newProperties.position.z);     Entities.editEntity(entityID, newProperties);}  // register the call back so it fires before each data sendScript.update.connect(moveEntity);