Gyroscope
Turns tilting and shaking your phone into a control for your Lens. Ask for a tilt game, for example a maze where you roll a ball to the exit.
Camera feed, hand and face tracking, touch, tilt, haptics, and sound.
Made with this blockInputs
shakeVelocityThresholdfloatThe velocity at which the shake gesture can be triggered.
shakeCooldownTimefloatThe time after a shake gesture is triggered before another can be triggered.
invertRotationboolean
Events
onShakeActivated when a user shakes their device. Do not use this for experiences where tilt controls position, as it can cause position to reset when a user doesn't intend it to.
Functions
resetRotationvoidCalibrates the rotation 0 point to the user's current orientation, making rotation relative to it. Useful to call at the beginning of experiences to calibrate the rotation to make tilt relative to a comfortable starting rotation.
getRotationEulervec3Returns rotation as a vec3 euler in degrees. rotationEuler.x is pitch, rotationEuler.z is yaw, rotationEuler.y is roll. The starting rotation is (0,0,0).
wrapEulervec3Converts each angle of a euler rotation vector from 0-360 range to a wrapped euler value where 0->180 remains the same but 360 -> 180 becomes 0 -> -180. So tilting left on the roll axis may get a value of 10 and right -10. Useful for experiences where you don't need an absolute rotation like tilting the screen a certain amount. Example usage: const rotationEuler = script.gyro.getRotationEuler(); const wrappedRotation = script.gyro.wrapEuler(rotationEuler); Mapping: Roll = wrappedRotation.y → tilting right is negative, tilting left is positive -> POSITIVE SHOULD MOVE TO LEFT - NEGATIVE SHOULD MOVE TO RIGHT. Pitch = wrappedRotation.x → tilting up is positive, tilting down is negative -> POSITIVE SHOULD MOVE TO UP - NEGATIVE SHOULD MOVE DOWN. Yaw = wrappedRotation.z → rotating counterclockwise is positive, rotating clockwise is negative
to2DMotionvec2Converts device tilt into a normalized 2D vector (X, Y) ranging from -1 to 1, where (-1, -1) is top-left and (1,1) is bottom right. It accepts a vec3 rotation and an optional threshold angle (default 15°) which determines how much tilt is required to reach the maximum velocity/value of 1. It's useful for converting rotation into linear motion. Use it like this: const rotEulers = script.gyro.getRotationEuler(); const motion2D = script.gyro.to2DMotion(rotEulers,6);
More in Camera, Audio & Sensors
- Device CameraGives your Lens the camera picture, live or frozen as a still. Your Lens can show that picture on a surface, or keep the still to use later.
- Face EventsMakes your Lens react when you open your mouth, smile, kiss, raise your eyebrows or tilt your head. It also tells the Lens where your eyes, nose and mouth are on screen.
- Face MLChanges your face with one ready-made effect, for example an anime look, a meme grin or a skull. Say the look you want, and your Lens keeps that one effect.
- FaceLandmarksFollows where your eyes, nose, mouth and forehead are, so a sticker or text can sit on them and move with you. Ask for hearts on your eyes.
- Hand TrackingFollows your hands and reads gestures like a fist, a pinch, a thumbs up or a peace sign. Ask for something your hand controls, for example drawing with a pinch.
- HapticsMakes your phone vibrate at the moments you choose. Ask for a buzz when you tap the screen or score a point.
- Picture in PicturePuts 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.
- Selfie WidgetShows a small live camera view on the screen, as a circle or a rectangle. Choose where it sits and how big it is, for example in the corner of a game.
- SoundPlays a sound in the Lens. Add the sound you want, and the Lens can start it, pause it and resume it.
- Touch EventsAdds tap, drag and swipe controls, so you touch the screen to control the Lens. Say what each touch does, for example tap to drop a coin.
- Voice ChangerChanges your voice while you speak. Ask for the effect you want, for example a deep voice, a robot, an alien or an echo.
- ZoomZooms the view in on any point of the screen, smoothly or held in place the whole time. Say where to zoom, how close, and whether it repeats back and forth.
