40 lines
1.7 KiB
JavaScript
40 lines
1.7 KiB
JavaScript
//
|
|
// Copyright 2016 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 _this = this;
|
|
var IMPORT_URL = "http://hifi-content.s3.amazonaws.com/caitlyn/production/lazybonesToybox/cameras/cameraFlash2.svo.json";
|
|
var soundURL ='http://hifi-content.s3.amazonaws.com/caitlyn/production/lazybonesToybox/cameras/353044__montclairguy__camera-sound.wav';
|
|
var ringSound;
|
|
|
|
this.preload = function(entityID) {
|
|
print("preload("+entityID+")");
|
|
_this.entityID = entityID;
|
|
ringSound = SoundCache.getSound(soundURL);
|
|
}
|
|
|
|
this.startNearGrab = function(entityID, mouseEvent) {
|
|
print("START NEAR GRAB");
|
|
var entProperties = Entities.getEntityProperties(this.entityID);//, ["position", "rotation"]);//, "position").position;//Entities.getEntityProperties(this);
|
|
var jointNames = Entities.getJointNames(entProperties);
|
|
var jointIndex = Entities.getJointIndex(entProperties, "Flash");
|
|
print("JOINT INDEX IS "+jointIndex);
|
|
var jointLocInObjectFrame = Entities.getAbsoluteJointTranslationInObjectFrame(entProperties, jointIndex);
|
|
var jointLocInWorld = Vec3.sum(entProperties.position, Vec3.multiplyQbyV(entProperties.rotation, jointLocInObjectFrame));
|
|
print("LOCATION IS "+JSON.stringify(jointLocInWorld));
|
|
Audio.playSound(ringSound, {
|
|
position: jointLocInWorld,
|
|
volume: 0.5
|
|
});
|
|
Script.setTimeout(function(){},2555);
|
|
var jointLocSphere = Entities.addEntity({type:"Sphere", position: jointLocInWorld, Lifetime: 30});
|
|
Clipboard.importEntities(IMPORT_URL);
|
|
Clipboard.pasteEntities(jointLocInWorld);
|
|
}
|
|
});
|