Picture in Picture

Puts a frame with the live camera on the screen, with or without a border. Tap the frame to swap in a photo from your device.

Camera, Audio & Sensors

Camera feed, hand and face tracking, touch, tilt, haptics, and sound.

Made with this block

Inputs

positionvec2

Position of photo. vec2 Center: [0, 0] Positions for placing photo in the corner calculate by next formula pos.x = ±(1 - scale.x/2) pos.y = ±(1 - scale.y/2) The sign depends on the corner: plus for right/top, minus for left/bottom.

scalevec2

Scale of photo. vec2 [2.0,2.0] - fullscreen [1.0,1.0] - half screen Full width of screen = 2 Full height of screen = 2

rotationfloat

Photo rotation in degrees

frameModeint

Selects which type of frame will be used. Values are: None = 0, Texture = 1, Color = 2

solidFrameColorvec4

Use for color of frame. Use only vec4. This input relevant ONLY when input "frameMode" == 2

solidFrameWidthfloat

Use for thickness of solid frame. Use max 0.2. 0 - no frame, 0.2 - maximum frame width This input relevant ONLY when input "frameMode" == 2

frameTexturetexture

The frameTexture is a decorative 2D border drawn AROUND the photo — it binds to the frame overlay, not the photo content. Put a border/frame graphic here: normally from the "Lens Frame 2D" generator, though a user-supplied 2D frame image is also fine. Relevant ONLY when frameMode == 1. It is NOT the displayed photo — this block has no build-time input for the content image (the photo is the live camera by default, or one the viewer picks from their device at runtime), so do not wire the main subject/content photo here expecting it to appear as the picture.