Skip to main content

Options

mousePointer

.use

  • Whether to use MousePointer.
  • default: true

.animation

.duration

  • Duration of the mouse pointer animation (in seconds).
  • default: 0.1

.ease

.sizeScale

  • Size scale of the mouse pointer relative to the cube size.
  • default: 0.08

.innerCircleScale

  • Size scale of the inner circle relative to the outer circle.
  • default: 0.7

.opacity

  • Opacity of the mouse pointer.
  • default: 0.3

.textureURL

  • If provided, the mouse pointer will use it as a texture.
  • default: ““

pinchZoom

.sensitivity

  • Sensitivity of pinch zoom.
  • default: 1.3

controls

.rotateSpeed

.mouse

  • Rotation speed of OrbitControls if PointerEvent.pointerType is “mouse”.
  • default: -0.35

.touch

  • Rotation speed of OrbitControls if PointerEvent.pointerType is “touch”.
  • default: -0.6

.rotateSpeedDecay

Scale of rotateSpeed at the maximum zoom relative to the rotateSpeed at the minimum zoom. If the rotateSpeed is too sensitive when zoomed in, decrease this value.

.cube

Applied in cube view.

.mouse
  • default: 0.3
.touch
  • default: 0.2

.dollhouse

Applied in dollhouse view.

.mouse
  • default: 0.8
.touch
  • default: 0.6

.panSpeed

Pan speed of OrbitControls. Panning is only enabled in dollhouse view. To trigger the pan action, drag while the right mouse button is down if the pointerType is "mouse", or drag pointers in a parallel motion while two fingers are on the screen if the pointerType is "touch".

  • default: 1

.panSpeedDecay

Scale of panSpeed at the maximum zoom relative to the panSpeed at the minimum zoom. If the panSpeed is too sensitive when zoomed in, decrease this value.

  • default: 0.5

.dampingFactor

Damping factor of OrbitControls.

.mouse

  • default: 0.09

.touch

  • default: 0.2

cube

.facePositionOrder

The order of the face positions when you specify images for a specific resolution of a cube.

  • default: [“front”, “left”, “right”, “top”, “bottom”, “back”]

.rotationOrder

rotation.order of a cube; see https://threejs.org/docs/index.html?q=objec#api/en/math/Euler.order.

  • default: “XYZ”

dollhouse

.rotation

type: “reverse” | “natural”

Whether the direction of the camera rotation is reversed in dollhouse view.

  • default: “reverse”

.animation

.heightScale

Scale of camera.position.y relative to the height of the dollhouse object when the animation starts.

  • default: 3

.polarAngle

Polar angle of the camera when the animation starts.

  • default: Math.PI / 4

.duration

The duration of the animation (in seconds).

  • default: 3

.ease

The ease of the animation.

  • default: “power4.inOut”

.direction

type: “counter-clockwise” | “clockwise”

The direction of the animation rotation.

  • default: “counter-clockwise”

transition

Configurations related to various camera transitions.

.cubeToDollhouse

Applied when going from cube view to dollhouse view.

.heightScale

How high the camera should be at the end of the transition from cube view to dollhouse view relative to the height of a dollhouse object.

  • default: 3

.polarAngle

Polar angle of the camera when transitioning in dollhouse view.

  • default: Math.PI / 4

.ease

The ease of the animation.

  • default: “power2.inOut”

.duration

The duration of the animation (in seconds).

  • default: 0.8

.dollhouseToCube

Applied when going from dollhouse view to cube view.

.ease

  • default: “power2.inOut”

.duration

  • default: 0.7

.lookUp

Applied when the polar angle of the camera is being set to Math.PI / 2.

.ease
  • default: “power2.inOut”
.duration
  • default: 0.3

.moveTarget

Applied when OrbitControls.target is being moved to the position of the cube.

.ease
  • default: “power1.out”
.duration
  • default: 0.6

.cubeToCube

Applied when going from the current cube to the next cube.

.ease

  • default: “sine.inOut”

.duration

  • default: 1

.waitTriggerMS

The time to wait before TO_NEXT_CUBE:NEXT_CUBE_DELAYED event is fired.

  • default: 300 (in milliseconds)

floorHotspot

.textureURL

type: string | null

If provided, this will be used as a texture.

  • default: null

.sizeScale

Size scale of the floor hotspot relative to the cube size.

  • default: 0.1

.opacity

.cube

Applied when in cube view.

.active

Applied when hovered.

  • default: 0.6
.inactive

Applied when not hovered.

  • default: 0.1

.dollhouse

Applied when in dollhouse view.

.active

Applied when hovered.

  • default: 0.9
.inactive

Applied when not hovered.

  • default: 0.6

.animation

.use

Whether to use animation for opacity change.

  • default: true
.duration
  • default: 0.3

.showDetectionBox

Whether to show floor hotspot detection area. Useful for debugging purposes.

  • default: false

camera

.fov

fov of THREE.PerspectiveCamera.

  • default: 80

.near

near of THREE.PerspectiveCamrea.

  • default: 0.1

.farScale

This value will be multiplied by the cube size to calculate the far value of THREE.PerspectiveCamera.

  • default: 20

.zoom

.min

Minimum camera zoom value.

  • default: 1

.max

Maximum camera zoom value.

  • default: 4

floor

.neighborRadiusScale

