mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 18:50:00 +02:00
changed grab script so user can only grab with left mouse click and we update velocityof grabbed object every frame instead of flinging it onb release
This commit is contained in:
parent
45ba678686
commit
a9c5f044c8
1 changed files with 12 additions and 2 deletions
|
@ -50,6 +50,9 @@ var dropLine = Overlays.addOverlay("line3d", {
|
||||||
|
|
||||||
|
|
||||||
function mousePressEvent(event) {
|
function mousePressEvent(event) {
|
||||||
|
if(!event.isLeftButton){
|
||||||
|
return;
|
||||||
|
}
|
||||||
var pickRay = Camera.computePickRay(event.x, event.y);
|
var pickRay = Camera.computePickRay(event.x, event.y);
|
||||||
var intersection = Entities.findRayIntersection(pickRay);
|
var intersection = Entities.findRayIntersection(pickRay);
|
||||||
if (intersection.intersects && intersection.properties.collisionsWillMove) {
|
if (intersection.intersects && intersection.properties.collisionsWillMove) {
|
||||||
|
@ -83,7 +86,7 @@ function mousePressEvent(event) {
|
||||||
|
|
||||||
function mouseReleaseEvent() {
|
function mouseReleaseEvent() {
|
||||||
if (isGrabbing) {
|
if (isGrabbing) {
|
||||||
flingObject();
|
// flingObject();
|
||||||
Entities.editEntity(grabbedEntity, {
|
Entities.editEntity(grabbedEntity, {
|
||||||
gravity: savedGravity
|
gravity: savedGravity
|
||||||
});
|
});
|
||||||
|
@ -108,7 +111,6 @@ function flingObject() {
|
||||||
function mouseMoveEvent(event) {
|
function mouseMoveEvent(event) {
|
||||||
if (isGrabbing) {
|
if (isGrabbing) {
|
||||||
entityProps = Entities.getEntityProperties(grabbedEntity);
|
entityProps = Entities.getEntityProperties(grabbedEntity);
|
||||||
prevPosition = entityProps.position;
|
|
||||||
avatarEntityDistance = Vec3.distance(MyAvatar.position, entityProps.position);
|
avatarEntityDistance = Vec3.distance(MyAvatar.position, entityProps.position);
|
||||||
finalMoveMultiplier = baseMoveFactor * Math.pow(avatarEntityDistance, 1.5);
|
finalMoveMultiplier = baseMoveFactor * Math.pow(avatarEntityDistance, 1.5);
|
||||||
deltaMouse.x = event.x - prevMouse.x;
|
deltaMouse.x = event.x - prevMouse.x;
|
||||||
|
@ -133,9 +135,17 @@ function mouseMoveEvent(event) {
|
||||||
z: 0
|
z: 0
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
flingVelocity = Vec3.subtract(entityProps.position, prevPosition);
|
||||||
|
flingVelocity = Vec3.multiply(flingMultiplier, flingVelocity);
|
||||||
|
Entities.editEntity(grabbedEntity, {
|
||||||
|
velocity: flingVelocity
|
||||||
|
});
|
||||||
|
prevPosition = entityProps.position;
|
||||||
}
|
}
|
||||||
prevMouse.x = event.x;
|
prevMouse.x = event.x;
|
||||||
prevMouse.y = event.y;
|
prevMouse.y = event.y;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function keyReleaseEvent(event) {
|
function keyReleaseEvent(event) {
|
||||||
|
|
Loading…
Reference in a new issue