From 38e3e6ce018a8fb16c4a0cf7ad56fd2aec875698 Mon Sep 17 00:00:00 2001 From: skaljac Date: Tue, 30 Nov 2021 17:03:02 +0100 Subject: [PATCH 1/3] Wind parameters added --- avatars/avatars.js | 39 +++++++++++++++++++++++++++++++++++++++ metaversefile-api.js | 3 +++ world.js | 2 ++ 3 files changed, 44 insertions(+) diff --git a/avatars/avatars.js b/avatars/avatars.js index fbdd851b63..eb8e7cac95 100644 --- a/avatars/avatars.js +++ b/avatars/avatars.js @@ -2289,6 +2289,45 @@ class Avatar { }; this.options.visemes && _updateVisemes(); + const _applyWind = () => { + + const windParameters = metaversefile.useWorld().getWindParameters(); + + if (windParameters.forceFactor != 0) { + + const now2 = this.now / 1000 * 2; + var noiseX = (simplexes[0].noise2D(now2, now2)); + var noiseY = (simplexes[1].noise2D(now2, now2)); + var noiseZ = (simplexes[2].noise2D(now2, now2)); + + noiseX = (Math.abs(noiseX) * windParameters.direction.x) + windParameters.gravity.x; + noiseY = (Math.abs(noiseY) * windParameters.direction.y) + windParameters.gravity.y; + noiseZ = (Math.abs(noiseZ) * windParameters.direction.z) + windParameters.gravity.z; + + for(var i=0;i Date: Tue, 30 Nov 2021 18:33:55 +0100 Subject: [PATCH 2/3] Small change in parameters check --- avatars/avatars.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/avatars/avatars.js b/avatars/avatars.js index eb8e7cac95..1eecb943db 100644 --- a/avatars/avatars.js +++ b/avatars/avatars.js @@ -2293,7 +2293,7 @@ class Avatar { const windParameters = metaversefile.useWorld().getWindParameters(); - if (windParameters.forceFactor != 0) { + if (windParameters.forceFactor != 0 && windParameters.direction && windParameters.gravity) { const now2 = this.now / 1000 * 2; var noiseX = (simplexes[0].noise2D(now2, now2)); From d005499ad1096116b3ab7093b3dc73a3abae8fe7 Mon Sep 17 00:00:00 2001 From: skaljac Date: Thu, 2 Dec 2021 17:58:16 +0100 Subject: [PATCH 3/3] Wind parameters optimization --- avatars/avatars.js | 53 +++++++++++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 20 deletions(-) diff --git a/avatars/avatars.js b/avatars/avatars.js index 1eecb943db..dd4bcbf1b8 100644 --- a/avatars/avatars.js +++ b/avatars/avatars.js @@ -2293,35 +2293,48 @@ class Avatar { const windParameters = metaversefile.useWorld().getWindParameters(); - if (windParameters.forceFactor != 0 && windParameters.direction && windParameters.gravity) { + if (windParameters.refreshTime === undefined) { + windParameters.refreshTime = this.now; + } + if (windParameters.refreshDelay === undefined) { + windParameters.refreshDelay = 100.0; + } + + if (this.now > windParameters.refreshTime) { + + if (windParameters.forceFactor != 0 && windParameters.direction) { - const now2 = this.now / 1000 * 2; - var noiseX = (simplexes[0].noise2D(now2, now2)); - var noiseY = (simplexes[1].noise2D(now2, now2)); - var noiseZ = (simplexes[2].noise2D(now2, now2)); + const now2 = this.now / 1000 * 2; + var noiseX = (simplexes[0].noise2D(now2, now2)); + var noiseY = (simplexes[1].noise2D(now2, now2)); + var noiseZ = (simplexes[2].noise2D(now2, now2)); - noiseX = (Math.abs(noiseX) * windParameters.direction.x) + windParameters.gravity.x; - noiseY = (Math.abs(noiseY) * windParameters.direction.y) + windParameters.gravity.y; - noiseZ = (Math.abs(noiseZ) * windParameters.direction.z) + windParameters.gravity.z; + noiseX = (Math.abs(noiseX) * windParameters.direction.x); + noiseY = (Math.abs(noiseY) * windParameters.direction.y); + noiseZ = (Math.abs(noiseZ) * windParameters.direction.z); - for(var i=0;i