Scale value that is multiplied by the cube size to determine neighborRadius. Each FloorSpot will have neighboring FloorSpots from whose distance is less than neighborRadius.

  • default: 3

.cameraHeight

The camera height of the floor.

note

Note that if you have multiple floors and if their camera heights could differ from one another, provide each camera height to World3D.createFloor() when you create the floors, instead of setting this value.

Only use this value when your floors have a uniform camera height.

  • default: 150 (in centimeter)

measurement

.cubeBrightness

How much darker the cube images should be when entering measurement:select or measurement:measure mode.

  • default: -0.1

.finishKey

The keyboard key that will signal the end of a measuring interaction when in measurement:measure mode.

This value can be either KeyboardEvent.code or KeyboardEvent.key.

  • default: “Escape”

.verticalMeasuringKey

The keyboard key to enter the vertical measuring mode when pressed in measurement:measure mode.

This value can be either KeyboardEvent.code or KeyboardEvent.key.

  • default: “ShiftLeft”

.horizontalMeasuringEscapeKey

The keyboard key to escape from the horizontal measuring mode when pressed in measurement:measure mode.

This value can be either KeyboardEvent.code or KeyboardEvent.key.

  • default: “Meta”

.verticalSensitivity

How sensitive the vertical snapping should be.

  • default: 0.07

.labelMinimumScale

Minimum scale value for the measurement labels.

  • default: 0.5

.referenceRuler

Reference ruler is only being rendered in measurement:measure mode.

.ring

.size

The size of the rings at both top and bottom of the ruler.

  • default: 15
.opacity

The opacity of the rings.

  • default: 0.5

showInDollhouseView

Whether to show MeasuringObjects in dollhouse view.

  • default: true

.magnifyingGlass

.size

The size of the magnifying glass.

  • default: 140

.zoomScale

Magnification factor. The bigger the value, the more enlarged the image in the glass.

  • default: 15

.offset

.x

The horizontal offset of the glass relative to the default position.

  • default: 0
.y

The vertical offset of the glass relative to the default position.

  • default: 0

.texture

.url

If provided, it’ll be used as a texture.

  • default: ““
.size

The size of the texture.

  • default: 144
.offset
.x

The horizontal offset of the texture relative to the default position.

  • default: 0
.y

The vertical offset of the texture relative to the default position.

  • default: 0

.measuringObject

.dot

.size

The size of a dot.

  • default: 12
.color

type: number | string

The color of a dot.

  • default: 0xffffff
.outlineColor

type: number | string

The color of a dot outline.

  • default: 0xff0000
.outlineScale

A relative size of the outline to the dot size.

  • default: 1.5
.textureURL

type: string | null

If provided, it will be used as a texture.

  • default: null

.dotController

.scale

DotController exists as a proxy of a dot and responsible for various dot interactions. It is invisible but you can make it appear by setting Options.debug to true.

The value of scale has an effect on the size of the DotController; it’s THREE.Sprite in essence.

  • default: 0.09

.line

.color

type: number | string

The color of a line.

  • default: 0xffffff
.outlineColor

type: number | string

The color of an outline of the line.

  • default: 0xff0000
.outlineScale

Relative size of the outline to the line.

  • default: 2
.width

The width of the line.

.drawingLine

color

type: number | string

The color of a drawing line.

  • default: 0xffffff
width

The width of the drawing line.

.lineController

.width

The width of a LineController.

Similar to DotController, LineController acts as a proxy of a line that is responsible for handling line interactions.

It is invisible but you can make it appear by setting Options.debug to true.

  • default: 30

.label

.decimals

The number of decimal points to show in a MeasurementLabel.

  • default: 2
.style

type: Partial<CSSStyleDeclaration>

CSS style that’s applied to the label.

  • default:
{
backgroundColor: "#ffffff",
position: "absolute", // absolute to the Floor.domElement
top: "0", display: "flex", alignItems: "center",
justifyContent: "center",
userSelect: "none",
padding: "0.25rem",
whiteSpace: "nowrap"
}

.labelForAngle

.decimals

The number of decimal points to show in an AngleLabel.

  • default: 1
.distance

The distance of the label from the target dot.

  • default: 0.06
.style

type: Partial<CSSStyleDeclaration>

CSS style that’s applied to the label.

  • default:
{
backgroundColor: "#ffffff",
position: "absolute", // absolute to the Floor.domElement
top: "0",
display: "flex",
alignItems: "center",
justifyContent: "center",
userSelect: "none",
padding: "0.25rem",
whiteSpace: "nowrap"
}

.magnifyingGlassScale

Dots and DrawingLine will look much smaller in MagnifyingGlass. Probably because they are THREE.Points and THREE.Line as opposed to normal THREE.Object3D but not exactly sure what causes this issue.

So to compensate this, the scale value is multiplied to the original sizes of Dots and DrawingLine for the correct rendering inside MagnifyingGlass.

  • default: 10

.hidingDistanceScale

Since the current measurement system in inherently inaccurate, it’s better to hide created MeasuringObjects if the camera moves too far from where they are created.

This scale value is multiplied to the cube size to determine the threshold for said hiding.

  • default: 3

debug

Activate the debug mode.

In the debug mode, you’ll see a lot of otherwise invisible helper objects.

  • default: false

logEvents

If true, events will be logged in the console whenever one is fired.

  • default: false