Skip to main content

Screenshot Manager

ScreenshotManager is responsible for capturing screenshots with various framing options within a Three.js scene.

Constructor

ScreenshotManager(characterManager, scene)

  • characterManager: The character manager instance.
  • scene: The Three.js scene to capture screenshots from.

Properties

Properties for ScreenshotManager are not meant to be edited directly they are modified with methods.

  • .renderer

    The WebGL renderer for capturing screenshots.

  • .scene: Scene

    The Three.js scene.

  • .characterManager: CharacterManage

    The character manager instance.

  • .camera: PerspectiveCamera

    The camera used for capturing screenshots.

  • .textureLoader: TextureLoader

    The texture loader for loading textures.

  • .sceneBackground: Color

    The background color of the scene.

  • .sceneBackgroundAlpha: Number*

    The alpha value for the scene background.

  • .frameOffset: Object

    • min: Minimum offset for framing.
    • max: Maximum offset for framing.
  • .usesBackgroundImage: Boolean

    Flag indicating whether a background image is used.

  • .backgroundMaterial: MeshBasicMaterial*

    Material for the background plane.

  • .backgroundPlane: Mesh*

    Plane used for the background.

  • .pixelRenderer: PixelRenderer

    Pixel renderer instance for rendering pixels.

  • .boneOffsets: Object

    Offset values for specific bones.

Methods

setScene(scene)

Sets the Three.js scene.

  • scene: The new scene.

setupCamera(cameraPosition, lookAtPosition, fieldOfView = 30)

Sets up the camera.

  • cameraPosition: Position of the camera.
  • lookAtPosition: Position to look at.
  • fieldOfView (optional): Field of view for the camera.

frameCloseupShot()

Frames a close-up shot.

frameMediumShot()

Frames a medium shot.

frameCowboyShot()

Frames a cowboy shot.

frameFullShot()

Frames a full shot.

frameShot(minBoneName, maxBoneName, cameraPosition = null, minGetsMaxVertex = false, maxGetsMaxVertex = true)

Frames a shot between two bones.

  • minBoneName: Name of the bone representing the minimum point.
  • maxBoneName: Name of the bone representing the maximum point.
  • cameraPosition (optional): Position of the camera.
  • minGetsMaxVertex: Whether the minimum bone gets the max vertex.
  • maxGetsMaxVertex: Whether the maximum bone gets the max vertex.

setBottomFrameOffset(min)

Sets the bottom frame offset.

  • min: Minimum offset value.

setTopFrameOffset(max)

Sets the top frame offset.

  • max: Maximum offset value.

setCameraFrameWithName(shotName, vectorCameraPosition)

Sets the camera frame based on a shot name.

  • shotName: Name of the shot (e.g., "fullShot").
  • vectorCameraPosition: Position of the camera.

positionCameraBetweenPoints(vector1, vector2, cameraPosition, fieldOfView = 30)

Positions the camera between two points.

  • vector1: First vector point.
  • vector2: Second vector point.
  • cameraPosition: Position of the camera.
  • fieldOfView (optional): Field of view for the camera.

setCamera(headPosition, playerCameraDistance, fieldOfView = 30)

Sets up the camera for capturing screenshots.

  • headPosition: Position of the character's head.
  • playerCameraDistance: Distance from the head for the camera.
  • fieldOfView (optional): Field of view for the camera.

setBackground(background)

Sets the background using either color or image.

  • background: If an array, assumed to be RGB values [r, g, b]. If a string, assumed to be a URL for the background image.

setBackgroundColor(r, g, b, a)

Sets the background color.

  • r: Red component.
  • g: Green component.
  • b: Blue component.
  • a: Alpha component.

setBackgroundImage(url)

Sets the background image.

  • url: URL of the background image.

savePixelScreenshot(imageName, width, height, pixelSize)

Saves a pixelated screenshot.

  • imageName: Name of the screenshot.
  • width: Width of the screenshot.
  • height: Height of the screenshot.
  • pixelSize: Size of the pixels.

saveScreenshot(imageName, width, height)

Saves a regular screenshot.

  • imageName: Name of the screenshot.
  • width: Width of the screenshot.
  • height: Height of the screenshot.

getScreenshotImage(width, height)

Gets the screenshot as an image.

  • width: Width of the screenshot.
  • height: Height of the screenshot.

getScreenshotTexture(width, height)

Gets the screenshot as a Three.js texture.

  • width: Width of the screenshot.
  • height: Height of the screenshot.

getScreenshotBlob(width, height)

Gets the screenshot as a Blob.

  • width: Width of the screenshot.
  • height: Height of the screenshot.

saveFile(strData, filename)

Saves a file.

  • strData: Data to save.
  • filename: Name of the file.