YaVirtualCameraAPI¶
The 
YaVirtualCameraAPI static class provides functionality to adjust the player's virtual camera in a game scene.- Setting_CameraFixPositionAndOrientation
- Setting_CameraFixPositionAndViewControllable
- Setting_CameraFixPositionAndLookAt
- Setting_CameraTopdown. With this component, the SetCameraPosition and SetCameraOrientation functions are unavailable.
- Setting_CameraRTS
- Setting_CameraSideScroll. With this component, the SetCameraPosition and SetCameraOrientation functions are unavailable.
- Setting_CameraThirdPerson. With this component, the SetCameraPosition function is unavailable.
Functions¶
float2 YaVirtualCameraAPI.ScreenResolution()¶
CLIENT ONLY 
Returnsthe screen resolution
Gets the screen resolution. It is represented as (pixelWidth, pixelHeight) in pixels.
float2 YaVirtualCameraAPI.GetScreenSize()¶
CLIENT ONLY 
Returnsthe screen size
Gets the screen size. It is usually represented as (Width, Height) in world size.
float3 YaVirtualCameraAPI.WorldToScreenPoint(float3 worldPoint)¶
CLIENT ONLY 
Returnsthe screen position
Converts a position from world space to screen space
Screen space is a 2D coordinate system defined by the dimensions of a display.
The bottom left corner of the screen space is (0,0), and the top right corner is (pixelWidth, pixelHeight) in pixels.
The z position of objects in 3D space can be represented in screen space using a depth value relative to the camera.
- worldPointThe world position to be converted
float3 YaVirtualCameraAPI.WorldToViewportPoint(float3 worldPoint)¶
CLIENT ONLY 
ReturnsThe viewport position
Converts a position from world space to viewport space
Viewport space is normalized and relative to the camera. The bottom left corner corner of the viewport space is (0,0), and the top right corner is (1, 1).
The z position of objects in 3D space can be represented in viewport space using a depth value relative to the camera.
- worldPointThe world position to be converted
float3 YaVirtualCameraAPI.ViewportToWorldPoint(float3 viewport)¶
CLIENT ONLY 
ReturnsThe world position
Converts a position from viewport space to world space
Viewport space is normalized and relative to the camera. The bottom left corner corner of the viewport space is (0,0), and the top right corner is (1, 1).
The z position of objects in 3D space can be represented in viewport space using a depth value relative to the camera.
- viewportThe viewport position to be converted
float3 YaVirtualCameraAPI.ScreenToWorldPoint(float3 screen)¶
CLIENT ONLY 
ReturnsThe world position
Converts a position from screen space to world space
Screen space is a 2D coordinate system defined by the dimensions of a display.
The bottom left corner of the screen space is (0,0), and the top right corner is (pixelWidth, pixelHeight) in pixels.
The z position of objects in 3D space can be represented in screen space using a depth value relative to the camera.
- screenThe screen position to be converted
YaRay YaVirtualCameraAPI.ScreenPointToRay(float3 screen)¶
CLIENT ONLY 
ReturnsThe camera ray with the origin point and direction indicated
Returns a ray going from the camera and passing through a specified point in screen space
The resulting ray commences at the near plane of the camera and extends through the pixel coordinates (x, y) on the screen, ignoring the position.z value.
Screen space is represented by pixels. The bottom left corner in screen space is (0, 0), and the top right corner is (pixelWidth - 1, pixelHeight - 1).
- screenA 3D point in screen space. The position.z value will be ignored.
float3 YaVirtualCameraAPI.GetCameraPositionFromServer(YaEntity targetPlayer)¶
SERVER ONLY 
Returnsposition
Gets the current position of the virtual camera being used by the specified player entity or avatar entity that the player is controlling
The position value is calculated based on the previous frame.
- targetPlayerThe player entity or avatar entity that player is controlling
float3 YaVirtualCameraAPI.GetCameraEulerFromServer(YaEntity targetPlayer)¶
SERVER ONLY 
Returnsthe camera's rotation as Euler angles
Gets the target player's virtual camera's rotation as Euler angles in degrees
The rotation value is calculated based on the previous frame.
- targetPlayerThe player entity or avatar entity that player is controlling
void YaVirtualCameraAPI.SetCameraDamping(float3 dampingXYZ)¶
CLIENT ONLY 
Sets the current virtual camera damping values for its x-, y-, and z- axes. Only works when you use a third-person virtual camera.
- dampingXYZThe damping values for the camera's x-, y-, and z- axes
float3 YaVirtualCameraAPI.GetCameraDamping()¶
CLIENT ONLY 
Returnsthe damping values for the camera's x-, y-, and z- axes
Gets current virtual camera's damping values for its x-, y-, and z- axes
float3 YaVirtualCameraAPI.GetCameraEuler()¶
CLIENT ONLY 
ReturnsThe camera's rotation as Euler angles
Gets the local player's current virtual camera's rotation as Euler angles in degrees
The rotation value is calculated based on the previous frame.
void YaVirtualCameraAPI.SetCameraTransform(float3 position, float3 eulerAngle)¶
CLIENT ONLY 
Sets the current virtual camera's position and rotation
Only works when the camera has no tartget to look at or follow and view is not controllable.
- positionThe camera's position in world space
- eulerAngleThe camera's rotation as Euler angles
void YaVirtualCameraAPI.SetCameraEuler(float3 eulerAngle)¶
CLIENT ONLY 
Sets the current virtual camera's rotation in world space as Euler angles
Only works when the virtual camera has no target to look at and view is not controllable.
Note that when you use a third person virtual camera and have a target to follow, changing the virtual camera's rotation via this API will affect its position. To avoid such effect, use SetCameraTransform instead.
- eulerAngleThe camera's rotation as Euler angles
float3 YaVirtualCameraAPI.GetCameraEulerOffset()¶
CLIENT ONLY 
ReturnsThe rotational offset in camera space
Returns the rotational offset of the current virtual camera in camera space, which represents the difference between the camera's actual rotation in world space and its desired rotation.
Camera space is the coordinate system where the camera is positioned at the origin(0,0,0), and objects are rendered relative to the camera's viewpoint.
void YaVirtualCameraAPI.SetCameraEulerOffset(float3 eulerAngleOffset)¶
CLIENT ONLY 
Sets the rotational offset of the current virtual camera in camera space, which represents the difference between the camera's actual rotation in world space and its desired rotation.
Camera space is the coordinate system where the camera is positioned at the origin(0,0,0), and objects are rendered relative to the camera's viewpoint.
- eulerAngleOffsetThe rotational offset in camera space
float3 YaVirtualCameraAPI.GetCameraPosition()¶
CLIENT ONLY 
Returnsthe position of the camera
Gets the current position of the current virtual camera in world space
The position value is calculated based on the previous frame.
float3 YaVirtualCameraAPI.GetCameraOffset()¶
CLIENT ONLY 
Returnsthe camera offset from target
Gets the offset of the current virtual camera from its target in camera space.
Camera space is the coordinate system where the camera is positioned at the origin(0,0,0), and objects are rendered relative to the camera's viewpoint.
void YaVirtualCameraAPI.SetCameraOffset(float3 offset)¶
CLIENT ONLY 
Sets the offset of the current virtual camera from its target in camera space
Camera space is the coordinate system where the camera is positioned at the origin(0,0,0), and objects are rendered relative to the camera's viewpoint.
- offsetThe camera offset from target in camera space
void YaVirtualCameraAPI.SetCameraPosition(float3 position)¶
CLIENT ONLY 
Sets the position of the current virtual camera in world space
Only works when the camera has no target to look at or follow and view is not controllable.
- positionThe position to set the camera to in world space
void YaVirtualCameraAPI.SetCameraFollowTarget(YaEntity entity)¶
CLIENT ONLY 
Sets the target for the current virtual camera to follow. This method will not take effect in the Fixed camera mode.
- entityThe target for the camera to follow
void YaVirtualCameraAPI.SetCameraLookAtTarget(YaEntity entity)¶
CLIENT ONLY 
Sets the target for the current virtual camera to look at.
- entityThe target for the camera to look at
void YaVirtualCameraAPI.SetCameraLookAtOffset(float3 lookAtOffset)¶
CLIENT ONLY 
Sets the offset for the current virtual camera's target to look at, adjusting its position relative to the camera in the target's local space.
- lookAtOffsetThe offset to set in the local space of the target for the camera to look at
void YaVirtualCameraAPI.SetCameraDistance(number distance)¶
CLIENT ONLY 
Sets the distance for the current virtual camera to move along the z-axis. Only works when you use a third-person, sidescroll, rts, or topdown camera.
If the specified distance exceeds the set distance interval, the specified distance will take effect.
- distanceThe distance to set along the z-axis
void YaVirtualCameraAPI.SetCameraOrthographicSize(number size)¶
CLIENT ONLY 
Changes the orthographic size of the current virtual camera
- sizeThe new orthographic size to set for the camera
number YaVirtualCameraAPI.GetCameraOrthographicSize()¶
CLIENT ONLY 
ReturnsThe current orthographic size of the camera
Gets the current orthographic size of the current virtual camera.
void YaVirtualCameraAPI.SetCameraViewControllable(boolean controllable)¶
CLIENT ONLY 
Determines if the current virtual camera view is controllable.
- controllableIf true, the camera view is controllable; if false, the camera view is uncontrollable. It can be set with the Third Person, FixPositionAndViewControllable, or RTS\SideScroll\TopDown component.
void YaVirtualCameraAPI.SetCameraZoomControllable(boolean controllable)¶
CLIENT ONLY 
Determines if the current virtual camera zoom is controllable.Fix Mode will not effect.
- controllableIf true, the camera zoom in out is controllable
number YaVirtualCameraAPI.GetFov()¶
CLIENT ONLY 
ReturnsThe field of view of the camera in degrees
Returns the current virtual camera's field of view (FOV) on the client side.
void YaVirtualCameraAPI.SetFov(number fov)¶
CLIENT ONLY 
Sets the current virtual camera's field of view (FOV) value. The FOV must be between 1 and 179 degrees.
If a value higher than 179 is specified, the FOV will be clamped to 179.
If a value smaller than 1 is specified, the FOV will be clamped to 1.
- fovThe field of view of the camera in degrees
float2 YaVirtualCameraAPI.GetNearFarClippingPlane()¶
CLIENT ONLY 
Returnsnearest distance(x) and furthest distance(y) of frustum plane
Return the near and far plane of the current virtual camera's viewing frustum.
void YaVirtualCameraAPI.SetNearFarClippingPlane(number nearPlane, number farPlane)¶
CLIENT ONLY 
Adjusts the near and far plane of the current virtual camera's viewing frustum.
- nearPlanenearest distance of frustum plane
- farPlanefurthest distance of frustum plane
void YaVirtualCameraAPI.ActiveCameraByEntity(YaEntity vCameraEntity, number blendTime)¶
CLIENT ONLY 
Blends the current virtual camera to the target virtual camera from entity that the Camera component is attached to
- vCameraEntityThe unique identifier of the entity that contains the Camera component. Entity ID can be found in Advanced Mode.
- blendTimeThe time in seconds to blend to the new camera
void YaVirtualCameraAPI.ActiveCameraByName(string vCameraName, number blendTime)¶
CLIENT ONLY 
Blends the current virtual camera to the target virtual camera created via the Camera component by name
- vCameraNameThe name of the camera created via the Camera component
- blendTimeThe time in seconds that the current camera blends to the new camera
void YaVirtualCameraAPI.ResetCameraByName(string vCameraName)¶
CLIENT ONLY 
Resets the virtual camera's data by virtual camera name
- vCameraNameThe name of the virtual camera
void YaVirtualCameraAPI.ResetCameraByEntity(YaEntity vCameraEntity)¶
CLIENT ONLY 
Resets the virtual camera's data using the entity that the Camera component is attached to
- vCameraEntityThe name of the entity that the Camera component is attached to
void YaVirtualCameraAPI.SetCameraPhysicsEnable(boolean enable)¶
CLIENT ONLY 
Enables or disables current virtual camera collisions. In the Fixed camera mode, the collider will not affect camera movement
- enableIf true, camera collisions are enabled. If false, camera collisions disabled.