mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 12:37:51 +02:00
teleport works with xbox controller
This commit is contained in:
parent
093d80e102
commit
956078bc91
1 changed files with 10 additions and 13 deletions
|
@ -232,14 +232,11 @@ function Teleporter() {
|
||||||
};
|
};
|
||||||
|
|
||||||
this.rightRay = function() {
|
this.rightRay = function() {
|
||||||
|
var pose = Controller.getPoseValue(Controller.Standard.RightHand);
|
||||||
|
var rightPosition = pose.valid ? Vec3.sum(Vec3.multiplyQbyV(MyAvatar.orientation, pose.translation), MyAvatar.position) : MyAvatar.getHeadPosition();
|
||||||
|
var rightRotation = pose.valid ? Quat.multiply(MyAvatar.orientation, pose.rotation) : MyAvatar.headOrientation;
|
||||||
|
|
||||||
var rightPosition = Vec3.sum(Vec3.multiplyQbyV(MyAvatar.orientation, Controller.getPoseValue(Controller.Standard.RightHand).translation), MyAvatar.position);
|
var rightFinal = Quat.multiply(rightRotation, Quat.angleAxis(-90, {
|
||||||
|
|
||||||
var rightControllerRotation = Controller.getPoseValue(Controller.Standard.RightHand).rotation;
|
|
||||||
|
|
||||||
var rightRotation = Quat.multiply(MyAvatar.orientation, rightControllerRotation);
|
|
||||||
|
|
||||||
var rightFinal = Quat.multiply(rightRotation, Quat.angleAxis(90, {
|
|
||||||
x: 1,
|
x: 1,
|
||||||
y: 0,
|
y: 0,
|
||||||
z: 0
|
z: 0
|
||||||
|
@ -247,7 +244,7 @@ function Teleporter() {
|
||||||
|
|
||||||
var rightPickRay = {
|
var rightPickRay = {
|
||||||
origin: rightPosition,
|
origin: rightPosition,
|
||||||
direction: Quat.getUp(rightRotation),
|
direction: Quat.getUp(pose.valid ? rightRotation : rightFinal),
|
||||||
};
|
};
|
||||||
|
|
||||||
this.rightPickRay = rightPickRay;
|
this.rightPickRay = rightPickRay;
|
||||||
|
@ -288,11 +285,11 @@ function Teleporter() {
|
||||||
|
|
||||||
|
|
||||||
this.leftRay = function() {
|
this.leftRay = function() {
|
||||||
var leftPosition = Vec3.sum(Vec3.multiplyQbyV(MyAvatar.orientation, Controller.getPoseValue(Controller.Standard.LeftHand).translation), MyAvatar.position);
|
var pose = Controller.getPoseValue(Controller.Standard.LeftHand);
|
||||||
|
var leftPosition = pose.valid ? Vec3.sum(Vec3.multiplyQbyV(MyAvatar.orientation, pose.translation), MyAvatar.position) : MyAvatar.getHeadPosition();
|
||||||
|
var leftRotation = pose.valid ? Quat.multiply(MyAvatar.orientation, pose.rotation) : MyAvatar.headOrientation;
|
||||||
|
|
||||||
var leftRotation = Quat.multiply(MyAvatar.orientation, Controller.getPoseValue(Controller.Standard.LeftHand).rotation)
|
var leftFinal = Quat.multiply(leftRotation, Quat.angleAxis(-90, {
|
||||||
|
|
||||||
var leftFinal = Quat.multiply(leftRotation, Quat.angleAxis(90, {
|
|
||||||
x: 1,
|
x: 1,
|
||||||
y: 0,
|
y: 0,
|
||||||
z: 0
|
z: 0
|
||||||
|
@ -300,7 +297,7 @@ function Teleporter() {
|
||||||
|
|
||||||
var leftPickRay = {
|
var leftPickRay = {
|
||||||
origin: leftPosition,
|
origin: leftPosition,
|
||||||
direction: Quat.getUp(leftRotation),
|
direction: Quat.getUp(pose.valid ? leftRotation : leftFinal),
|
||||||
};
|
};
|
||||||
|
|
||||||
this.leftPickRay = leftPickRay;
|
this.leftPickRay = leftPickRay;
|
||||||
|
|
Loading…
Reference in a new issue