diff --git a/packages/viewer/src/components/renderers/elevator/elevator-renderer.tsx b/packages/viewer/src/components/renderers/elevator/elevator-renderer.tsx index 083455dd..8aa0815e 100644 --- a/packages/viewer/src/components/renderers/elevator/elevator-renderer.tsx +++ b/packages/viewer/src/components/renderers/elevator/elevator-renderer.tsx @@ -294,11 +294,13 @@ function BoxPrimitive({ } function MeshButtonLabel({ + faceSign = 1, label, material, position, scale, }: { + faceSign?: -1 | 1 label: string material: MeshStandardMaterial position: [number, number, number] @@ -315,7 +317,7 @@ function MeshButtonLabel({ const props = SEGMENT_PROPS[segment] return { position: [ - startX + charIndex * spacing + props.position[0] * scale, + faceSign * (startX + charIndex * spacing + props.position[0] * scale), props.position[1] * scale, props.position[2], ] as Vector3Tuple, @@ -323,7 +325,7 @@ function MeshButtonLabel({ } }), ) - }, [label, scale]) + }, [faceSign, label, scale]) const applyInstanceMatrices = useCallback( (mesh: InstancedMesh) => { @@ -381,7 +383,7 @@ function ElevatorDirectionGlyph({ ) } - const ySign = direction === 'up' ? 1 : -1 + const ySign = direction === 'up' ? -1 : 1 return ( @@ -594,6 +597,7 @@ function ElevatorMeshButton({ /> {label && (