The '''InteractiveCamera''' component is used in the resonite default camera and is a way of easily taking pictures.
The '''InteractiveCamera''' component is used in the resonite default camera and is a way of easily taking pictures.
== Usage ==
See [[Camera]] for more up to date info.
== Fields ==
{{Table ComponentFields
{{Table ComponentFields
|CameraMode|'''[[#Mode|Mode]]'''|TypeAdv0=true|
|CameraMode|'''[[#Mode|InteractiveCamera.Mode]]'''|TypeAdv0=true| The mode the camera is in for taking pictures.
|PreviewWidth|Int| The width in pixels of the preview image on the camera screen.
|PreviewWidth|Int| The width in pixels of the preview image on the camera screen.
|PreviewHeight|Int| The height in pixels of the preview image on the camera screen.
|PreviewHeight|Int| The height in pixels of the preview image on the camera screen.
Line 23:
Line 25:
|PreviewTexture|'''[[Component:RenderTextureProvider|RenderTextureProvider]]'''|TypeAdv14=true| The texture that is being rendered to for the camera screen preview on the back of the camera.
|PreviewTexture|'''[[Component:RenderTextureProvider|RenderTextureProvider]]'''|TypeAdv14=true| The texture that is being rendered to for the camera screen preview on the back of the camera.
|DisplayMaterial|IStereoMaterial| The material being used to display the camera preview.
|DisplayMaterial|IStereoMaterial| The material being used to display the camera preview.
|Format|'''[[#EncodeFormat|EncodeFormat]]'''|TypeAdv16=true| In what image type to take pictures in.
|Format|'''[[#EncodeFormat|InteractiveCamera.EncodeFormat]]'''|TypeAdv16=true| In what image type to take pictures in.
|Quality|Float| The quality encoding for taken pictures.
|Quality|Float| The quality encoding for taken pictures.
|SpawnPhotoInWorld|Bool| Whether to spawn taken photos into the world.
|SpawnPhotoInWorld|Bool| Whether to spawn taken photos into the world.
Line 30:
Line 32:
|PanoramaIndicator|Slot| the slot that holds the panorama indicator visual.
|PanoramaIndicator|Slot| the slot that holds the panorama indicator visual.
|PanoramaIndicatorSize|{{RootFieldType|FieldDrive`1|[[Type:Float3|Float3]]}}|TypeAdv22=true| The field to drive so the camera can change the Panorama indicator visual size.
|PanoramaIndicatorSize|{{RootFieldType|FieldDrive`1|[[Type:Float3|Float3]]}}|TypeAdv22=true| The field to drive so the camera can change the Panorama indicator visual size.
|ObjectTargetSource|Slot|
|ObjectTargetSource|Slot| The slot to shoot a raycast from for selective rendering a camera when doing the selective object mode.
|ObjectTargetSourceActive|{{RootFieldType|FieldDrive`1|[[Type:Bool|Bool]]}}|TypeAdv24=true| The active field of the object target source Laser visual
|ObjectAutoPose|Bool|
|ObjectAutoPose|Bool| Whether to automatically adjust the camera to look at the targeted object.
|HideLasersOnCapture|Bool| Whether to hide user lasers when taking photos.
|HideLasersOnCapture|Bool| Whether to hide user lasers when taking photos.
|CaptureSound|{{RootFieldType|AssetRef`1|[[Type:AudioClip|AudioClip]]}}|TypeAdv27=true| The audio clip to play when taking photos.
|CaptureSound|{{RootFieldType|AssetRef`1|[[Type:AudioClip|AudioClip]]}}|TypeAdv27=true| The audio clip to play when taking photos.
Line 39:
Line 41:
|TimerCountdownFastPlayer|'''[[Component:AudioClipPlayer|AudioClipPlayer]]'''|TypeAdv30=true| The audio to play as the timer for the photo countdown timer is reaching completion.
|TimerCountdownFastPlayer|'''[[Component:AudioClipPlayer|AudioClipPlayer]]'''|TypeAdv30=true| The audio to play as the timer for the photo countdown timer is reaching completion.
|TimerCountdownSlowOutput|'''[[Component:AudioOutput|AudioOutput]]'''|TypeAdv31=true| The audio output component that plays the <code>TimerCountdownSlowPlayer</code>.
|TimerCountdownSlowOutput|'''[[Component:AudioOutput|AudioOutput]]'''|TypeAdv31=true| The audio output component that plays the <code>TimerCountdownSlowPlayer</code>.
|TimerCountdownFastOutput|'''[[Component:AudioOutput|AudioOutput]]'''|TypeAdv32=true| The audio output component that plays the <code>TimerCountdownFastPlayer</code>.
|TimerCountdownFastOutput|'''[[Component:AudioOutput|AudioOutput]]'''|TypeAdv32=true| The audio output component that plays the <code>TimerCountdownFastPlayer</code>.
|PreviewScale|{{RootFieldType|RawOutput`1|[[Type:Float2|Float2]]}}|TypeAdv33=true| How big the preview display above the camera should be.
|PreviewScale|{{RootFieldType|RawOutput`1|[[Type:Float2|Float2]]}}|TypeAdv33=true| How big the preview display above the camera should be.
|CameraModelOverride|String|
|CameraModelOverride|String| Overrides the text for what kind of camera took a photo generated by this component in the metadata.
|FrustumVisual|'''[[Component:CameraFrustumMesh|CameraFrustumMesh]]'''|TypeAdv35=true| The mesh that is used to show the camera fustrum
|FrustumVisual|'''[[Component:CameraFrustumMesh|CameraFrustumMesh]]'''|TypeAdv35=true| The mesh that is used to show the camera fustrum
|DefaultNearClip|Float| The default nearclip to be used with the camera.
|DefaultNearClip|Float| The default nearclip to be used with the camera.
|DefaultFarClip|Float| The default farclip to be used with the camera.
|DefaultFarClip|Float| The default farclip to be used with the camera.
|_frustumPosition|{{RootFieldType|FieldDrive`1|[[Type:Float3|Float3]]}}|TypeAdv38=true| The field to drive with position of the fustrum visual.
|_frustumPosition|{{RootFieldType|FieldDrive`1|[[Type:Float3|Float3]]}}|TypeAdv38=true| The field to drive with position of the fustrum visual.
|_frustumRotation|{{RootFieldType|FieldDrive`1|[[Type:FloatQ|FloatQ]]}}|TypeAdv39=true| The field to drive with the rotation of the fustrum visual.
|_frustumRotation|{{RootFieldType|FieldDrive`1|[[Type:FloatQ|FloatQ]]}}|TypeAdv39=true| The field to drive with the rotation of the fustrum visual.
|_frustumVerticalFOV|{{RootFieldType|FieldDrive`1|[[Type:Float|Float]]}}|TypeAdv40=true| The field to drive with the vertical field view angle of the fustrum mesh.
|_frustumVerticalFOV|{{RootFieldType|FieldDrive`1|[[Type:Float|Float]]}}|TypeAdv40=true| The field to drive with the vertical field view angle of the fustrum mesh.
|_frustumHorizontalFOV|{{RootFieldType|FieldDrive`1|[[Type:Float|Float]]}}|TypeAdv41=true| The field to drive with the horizontal field view angle of the fustrum mesh.
|_frustumHorizontalFOV|{{RootFieldType|FieldDrive`1|[[Type:Float|Float]]}}|TypeAdv41=true| The field to drive with the horizontal field view angle of the fustrum mesh.
Line 58:
Line 60:
|_secondaryCameraRendering|{{RootFieldType|FieldDrive`1|[[Type:Bool|Bool]]}}|TypeAdv49=true| The field to drive with whether the secondary camera should be enabled and rendering.
|_secondaryCameraRendering|{{RootFieldType|FieldDrive`1|[[Type:Bool|Bool]]}}|TypeAdv49=true| The field to drive with whether the secondary camera should be enabled and rendering.
|ExclusiveOperators|{{RootFieldType|SyncList`1|[[Type:UserRef|UserRef]]}}|TypeAdv50=true| The users that should be excluded from taken photos due to their privacy settings.
|ExclusiveOperators|{{RootFieldType|SyncList`1|[[Type:UserRef|UserRef]]}}|TypeAdv50=true| The users that should be excluded from taken photos due to their privacy settings.
|ControlActiveFields|{{RootFieldType|SyncList`1|[[Type:FieldDrive`1|FieldDrive`1]]<[[Type:Bool|Bool]]>}}|TypeAdv51=true| A list of booleans to drive to whether this camera is being auto moved by control rather than manual positioning.
|RenderOnlyForUsers|{{RootFieldType|SyncList`1|[[Type:UserRef|UserRef]]}}|TypeAdv52=true| The users that should only appear in the photo and exlude everyone else.
|RenderOnlyForUsers|{{RootFieldType|SyncList`1|[[Type:UserRef|UserRef]]}}|TypeAdv52=true| The users that should only appear in the photo and exlude everyone else.
|ForceVisualsOff|Bool| Whether to force this camera's visuals to off.
|ForceVisualsOff|Bool| Whether to force this camera's visuals to off.
|VisualActiveFields|{{RootFieldType|SyncList`1|[[Type:FieldDrive`1|FieldDrive`1]]<[[Type:Bool|Bool]]>}}|TypeAdv54=true| A list of boolean fields to drive for the visuals of this camera.
|VisualActiveFields|{{RootFieldType|SyncList`1|[[Type:FieldDrive`1|FieldDrive`1]]<[[Type:Bool|Bool]]>}}|TypeAdv54=true| A list of boolean fields to drive for the visuals of this camera.
|AutoHideProximity|Float|
|AutoHideProximity|Float| How close the camera can be before it hides itself for the local user.
|ForceEyeAttentionUsers|{{RootFieldType|SyncList`1|[[Type:UserRef|UserRef]]}}|TypeAdv56=true| The list of users to force their eyes to look at the camera.
|ForceEyeAttentionUsers|{{RootFieldType|SyncList`1|[[Type:UserRef|UserRef]]}}|TypeAdv56=true| The list of users to force their eyes to look at the camera.
|SimulatingUser|{{RootFieldType|UserRef}}|TypeAdv57=true| The user that is handling the processing for this camera.
|SimulatingUser|{{RootFieldType|UserRef}}|TypeAdv57=true| The user that is handling the processing for this camera.
|DestroyOnUserLeave|{{RootFieldType|UserRef}}|TypeAdv58=true| The user that when leaving will trigger the destruction of this camera.
|DestroyOnUserLeave|{{RootFieldType|UserRef}}|TypeAdv58=true| The user that when leaving will trigger the destruction of this camera.
|PositioningMode|CameraPositioningMode|
|PositioningMode|CameraPositioningMode| How the camera should position itself.
|ActiveAnchor|'''[[Component:InteractiveCameraAnchor|InteractiveCameraAnchor]]'''|TypeAdv60=true| The current camera anchor this camera is on.
|ActiveAnchor|'''[[Component:InteractiveCameraAnchor|InteractiveCameraAnchor]]'''|TypeAdv60=true| The current camera anchor this camera is on.
|AnchorInterpolationSpeed|Float| How fast to move between anchors.
|AnchorInterpolationSpeed|Float| How fast to move between anchors.
|AnchorLinearInterpolation|Bool| Whether the camera should move between anchors in a linear speed fashion.
|AnchorLinearInterpolation|Bool| Whether the camera should move between anchors in a linear speed fashion.
|FrameTargetUser|{{RootFieldType|UserRef}}|TypeAdv63=true| The user to frame in the shot.
|FrameTargetUser|{{RootFieldType|UserRef}}|TypeAdv63=true| The user to frame in the shot.
|HeadPointOffset|Float3|
|HeadPointOffset|Float3| How much to add an offset to a user's head when targeting it.
|AnglePosition|Float|
|AnglePosition|Float| tilt of the camera side to side
|Distance|Float|
|Distance|Float| How far away to stay from a subject during auto tracking.
|HeightOffset|Float|
|HeightOffset|Float| How much offset to add to targeting a user's head vertically.
|FirstPersonPitch|Float|
|FirstPersonPitch|Float| The current first person rotation transform pitch.
|FirstPersonRoll|Float|
|FirstPersonRoll|Float| The current first person rotation transform roll.
|FirstPersonOffset|Float|
|FirstPersonOffset|Float| The offset forward or backwards in first person currently.
|GroupIncludeRadius|Float| How close a user needs to be to others to be in a group.
|GroupIncludeRadius|Float| How close a user needs to be to others to be in a group.
|GroupExcludeRadius|Float| How far a user needs to move from a group before they are removed as being part of a group.
|GroupExcludeRadius|Float| How far a user needs to move from a group before they are removed as being part of a group.
Line 88:
Line 90:
|WobbleSeed|Float3| The seed of the randomization algorithm of the camera's wobble.
|WobbleSeed|Float3| The seed of the randomization algorithm of the camera's wobble.
|WobbleSpeed|Float3| How fast the camera should randomly wobble.
|WobbleSpeed|Float3| How fast the camera should randomly wobble.
|FramingViewportPosition|Float2|
|FramingViewportPosition|Float2| Where to frame the target object in the viewport of the camera rather than the center of the image.
|AvoidOcclusion|Bool|
|AvoidOcclusion|Bool| Whether to take target player(s) colliders into account when framing users. Can help with clipping off arms or legs.
|OcclusionIncludePlayers|Bool|
|OcclusionIncludePlayers|Bool| Whether occlusion should try to keep players in view.
|OcclusionIncludeAnyColliders|Bool|
|OcclusionIncludeAnyColliders|Bool| Whether the occlusion should include any collider. If false, ignores character colliders.
|_positionStream|'''[[Type:ValueStream`1|ValueStream`1]]<[[Type:Float3|Float3]]>'''|TypeAdv85=true| The stream of the position data for this camera when auto tracking.
|_positionStream|'''[[Type:ValueStream`1|ValueStream`1]]<[[Type:Float3|Float3]]>'''|TypeAdv85=true| The stream of the position data for this camera when auto tracking.
|_rotationStream|'''[[Type:ValueStream`1|ValueStream`1]]<[[Type:FloatQ|FloatQ]]>'''|TypeAdv86=true| The stream of the rotation data for this camera when auto tracking.
|_rotationStream|'''[[Type:ValueStream`1|ValueStream`1]]<[[Type:FloatQ|FloatQ]]>'''|TypeAdv86=true| The stream of the rotation data for this camera when auto tracking.
|_positionDrive|{{RootFieldType|FieldDrive`1|[[Type:Float3|Float3]]}}|TypeAdv87=true| The field to drive for the position of the camera when auto tracking.
|_positionDrive|{{RootFieldType|FieldDrive`1|[[Type:Float3|Float3]]}}|TypeAdv87=true| The field to drive for the position of the camera when auto tracking.
|_rotationDrive|{{RootFieldType|FieldDrive`1|[[Type:FloatQ|FloatQ]]}}|TypeAdv88=true| The field to drive for the rotation of the camera when auto tracking.
|_rotationDrive|{{RootFieldType|FieldDrive`1|[[Type:FloatQ|FloatQ]]}}|TypeAdv88=true| The field to drive for the rotation of the camera when auto tracking.
|_releasePosition|Float3|
|_releasePosition|Float3| The position at the time <code>_positionDrive</code> became null.
|_releaseRotation|FloatQ|
|_releaseRotation|FloatQ| The rotation at the time <code>_rotationDrive</code> became null.
}}
}}
== Sync Delegates ==
== Sync Delegates ==
{{Table ComponentTriggers
{{Table ComponentTriggers
|Trigger()|[[Type:Action|Action]]|
|Trigger:[[Type:Action|Action]]|[[Type:Action|Action]]|false| Tells camera to take photo as if the user pressed the picture button themselves.
|Capture()|[[Type:Action|Action]]|
|Capture:[[Type:Action|Action]]|[[Type:Action|Action]]|false| Tells the camera to instantly take a photo.
}}
}}
== Mode ==
== Mode ==
{{Table EnumValues
{{Table EnumValues
|Camera2D|0|
|Camera2D|0| Normal camera mode.
|CameraStereo|1|
|CameraStereo|1| camera renders a 3d photo with a left and right.
|Camera360|2|
|Camera360|2| Camera renders a sphere photo.
|CameraObject|3|
|CameraObject|3| Camera targets an object and renders only that object on a solid background or skybox.