cleanup and bug fixes

This commit is contained in:
ericrius1 2016-03-07 16:16:06 -08:00
parent 3dc39600cd
commit d4bc83f408
4 changed files with 96 additions and 22 deletions

View file

@ -1,3 +1,13 @@
//
// flowers.fs
// examples/homeContent/plant
//
// Created by Eric Levin on 3/7/16.
// Copyright 2016 High Fidelity, Inc.
//
// This fragment shader is designed to shader a sphere to create the effect of a blooming flower
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
#define TWO_PI 6.28318530718

View file

@ -33,6 +33,9 @@
max: 1000
};
_this.canCreateFlower = true;
_this.flowersBloomingSound = SoundCache.getSound("https://s3-us-west-1.amazonaws.com/hifi-content/eric/Sounds/flowersBlooming.wav");
_this.soundPlaying = false;
_this.BLOOM_VOLUME = 0.4;
};
@ -57,8 +60,16 @@
flower.grow();
});
if (!_this.soundPlaying) {
_this.position = Entities.getEntityProperties(_this.entityID, "position").position;
_this.soundPlaying = true;
_this.bloomSoundInjector = Audio.playSound(_this.flowersBloomingSound, {position: _this.position, volume: _this.BLOOM_VOLUME});
}
},
stopWatering: function() {
_this.bloomSoundInjector.stop();
_this.soundPlaying = false;
},
createFlower: function(position, surfaceNormal) {
@ -114,8 +125,7 @@
preload: function(entityID) {
_this.entityID = entityID;
var SHADER_URL = "file:///C:/Users/Eric/hifi/examples/homeContent/plant/flower.fs"
// var SHADER_URL = "https://s3-us-west-1.amazonaws.com/hifi-content/eric/shaders/flower.fs";
var SHADER_URL = "https://s3-us-west-1.amazonaws.com/hifi-content/eric/shaders/flower.fs?v1";
_this.flowerUserData = {
ProceduralEntity: {
shaderUrl: SHADER_URL,
@ -128,12 +138,10 @@
},
unload: function() {
print("EBL UNLOAD GROWING PLANT SCRIPT");
// _this.flowers.forEach(function(flower) {
// Entities.deleteEntity(flower.id);
// })
if (_this.bloomSoundInjector) {
_this.bloomSoundInjector.stop();
delete _this.bloomSoundInjector;
}
}
};

View file

@ -18,8 +18,12 @@ orientation = Quat.fromVec3Degrees(orientation);
var bowlPosition = Vec3.sum(MyAvatar.position, Vec3.multiply(2, Quat.getFront(orientation)));
var BOWL_MODEL_URL = "http://hifi-content.s3.amazonaws.com/alan/dev/Flowers--Bowl.fbx";
var bowlDimensions = {x: 0.518, y: 0.1938, z: 0.5518};
var bowl= Entities.addEntity({
var bowlDimensions = {
x: 0.518,
y: 0.1938,
z: 0.5518
};
var bowl = Entities.addEntity({
type: "Model",
modelURL: BOWL_MODEL_URL,
dimensions: bowlDimensions,
@ -30,8 +34,16 @@ var bowl= Entities.addEntity({
var PLANT_MODEL_URL = "http://hifi-content.s3.amazonaws.com/alan/dev/Flowers--Moss-Rock.fbx";
var PLANT_SCRIPT_URL = Script.resolvePath("growingPlantEntityScript.js?v1" + Math.random().toFixed(2));
var plantDimensions = {x: 0.52, y: 0.2600, z: 0.52};
var plantPosition = Vec3.sum(bowlPosition, {x: 0, y: plantDimensions.y/2, z: 0});
var plantDimensions = {
x: 0.52,
y: 0.2600,
z: 0.52
};
var plantPosition = Vec3.sum(bowlPosition, {
x: 0,
y: plantDimensions.y / 2,
z: 0
});
var plant = Entities.addEntity({
type: "Model",
modelURL: PLANT_MODEL_URL,
@ -52,12 +64,46 @@ var waterCan = Entities.addEntity({
name: "hifi-water-can",
modelURL: WATER_CAN_MODEL_URL,
script: WATER_CAN_SCRIPT_URL,
dimensions: {x: 0.1859, y: 0.2762, z: 0.4115},
dimensions: {
x: 0.1859,
y: 0.2762,
z: 0.4115
},
position: waterCanPosition,
angularDamping: 1,
dynamic: true,
gravity: { x: 0.0, y: -2.0, z: 0},
rotation: waterCanRotation
gravity: {
x: 0.0,
y: -2.0,
z: 0
},
rotation: waterCanRotation,
userData: JSON.stringify({
wearable: {
joints: {
RightHand: [{
x: 0.024,
y: 0.173,
z: 0.152
}, {
x: 0.374,
y: 0.636,
z: -0.638,
w: -0.215
}],
LeftHand: [{
x: -0.0348,
y: 0.201,
z: 0.166
}, {
x: 0.4095,
y: -0.625,
z: 0.616,
w: -0.247
}]
}
}
})
});
@ -66,8 +112,16 @@ var waterSpoutRotation = Quat.multiply(waterCanRotation, Quat.fromPitchYawRollDe
var waterSpout = Entities.addEntity({
type: "Box",
name: "hifi-water-spout",
dimensions: {x: 0.02, y: 0.02, z: 0.07},
color: {red: 200, green: 10, blue: 200},
dimensions: {
x: 0.02,
y: 0.02,
z: 0.07
},
color: {
red: 200,
green: 10,
blue: 200
},
position: waterSpoutPosition,
rotation: waterSpoutRotation,
parentID: waterCan,

View file

@ -37,7 +37,6 @@
startHold: function() {
_this.findGrowableEntities();
print("EB: GROWABLE ENTITIES length " + _this.growableEntities.length)
},
releaseEquip: function() {
@ -58,7 +57,10 @@
});
_this.waterPouring = false;
//water no longer pouring...
_this.waterInjector.stop();
if (_this.waterInjector) {
_this.waterInjector.stop();
}
Entities.callEntityMethod(_this.mostRecentIntersectedGrowableEntity, 'stopWatering');
},
continueEquip: function() {
_this.continueHolding();
@ -85,7 +87,6 @@
});
_this.waterPouring = true;
if (!_this.waterInjector) {
print("PLAY SOUND")
_this.waterInjector = Audio.playSound(_this.waterSound, {
position: spoutProps.position,
loop: true
@ -122,6 +123,7 @@
position: intersection.intersection,
surfaceNormal: intersection.surfaceNormal
});
_this.mostRecentIntersectedGrowableEntity = intersection.entityID;
Entities.callEntityMethod(intersection.entityID, 'continueWatering', [data]);
}
@ -184,7 +186,7 @@
alpha: 1.0,
alphaFinish: 1.0,
emitterShouldTrail: true,
textures: "https://s3-us-west-1.amazonaws.com/hifi-content/eric/images/raindrop.png?v2",
textures: "https://s3-us-west-1.amazonaws.com/hifi-content/eric/images/raindrop.png",
});
},