CameraProfiler
The Camera Profiler package represents a singleton that you can use to better leverage the Camera system wihin the Roblox Environment. This camera system
works through setting Workspace.CurrentCamera to the camera the developer wants to see.
Example of how you would create a profile
local BlimpCameraProfile = CameraProfiler:Profile({
Name = "BlimpCamera"
})
function BlimpCameraProfile.Construct(self: BlimpCameraProfile)
print("Setup blimp camera variables!")
end
function BlimpCameraProfile.Start(self: BlimpCameraProfile)
print("Camera started, do things!")
end
function BlimpCameraProfile.Stop(self: BlimpCameraProfile)
print("Camera stopped, clean things up!")
end
export type BlimpCameraProfile = typeof(BlimpCameraProfile)
return BlimpCameraProfileExample of how you would use the newly created profile
CameraProfiler:Set("BlimpCamera")Example of how you would integrate a Profile with the default Camera Roblox creates.
local DefaultCameraProfile = CameraProfiler:Profile({
Name = "DefaultCamera"
}, workspace.CurrentCamera)Properties
CameraStarted
CameraProfiler.CameraStarted :: Signal<Name: string>
This signal is fired after a camera has started.
CameraStopped
CameraProfiler.CameraStopped :: Signal<Name: string>
This signal is fired after a camera has stopped.
Methods
Profile
CameraProfiler:Profile(
profilePrototype{ Name: string, Construct: ((self: Profile) -> ())?, Start: ((self: Profile) -> ())?, Stop: ((self: Profile) -> ())?, },cameraInstanceCamera? ) -> Profile
Call this function to register your camera profile, a camera profile is a Roblox table that wraps around a camera instance, the goal of this table is to make interacting and handling with cameras easier within the engine.
Example:
local CameraProfile = CameraProfiler:Profile({
Name = "CameraProfile"
})
function CameraProfile.Construct(self: CameraProfile)
...
end
export type CameraProfile = typeof(CameraProfile)
return CameraProfileSet
CameraProfiler:Set(
profileNamestring (opens in a new tab) ) -> ()
Will set what the active camera should be, sideeffects of calling this method are:
- Will call the
Stoplifecycle on the current camera instance. - Will set the
Workspace.CurrentCameraproperty to the updated camera instance. - Will call the
Startlifecycleo n the new camera instance.
Get
CameraProfiler:Get() -> string? (opens in a new tab)
Will return the name of the currently active camera, or nil.