Version:

Camera 组件

Camera 组件向实体添加摄像机。

提供方

Camera Gem

Camera 属性

Camera component properties in the Entity Inspector.

属性说明默认值
Be this camera选择 Be this camera 按钮可激活视口中的摄像机视图。 更多信息,请参阅 视口操纵器
Orthographic如果设置为启用,此摄像机将使用正投影而不是透视投影。无论物体与摄像机的距离如何,它们看起来都是一样大。BooleanDisabled
Field of view垂直视场角(度)。0.0 - 180.075
Near clip distance到视锥近夹平面的距离(米)。必须小于Far clip distance0.001 to Infinity0.2
Far clip distance到视锥近远平面的距离,以米为单位。必须大于 Near clip distance0.001 to Infinity1024
Make active camera on activation如果设置为启用,则在组件激活时,该摄像机将成为活动的渲染摄像机。BooleanEnabled
Debug - Frustum length圆锥曲线形状的长度占Far clip distance的百分比。0.01 - 100.01.0
Debug - Frustum color蘑菇头形状的颜色。每通道 8 位颜色: 0-255255,255,0

CameraRequestBus

请求名称说明参数返回值可脚本化
GetFarClipDistance返回摄像机的Far clip distance,单位为米。NoneFar Clip Distance: FloatYes
GetFov以度数为单位返回摄像机的Field of viewNoneFOV: FloatYes
GetFovDegrees以度数为单位返回摄像机的Field of viewNoneFOV: FloatYes
GetFovRadians以弧度为单位返回摄像机的Field of viewNoneFOV: FloatYes
GetNearClipDistance返回摄像机的Near clip distance,单位为米。NoneNear Clip Distance: FloatYes
GetOrthographicHalfWidth返回摄像机的正交半宽。NoneHalf-Width: FloatYes
IsActiveView如果摄像机是当前活动视图,则返回 TrueNoneBooleanYes
IsOrthographic如果摄像机设置为使用正交透视,则返回 TrueNoneBooleanYes
MakeActiveView将摄像机设置为活动视图。NoneNoneYes
SetFarClipDistance设置摄像机的Far clip distance,单位为米。Far Clip Distance: FloatNoneYes
SetFov设置摄像机的Field of view,单位为度。FOV: FloatNoneYes
SetFovDegrees设置摄像机的Field of view,单位为度。FOV: FloatNoneYes
SetFovRadians以弧度为单位设置摄像机的Field of viewFOV: FloatNoneYes
SetNearClipDistance设置摄像机的Near clip distance,单位为米。Near Clip Distance: FloatNoneYes
SetOrthographic如果为 True,则设置摄像机使用正交透视。BooleanNoneYes
SetOrthographicHalfWidth设置摄像机的正交半宽。Half-Width: FloatNoneYes

CameraNotificationBus

请求名称说明参数返回值可脚本化
OnActiveViewChanged通知侦听者新摄像机已成为活动视图。NoneEntityIdYes
OnCameraAdded通知侦听者关卡中启用了新的摄像机。NoneEntityIdYes
OnCameraRemoved通知侦听者关卡中的摄像头已被停用。NoneEntityIdYes

CameraSystemRequestBus

请求名称说明参数返回值可脚本化
GetActiveCamera返回活动摄像机的 EntityId。NoneEntityIdYes

更多信息,请参阅 使用事件总线 (EBus) 系统

Lua 脚本示例

以下是使用CameraRequestBus的 Lua 脚本示例。

local camerasample =
{
    Properties =
    {
    }
}

function camerasample:OnActivate()
    CameraRequestBus.Event.SetFov(self.entityId, 85)
    local nearClip = CameraRequestBus.Event.GetNearClipDistance(self.entityId)
    CameraRequestBus.Event.SetFarClipDistance(self.entityId, nearClip + 1024)
end

return camerasample

从视图创建摄像机实体

右键单击视口中的实体并选择Create camera entity from view,即可从特定实体创建静态摄像机视图。这样就会在同一点放置一个带有摄像机组件的新实体。您可以通过修改摄像机的变换组件来调整摄像机的视图。