mirror of
https://github.com/overte-org/overte.git
synced 2025-04-12 17:22:09 +02:00
Fix mini tablet sizing for different sizes of avatar
This commit is contained in:
parent
8464a70c9e
commit
2449868ea9
1 changed files with 12 additions and 11 deletions
|
@ -277,14 +277,14 @@
|
|||
Overlays.editOverlay(miniOverlay, {
|
||||
parentID: MyAvatar.SELF_ID,
|
||||
parentJointIndex: handJointIndex(hand),
|
||||
localPosition: Vec3.multiply(MyAvatar.scale, MINI_POSITIONS[hand]),
|
||||
localPosition: Vec3.multiply(MyAvatar.sensorToWorldScale, MINI_POSITIONS[hand]),
|
||||
localRotation: MINI_ROTATIONS[hand],
|
||||
dimensions: Vec3.multiply(initialScale, MINI_DIMENSIONS),
|
||||
grabbable: true,
|
||||
visible: true
|
||||
});
|
||||
Overlays.editOverlay(miniUIOverlay, {
|
||||
localPosition: Vec3.multiply(MyAvatar.scale, MINI_UI_LOCAL_POSITION),
|
||||
localPosition: Vec3.multiply(MyAvatar.sensorToWorldScale, MINI_UI_LOCAL_POSITION),
|
||||
localRotation: MINI_UI_LOCAL_ROTATION,
|
||||
dimensions: Vec3.multiply(initialScale, MINI_UI_DIMENSIONS),
|
||||
dpi: MINI_UI_DPI / initialScale,
|
||||
|
@ -346,7 +346,8 @@
|
|||
localRotation,
|
||||
localPosition;
|
||||
|
||||
tabletScaleFactor = MyAvatar.scale * (1 + scaleFactor * (miniTargetWidth - miniInitialWidth) / miniInitialWidth);
|
||||
tabletScaleFactor = MyAvatar.sensorToWorldScale
|
||||
* (1 + scaleFactor * (miniTargetWidth - miniInitialWidth) / miniInitialWidth);
|
||||
dimensions = Vec3.multiply(tabletScaleFactor, MINI_DIMENSIONS);
|
||||
localRotation = Quat.mix(miniExpandLocalRotation, miniTargetLocalRotation, scaleFactor);
|
||||
localPosition =
|
||||
|
@ -444,7 +445,7 @@
|
|||
function create() {
|
||||
miniOverlay = Overlays.addOverlay("model", {
|
||||
url: MINI_MODEL,
|
||||
dimensions: Vec3.multiply(MyAvatar.scale, MINI_DIMENSIONS),
|
||||
dimensions: Vec3.multiply(MyAvatar.sensorToWorldScale, MINI_DIMENSIONS),
|
||||
solid: true,
|
||||
grabbable: true,
|
||||
showKeyboardFocusHighlight: false,
|
||||
|
@ -454,10 +455,10 @@
|
|||
miniUIOverlay = Overlays.addOverlay("web3d", {
|
||||
url: MINI_UI_HTML,
|
||||
parentID: miniOverlay,
|
||||
localPosition: Vec3.multiply(MyAvatar.scale, MINI_UI_LOCAL_POSITION),
|
||||
localPosition: Vec3.multiply(MyAvatar.sensorToWorldScale, MINI_UI_LOCAL_POSITION),
|
||||
localRotation: MINI_UI_LOCAL_ROTATION,
|
||||
dimensions: Vec3.multiply(MyAvatar.scale, MINI_UI_DIMENSIONS),
|
||||
dpi: MINI_UI_DPI / MyAvatar.scale,
|
||||
dimensions: Vec3.multiply(MyAvatar.sensorToWorldScale, MINI_UI_DIMENSIONS),
|
||||
dpi: MINI_UI_DPI / MyAvatar.sensorToWorldScale,
|
||||
alpha: 0, // Hide overlay while its content is being created.
|
||||
grabbable: false,
|
||||
showKeyboardFocusHighlight: false,
|
||||
|
@ -641,7 +642,7 @@
|
|||
handOrientation =
|
||||
Quat.multiply(MyAvatar.orientation, MyAvatar.getAbsoluteJointRotationInObjectFrame(jointIndex));
|
||||
uiPositionAndOrientation = ui.getUIPositionAndRotation(hand);
|
||||
miniPosition = Vec3.sum(handPosition, Vec3.multiply(MyAvatar.scale,
|
||||
miniPosition = Vec3.sum(handPosition, Vec3.multiply(MyAvatar.sensorToWorldScale,
|
||||
Vec3.multiplyQbyV(handOrientation, uiPositionAndOrientation.position)));
|
||||
miniOrientation = Quat.multiply(handOrientation, uiPositionAndOrientation.rotation);
|
||||
miniToCameraDirection = Vec3.normalize(Vec3.subtract(Camera.position, miniPosition));
|
||||
|
@ -698,7 +699,7 @@
|
|||
function scaleMiniDown() {
|
||||
var scaleFactor = (Date.now() - miniScaleStart) / MINI_SCALE_DURATION;
|
||||
if (scaleFactor < 1) {
|
||||
ui.size((1 - scaleFactor) * MyAvatar.scale);
|
||||
ui.size((1 - scaleFactor) * MyAvatar.sensorToWorldScale);
|
||||
miniScaleTimer = Script.setTimeout(scaleMiniDown, MINI_SCALE_TIMEOUT);
|
||||
return;
|
||||
}
|
||||
|
@ -727,12 +728,12 @@
|
|||
function scaleMiniUp() {
|
||||
var scaleFactor = (Date.now() - miniScaleStart) / MINI_SCALE_DURATION;
|
||||
if (scaleFactor < 1) {
|
||||
ui.size(scaleFactor * MyAvatar.scale);
|
||||
ui.size(scaleFactor * MyAvatar.sensorToWorldScale);
|
||||
miniScaleTimer = Script.setTimeout(scaleMiniUp, MINI_SCALE_TIMEOUT);
|
||||
return;
|
||||
}
|
||||
miniScaleTimer = null;
|
||||
ui.size(MyAvatar.scale);
|
||||
ui.size(MyAvatar.sensorToWorldScale);
|
||||
setState(MINI_VISIBLE);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue