mirror of
https://github.com/overte-org/overte.git
synced 2025-04-25 13:53:38 +02:00
Update XylophoneRezzer.js
This commit is contained in:
parent
0d11be9488
commit
5c59bb1714
1 changed files with 17 additions and 14 deletions
|
@ -1,20 +1,24 @@
|
||||||
var soundFiles = ["C2.wav", "D2.wav", "E2.wav", "F2.wav", "G2.wav", "A2.wav", "B2.wav", "C3.wav"];
|
var soundFiles = ["C2.wav", "D2.wav", "E2.wav", "F2.wav", "G2.wav", "A2.wav", "B2.wav", "C3.wav"];
|
||||||
var diffuseFile = "http://mpassets.highfidelity.com/3fd92e5e-93cf-4bc1-b2f1-c6bae5629814-v1/xylotex_bar";
|
var keyModelURL = Script.resolvePath("xyloKey_2_a_e.fbx");
|
||||||
|
var keyScriptURL = Script.resolvePath("xylophoneKey.js");
|
||||||
|
var TEXBLACK = Script.resolvePath("xylotex_bar_black.png");
|
||||||
|
var malletModelURL = Script.resolvePath("Mallet2-2pc.fbx");
|
||||||
var center = MyAvatar.position;
|
var center = MyAvatar.position;
|
||||||
var fwd = {x:0, y:0, z:-1};
|
var fwd = {x:0, y:0, z:-1};
|
||||||
|
|
||||||
var xyloFramePos = Vec3.sum(center, Vec3.multiply(fwd, 0.8));
|
var xyloFramePos = Vec3.sum(center, Vec3.multiply(fwd, 0.8));
|
||||||
var xyloFrameID = Entities.addEntity( {
|
var xyloFrameID = Entities.addEntity( {
|
||||||
name: "Xylophone",
|
name: "Xylophone",
|
||||||
type: "Model",
|
type: "Model",
|
||||||
modelURL: "http://mpassets.highfidelity.com/3fd92e5e-93cf-4bc1-b2f1-c6bae5629814-v1/xylophoneFrameWithWave.fbx",
|
modelURL: Script.resolvePath("xylophoneFrameWithWave.fbx"),
|
||||||
position: xyloFramePos,
|
position: xyloFramePos,
|
||||||
rotation: Quat.fromVec3Radians({x:0, y:Math.PI, z:0}),
|
rotation: Quat.fromVec3Radians({x:0, y:Math.PI, z:0}),
|
||||||
shapeType: "static-mesh",
|
shapeType: "static-mesh",
|
||||||
});
|
});
|
||||||
|
|
||||||
center.y += (0.45); //key Y offset from frame
|
center.y += (0.45); //key Y offset from frame
|
||||||
var keyPos;
|
var keyPos;
|
||||||
|
var keyRot;
|
||||||
for (i=1, len=soundFiles.length; i<=len; i++) {
|
for (i=1, len=soundFiles.length; i<=len; i++) {
|
||||||
|
|
||||||
keyRot = Quat.fromVec3Radians({x:0, y:(0.9 - (i*0.2)), z:0});
|
keyRot = Quat.fromVec3Radians({x:0, y:(0.9 - (i*0.2)), z:0});
|
||||||
|
@ -25,18 +29,18 @@ for (i=1, len=soundFiles.length; i<=len; i++) {
|
||||||
};
|
};
|
||||||
|
|
||||||
var td = {
|
var td = {
|
||||||
"file4": (diffuseFile + i + ".png"),
|
"file4": Script.resolvePath("xylotex_bar" + i + ".png"),
|
||||||
"file5": (diffuseFile + "_black.png")
|
"file5": TEXBLACK
|
||||||
};
|
};
|
||||||
|
|
||||||
var keyID = Entities.addEntity( {
|
var keyID = Entities.addEntity( {
|
||||||
name: ("XyloKey" + i),
|
name: ("XyloKey" + i),
|
||||||
type: "Model",
|
type: "Model",
|
||||||
modelURL: "http://mpassets.highfidelity.com/3fd92e5e-93cf-4bc1-b2f1-c6bae5629814-v1/xyloKey_2_a_e.fbx",
|
modelURL: keyModelURL,
|
||||||
position: keyPos,
|
position: keyPos,
|
||||||
rotation: keyRot,
|
rotation: keyRot,
|
||||||
shapeType: "static-mesh",
|
shapeType: "static-mesh",
|
||||||
script: "http://mpassets.highfidelity.com/3fd92e5e-93cf-4bc1-b2f1-c6bae5629814-v1/xylophoneKey.js",
|
script: keyScriptURL,
|
||||||
textures: JSON.stringify(td),
|
textures: JSON.stringify(td),
|
||||||
userData: JSON.stringify(ud),
|
userData: JSON.stringify(ud),
|
||||||
parentID: xyloFrameID,
|
parentID: xyloFrameID,
|
||||||
|
@ -55,8 +59,7 @@ if (intersection.intersects && (intersection.distance < 10)) {
|
||||||
Entities.editEntity(xyloFrameID, {position: xyloFramePos});
|
Entities.editEntity(xyloFrameID, {position: xyloFramePos});
|
||||||
rezMallets();
|
rezMallets();
|
||||||
}, 2000); //timeout (ms)
|
}, 2000); //timeout (ms)
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
print("No surface detected.");
|
print("No surface detected.");
|
||||||
rezMallets();
|
rezMallets();
|
||||||
}
|
}
|
||||||
|
@ -65,7 +68,7 @@ function rezMallets() {
|
||||||
var malletProps = {
|
var malletProps = {
|
||||||
name: "Xylophone Mallet",
|
name: "Xylophone Mallet",
|
||||||
type: "Model",
|
type: "Model",
|
||||||
modelURL: "http://mpassets.highfidelity.com/3fd92e5e-93cf-4bc1-b2f1-c6bae5629814-v1/Mallet2-2pc.fbx",
|
modelURL: malletModelURL,
|
||||||
collidesWith: "static,dynamic,kinematic,",
|
collidesWith: "static,dynamic,kinematic,",
|
||||||
collisionMask: 7,
|
collisionMask: 7,
|
||||||
collisionsWillMove: 1,
|
collisionsWillMove: 1,
|
||||||
|
@ -84,4 +87,4 @@ function rezMallets() {
|
||||||
malletProps.rotation = Quat.fromVec3Radians({x:0, y:Math.PI + 0.1, z:0}),
|
malletProps.rotation = Quat.fromVec3Radians({x:0, y:Math.PI + 0.1, z:0}),
|
||||||
Entities.addEntity(malletProps);
|
Entities.addEntity(malletProps);
|
||||||
Script.stop();
|
Script.stop();
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue