end of day

This commit is contained in:
James B. Pollack 2015-10-05 18:29:35 -07:00
parent 41b2f82be5
commit 6cc3077d67

View file

@ -1,7 +1,7 @@
// //
// createRack.js // createRack.js
// //
// Created by James B. Pollack on10/5/2015 // Created by James B. Pollack @imgntn on 10/5/2015
// Copyright 2015 High Fidelity, Inc. // Copyright 2015 High Fidelity, Inc.
// //
// This is a script that creates a persistent basketball rack. // This is a script that creates a persistent basketball rack.
@ -15,6 +15,8 @@ var basketballURL = HIFI_PUBLIC_BUCKET + "models/content/basketball2.fbx";
var collisionSoundURL = HIFI_PUBLIC_BUCKET + "sounds/basketball/basketball.wav"; var collisionSoundURL = HIFI_PUBLIC_BUCKET + "sounds/basketball/basketball.wav";
var rackURL = HIFI_PUBLIC_BUCKET + "models/basketball_hoop/basketball_rack.fbx"; var rackURL = HIFI_PUBLIC_BUCKET + "models/basketball_hoop/basketball_rack.fbx";
var rackCollisionHullURL = HIFI_PUBLIC_BUCKET + "models/basketball_hoop/basketball_hoop_collision_hull.obj"; var rackCollisionHullURL = HIFI_PUBLIC_BUCKET + "models/basketball_hoop/basketball_hoop_collision_hull.obj";
var basketballSwitcherURL= Script.resolvePath('basketballSwitcher.js');
var DIAMETER = 0.30; var DIAMETER = 0.30;
var rackStartPosition = var rackStartPosition =
@ -41,7 +43,7 @@ var rack = Entities.addEntity({
z: 1.73 z: 1.73
}, },
collisionsWillMove: false, collisionsWillMove: false,
ignoreForCollisions: true, ignoreForCollisions: false,
compoundShapeURL: rackCollisionHullURL compoundShapeURL: rackCollisionHullURL
}); });
@ -50,8 +52,8 @@ var collidingBalls = [];
function createNonCollidingBalls() { function createNonCollidingBalls() {
var i; var i;
var j;
var position = rackStartPosition; var position = rackStartPosition;
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
var nonCollidingBall = Entities.addEntity({ var nonCollidingBall = Entities.addEntity({
type: "Model", type: "Model",
@ -66,12 +68,13 @@ function createNonCollidingBalls() {
y: DIAMETER, y: DIAMETER,
z: DIAMETER z: DIAMETER
}, },
collisionsWillMove: true, collisionsWillMove: false,
ignoreForCollisions: false, ignoreForCollisions: true,
modelURL: basketballURL modelURL: basketballURL
}); });
nonCollidingBalls.push(nonCollidingBall); nonCollidingBalls.push(nonCollidingBall);
} }
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
var nonCollidingBall = Entities.addEntity({ var nonCollidingBall = Entities.addEntity({
type: "Model", type: "Model",
@ -86,7 +89,7 @@ function createNonCollidingBalls() {
y: DIAMETER, y: DIAMETER,
z: DIAMETER z: DIAMETER
}, },
collisionsWillMove: true, collisionsWillMove: false,
ignoreForCollisions: false, ignoreForCollisions: false,
modelURL: basketballURL modelURL: basketballURL
}); });
@ -96,10 +99,12 @@ function createNonCollidingBalls() {
function createCollidingBalls() { function createCollidingBalls() {
var position = rackStartPosition; var position = rackStartPosition;
var i;
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
var collidingBall = Entities.addEntity({ var collidingBall = Entities.addEntity({
type: "Model", type: "Model",
name: 'Colliding Basketball', name: 'Colliding Basketball',
shapeType:'Sphere',
position: { position: {
x: position.x, x: position.x,
y: position.y + DIAMETER * 2, y: position.y + DIAMETER * 2,
@ -110,27 +115,16 @@ function createCollidingBalls() {
y: DIAMETER, y: DIAMETER,
z: DIAMETER z: DIAMETER
}, },
// restitution: 1.0, restitution: 1.0,
// linearDamping: 0.00001, linearDamping: 1,
gravity: {
x: 0,
y: -9.8,
z: 0
},
collisionsWillMove: true, collisionsWillMove: true,
ignoreForCollisions: false, ignoreForCollisions: false,
modelURL: basketballURL modelURL: basketballURL,
script:basketballSwitcherURL
}); });
collidingBalls.push(collidingBall); collidingBalls.push(collidingBall);
} }
} }
function adjustBallPositions() {
var i;
for (i = 0; i < nonCollidingBalls.length; i++) {
Entities.editEntity(nonCollidingBalls[i])
}
}
createNonCollidingBalls(); createNonCollidingBalls();
createCollidingBalls(); createCollidingBalls();