diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 4b05015924..9d7dd54245 100755 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -3311,8 +3311,10 @@ QVariantMap MyAvatar::getCollisionCapsule() { glm::vec3 start, end; float radius; getCapsule(start, end, radius); + QVariantMap capsule; - capsule["height"] = QVariant(glm::length(start - end)); + capsule["start"] = vec3toVariant(start); + capsule["end"] = vec3toVariant(end); capsule["radius"] = QVariant(radius); return capsule; } diff --git a/scripts/system/controllers/controllerModules/teleport.js b/scripts/system/controllers/controllerModules/teleport.js index c80cfb52a6..c9a72a0cba 100644 --- a/scripts/system/controllers/controllerModules/teleport.js +++ b/scripts/system/controllers/controllerModules/teleport.js @@ -224,12 +224,12 @@ Script.include("/~/system/libraries/controllers.js"); var capsuleData = MyAvatar.getCollisionCapsule(); var radius = capsuleData.radius / MyAvatar.scale; - var height = (capsuleData.height + (capsuleData.radius * 2.0)) / MyAvatar.scale; + var height = (Vec3.distance(capsuleData.start, capsuleData.end) + (capsuleData.radius * 2.0)) / MyAvatar.scale; _this.teleportHandCollisionPick = Picks.createPick(PickType.Collision, { enabled: true, parentID: Pointers.getPointerProperties(_this.teleportParabolaHandInvisible).renderStates["invisible"].end, - filter: Picks.PICK_ENTITIES + Picks.PICK_AVATARS, + filter: Picks.PICK_ENTITIES | Picks.PICK_AVATARS, shape: { shapeType: "capsule-y", dimensions: { @@ -245,7 +245,7 @@ Script.include("/~/system/libraries/controllers.js"); _this.teleportHeadCollisionPick = Picks.createPick(PickType.Collision, { enabled: true, parentID: Pointers.getPointerProperties(_this.teleportParabolaHeadInvisible).renderStates["invisible"].end, - filter: Picks.PICK_ENTITIES + Picks.PICK_AVATARS, + filter: Picks.PICK_ENTITIES | Picks.PICK_AVATARS, shape: { shapeType: "capsule-y", dimensions: {