From d87d0db8b547eb622da4258760037849b3daf98d Mon Sep 17 00:00:00 2001 From: joni <johnfshaughnessy@gmail.com> Date: Fri, 10 Nov 2017 11:14:51 -0800 Subject: [PATCH] Respond to pr comments --- src/components/character-controller.js | 42 ++++++++-------------- src/components/virtual-gamepad-controls.js | 10 +++--- 2 files changed, 19 insertions(+), 33 deletions(-) diff --git a/src/components/character-controller.js b/src/components/character-controller.js index 82f2237c2..34e12a9dd 100644 --- a/src/components/character-controller.js +++ b/src/components/character-controller.js @@ -1,7 +1,6 @@ import AFRAME from "aframe"; var CLAMP_VELOCITY = 0.01; var MAX_DELTA = 0.2; -var TAU = Math.PI * 2; // Does not have any type of collisions yet. AFRAME.registerComponent("character-controller", { @@ -9,7 +8,9 @@ AFRAME.registerComponent("character-controller", { groundAcc: { default: 10 }, easing: { default: 8 }, pivot: { type: "selector" }, - snapRotationRadian: { default: TAU / 8 } + snapRotationRadian: { default: THREE.Math.DEG2RAD * 45 }, + wasdSpeed: { default: 0.8 }, + rotationSpeed: { default: -3 } }, init: function() { @@ -115,27 +116,19 @@ AFRAME.registerComponent("character-controller", { }, onTranslateX: function(event) { - // The type check here is because the last axismove event that is captured here sends - // the el as the event.detail. This should probably be caught earlier. - this.accelerationInput.setX( - typeof event.detail === "number" ? event.detail : 0 - ); + this.accelerationInput.setX(event.detail); }, onTranslateY: function(event) { - this.accelerationInput.setY( - typeof event.detail === "number" ? event.detail : 0 - ); + this.accelerationInput.setY(event.detail); }, onTranslateZ: function(event) { - this.accelerationInput.setZ( - typeof event.detail === "number" ? event.detail : 0 - ); + this.accelerationInput.setZ(event.detail); }, onMoveForward: function(event) { - this.accelerationInput.z = 0.8; + this.accelerationInput.z = this.data.wasdSpeed; }, onDontMoveForward: function(event) { @@ -143,7 +136,7 @@ AFRAME.registerComponent("character-controller", { }, onMoveBackward: function(event) { - this.accelerationInput.z = -0.8; + this.accelerationInput.z = -this.data.wasdSpeed; }, onDontMoveBackward: function(event) { @@ -151,7 +144,7 @@ AFRAME.registerComponent("character-controller", { }, onMoveLeft: function(event) { - this.accelerationInput.x = -0.8; + this.accelerationInput.x = -this.data.wasdSpeed; }, onDontMoveLeft: function(event) { @@ -159,7 +152,7 @@ AFRAME.registerComponent("character-controller", { }, onMoveRight: function(event) { - this.accelerationInput.x = 0.8; + this.accelerationInput.x = this.data.wasdSpeed; }, onDontMoveRight: function(event) { @@ -167,11 +160,7 @@ AFRAME.registerComponent("character-controller", { }, onRotateY: function(event) { - if (typeof event.detail === "number") { - this.angularVelocity = event.detail; - } else { - this.angularVelocity = 0; - } + this.angularVelocity = event.detail; }, onSnapRotateLeft: function(event) { @@ -203,10 +192,11 @@ AFRAME.registerComponent("character-controller", { return function(t, dt) { const deltaSeconds = dt / 1000; - const rotationSpeed = -3; const root = this.el.object3D; const pivot = this.data.pivot.object3D; const distance = this.data.groundAcc * deltaSeconds; + const rotationDelta = + this.data.rotationSpeed * this.angularVelocity * deltaSeconds; pivotPos.copy(pivot.position); pivotPos.applyMatrix4(root.matrix); @@ -222,11 +212,7 @@ AFRAME.registerComponent("character-controller", { this.velocity.y * distance, this.velocity.z * distance ); - - yawMatrix.makeRotationAxis( - rotationAxis, - rotationSpeed * this.angularVelocity * deltaSeconds - ); + yawMatrix.makeRotationAxis(rotationAxis, rotationDelta); // Translate to middle of playspace (player rig) root.applyMatrix(transInv); diff --git a/src/components/virtual-gamepad-controls.js b/src/components/virtual-gamepad-controls.js index 0553e7a8e..686075574 100644 --- a/src/components/virtual-gamepad-controls.js +++ b/src/components/virtual-gamepad-controls.js @@ -50,11 +50,11 @@ AFRAME.registerComponent("virtual-gamepad-controls", { this.el.sceneEl.addEventListener("exit-vr", this.onExitVr); }, - onJoystickChanged(event, data) { + onJoystickChanged(event, joystick) { if (event.target.id === this.leftStick.id) { if (event.type === "move") { - var angle = data.angle.radian; - var force = data.force < 1 ? data.force : 1; + var angle = joystick.angle.radian; + var force = joystick.force < 1 ? joystick.force : 1; var x = Math.cos(angle) * force; var z = Math.sin(angle) * force; this.el.sceneEl.emit("translateX", x); @@ -66,8 +66,8 @@ AFRAME.registerComponent("virtual-gamepad-controls", { } else { if (event.type === "move") { // Set pitch and yaw angles on right stick move - var angle = data.angle.radian; - var force = data.force < 1 ? data.force : 1; + var angle = joystick.angle.radian; + var force = joystick.force < 1 ? joystick.force : 1; this.yaw = Math.cos(angle) * force; this.el.sceneEl.emit("rotateY", this.yaw); } else { -- GitLab