diff --git a/proto/decentraland/sdk/components/camera_layer.proto b/proto/decentraland/sdk/components/camera_layer.proto new file mode 100644 index 00000000..56daf1cb --- /dev/null +++ b/proto/decentraland/sdk/components/camera_layer.proto @@ -0,0 +1,30 @@ +syntax = "proto3"; + +package decentraland.sdk.components; + +import "decentraland/sdk/components/common/id.proto"; +import "decentraland/common/colors.proto"; + +option (common.ecs_component_id) = 1210; + +message PBCameraLayer { + // layer to which these settings apply. must be > 0 + // Layer 0 is the default "real world" layer viewed by the player and cannot be modified. + uint32 layer = 1; + + // should the sun light affect this layer? default false + optional bool directional_light = 2; + + // should this layer show player avatars? default false + optional bool show_avatars = 3; + + // should this layer show the sky? default false + optional bool show_skybox = 4; + + // should this layer show distance fog? default false + optional bool show_fog = 5; + + // ambient light overrides for this layer. default -> use same as main camera + optional decentraland.common.Color3 ambient_color_override = 6; + optional float ambient_brightness_override = 7; +} diff --git a/proto/decentraland/sdk/components/camera_layers.proto b/proto/decentraland/sdk/components/camera_layers.proto new file mode 100644 index 00000000..9fcac006 --- /dev/null +++ b/proto/decentraland/sdk/components/camera_layers.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; + +package decentraland.sdk.components; + +import "decentraland/sdk/components/common/id.proto"; + +option (common.ecs_component_id) = 1208; + +message PBCameraLayers { + repeated uint32 layers = 1; +} \ No newline at end of file diff --git a/proto/decentraland/sdk/components/global_light.proto b/proto/decentraland/sdk/components/global_light.proto index ea76ccb6..0fa10ba8 100644 --- a/proto/decentraland/sdk/components/global_light.proto +++ b/proto/decentraland/sdk/components/global_light.proto @@ -18,5 +18,5 @@ message PBGlobalLight { optional decentraland.common.Color3 ambient_color = 2; // ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity. // default 1 - optional float ambient_brightness = 3; + optional float ambient_brightness = 3; } diff --git a/proto/decentraland/sdk/components/texture_camera.proto b/proto/decentraland/sdk/components/texture_camera.proto new file mode 100644 index 00000000..d3c01a86 --- /dev/null +++ b/proto/decentraland/sdk/components/texture_camera.proto @@ -0,0 +1,41 @@ +syntax = "proto3"; + +package decentraland.sdk.components; + +import "decentraland/sdk/components/common/id.proto"; +import "decentraland/common/colors.proto"; + +option (common.ecs_component_id) = 1207; + +message PBTextureCamera { + // rendered texture width + optional uint32 width = 1; + // rendered texture height + optional uint32 height = 2; + // which layer of entities to render. entity layers can be specified by adding PBCameraLayers to target entities. + // defaults to 0 + optional uint32 layer = 3; + + // default black + optional decentraland.common.Color4 clear_color = 6; + // default infinity + optional float far_plane = 7; + + oneof mode { + Perspective perspective = 8; + Orthographic orthographic = 9; + /* Portal portal = 10; */ + }; +} + +message Perspective { + // vertical field of view in radians + // defaults to pi/4 = 45 degrees + optional float field_of_view = 1; +} + +message Orthographic { + // vertical extent of the visible range in meters + // defaults to 4m + optional float vertical_range = 1; +}