RBX.lua.Camera (Object): Difference between revisions

From Legacy Roblox Wiki
Jump to navigationJump to search
>MrNicNac
No edit summary
>Camoy
format
Line 1: Line 1:
__NOTOC__ {{CatUp|Class reference}}
{{ObjectPage|name=Camera|''The Camera Object is not a supported part of the Lua API, and may be changed at any time. As of May 16th 2010 this article is accurate.''
 
<div class="tabber">
<div class="tabbertab" title="Info">
{| cellspacing=2 cellpadding=4 border=0 width=100%
 
|style="vertical-align:top"|{{:Object:Camera}}
|style="vertical-align:top"|{{Local}}{{LeftNoticeStart}}
''The Camera Object is not a supported part of the Lua API, and may be changed at any time. As of May 16th 2010 this article is accurate.''


The Camera object defines a view into the 3D game world. In an instance of the game each client has it's own Camera object associated with it. The Cameras exist only in the clients state residing in the workspace, and must be operated on by a LocalScript. A reference to the camera can either be obtained via game.Workspace:FindFirstChild("Camera") (this is a ''hack'' and many break at any time), or the game.Workspace.CurrentCamera property.
The Camera object defines a view into the 3D game world. In an instance of the game each client has it's own Camera object associated with it. The Cameras exist only in the clients state residing in the workspace, and must be operated on by a LocalScript. A reference to the camera can either be obtained via game.Workspace:FindFirstChild("Camera") (this is a ''hack'' and many break at any time), or the game.Workspace.CurrentCamera property.
Line 19: Line 11:
Current Limitations: The current Camera is not designed to be manipulated by the Lua API. As a result you cannot take complete control of the Camera using a script. Editing the CoordinateFrame property of the Camera Object can control it, however the game engine will edit the camera's state once every frame, resulting in a minimum 1 frame lag when manually editing a camera. Also, the camera cannot be turned upside down. The Y CoordinateFrame property cannot go below 0.
Current Limitations: The current Camera is not designed to be manipulated by the Lua API. As a result you cannot take complete control of the Camera using a script. Editing the CoordinateFrame property of the Camera Object can control it, however the game engine will edit the camera's state once every frame, resulting in a minimum 1 frame lag when manually editing a camera. Also, the camera cannot be turned upside down. The Y CoordinateFrame property cannot go below 0.


It is possible to lock the camera to a position, if you set it's position or CFrame values to math.huge it will prevent the camera from moving. This can cause issues, or it may not work at all. Use with caution.
It is possible to lock the camera to a position, if you set it's position or CFrame values to math.huge it will prevent the camera from moving. This can cause issues, or it may not work at all. Use with caution.}}
|}
|}
</div>
<div class="tabbertab" title="Methods">
{{:Clone (Function)}}{{:FindFirstChild (Function)}}
{{:GetChildren (Function)}}
{{:GetFullName (Function)}}
{{:IsA (Function)}}
{{:IsAncestorOf (Function)}}
{{:IsDescendantOf (Function)}}
{{:Remove (Function)}}
</div>
<div class="tabbertab" title="Properties">
{{:Name (Property)}}{{:Parent (Property)}}
{{:archivable (Property)}}
{{:className (Property)}}
{{:CameraSubject (Property)}}
{{:CameraType (Property)}}
{{:CoordinateFrame (Property)}}
{{:Focus (Property)}}
</div>
<div class="tabbertab" title="Events">
{{:AncestryChanged (Event)}}
{{:Changed (Event)/property}}
{{:ChildAdded (Event)}}
{{:ChildRemoving (Event)}}
{{:DescendantAdded (Event)}}
{{:DescendantRemoving (Event)}}
</div>
</div>
 
[[Category:ROBLOX Lua Objects]]

Revision as of 02:19, 29 January 2011

Derived Classes
None
The Camera Object is not a supported part of the Lua API, and may be changed at any time. As of May 16th 2010 this article is accurate.

The Camera object defines a view into the 3D game world. In an instance of the game each client has it's own Camera object associated with it. The Cameras exist only in the clients state residing in the workspace, and must be operated on by a LocalScript. A reference to the camera can either be obtained via game.Workspace:FindFirstChild("Camera") (this is a hack and many break at any time), or the game.Workspace.CurrentCamera property.

A camera's state is defined in the following way:

  • A CoordinateFrame of type CFrame represents the the position and orientation of the camera.
  • A Focus represents the point the camera is looking at. This is currently always set to be directly in front of a character's head by the game engine.
  • A CameraType enum represents what action the game engine should preform on the Camera every frame.


Current Limitations: The current Camera is not designed to be manipulated by the Lua API. As a result you cannot take complete control of the Camera using a script. Editing the CoordinateFrame property of the Camera Object can control it, however the game engine will edit the camera's state once every frame, resulting in a minimum 1 frame lag when manually editing a camera. Also, the camera cannot be turned upside down. The Y CoordinateFrame property cannot go below 0.

It is possible to lock the camera to a position, if you set it's position or CFrame values to math.huge it will prevent the camera from moving. This can cause issues, or it may not work at all. Use with caution.
GetRoll( )
Returns float
Description: Returns the camera's current roll. Roll is defined in radians, and is stored as the delta from the camera's y axis default normal vector.
Member of: Camera
PanUnits( )
Returns Undocumented
Description: Undocumented
Member of: Undocumented
SetRoll( float rollAngle )
Returns nil
Description: The roll of the Camera, in radians. This sets how tilted the camera is on the Z-axis. Basically, this function "twists" the camera a specific amount. Note that the Camera's CameraType must be set to "Scriptable".
Member of: Camera
TiltUnits( )
Returns Undocumented
Description: Undocumented
Member of: Undocumented
Zoom( )
Returns Undocumented
Description: Undocumented
Member of: Undocumented
Clone( )
Returns Instance
Description: Returns a clone of the object and its children, unless its Archivable property is false. The clone will have the same properties as the original object and the same descendants (except those with an Archivable property set to false). The clone's Parent will be nil.
Member of: Instance
FindFirstChild( string name, bool recursive = false )
Returns Instance
Description: Returns the first child found with a name of name. Returns nil if no such child exists. If the optional recursive argument is true, will recursively descend the hierarchy while searching rather than only searching the immediate object.
Member of: Instance
GetChildren( )
Returns table
Description: Returns a read-only table of the object's children.
Member of: Instance
GetDebugId( int scopeLength )
Returns string
Description: Returns a coded string of the object's DebugId used internally by Roblox.
Member of: Instance
GetFullName( )
Returns String path to object
Description: Returns a string with a dot (.) character separating a path of object hierarchy excluding "game".
Member of: Instance
IsA( string className )
Returns bool
Description: Returns true if the Instance is that class or a subclass.
Member of: Instance
IsAncestorOf( Instance descendant )
Returns boolean is ancestor
Description: Returns true if the object is an ancestor of descendant.
Member of: Instance
IsDescendantOf( Instance ancestor )
Returns bool
Description: Returns true if the object is an descendant of ancestor.
Member of: Instance
Destroy( )
Returns nil
Description: Sets the Parent property to nil, locks the Parent property, disconnects all connections and calls Destroy() on all children.
Member of: Instance
ClearAllChildren( )
Returns nil
Description: Removes all descendants of the Instance, but leaves the Instance itself.
Member of: Instance
CameraSubject
Property Instance
Description A Model, Part, or Humanoid for the camera to look at. Setting this property will override the Focus property.
Member of Camera
CameraType
Type CameraType
Description Sets how the camera behaves. See all the camera behavior options you have here
Member of Camera
CoordinateFrame
Property CFrame
Description This is a CFrame whose position defines where the camera is at, however it does not define which way it points. For that you need the Focus property.
Member of Camera
Focus
Type CFrame
Description Sets the position the Camera is pointing towards. If the CameraSubject is defined, it is set automatically to a CFrame at the position of the CameraSubject pointing towards the camera's CFrame.
Member of Camera
FieldOfView
Type float
Description Sets the angle of the camera's field of view, between 20 and 80 degrees.
Member of Camera
Name
Type string
Description The name of the object, which is often used to identify it in the context of its parent. Note that names are not unique identifiers; multiple children of an object may share the same name. In a script where you want to access an object using a name, for example, game.Workspace["Brick"], the first object found with that name is that object. This "first object" can be found in the Explorer menu.Names are great for showing a very brief title or summary of an object.
Member of Instance
Parent
Type Instance
Description The hierarchical parent of the object. When no scripts hold references to an object, it will still be maintained as long as it's parent is set to an object which does have references to it, either by other objects or scripts. The toplevel DataModel object (the one referred to as the "game" by scripts) has no parent, but always has a reference held to it by the game engine, and exists for the duration of a session.
Member of Instance
Archivable
Type bool
Description Sets whether or not the object is saved when publishing or saving to file. Also sets whether or not the object is clonable.
Member of Instance
ClassName
Type string
Description A unique string per type of Instance. Should only be used as a unique identifier, as it does not reveal any information about nature of the type hierarchy the type is in. For this use, see IsA.
Member of Instance
RobloxLocked
Type bool
Description If true, the object and its descendants cannot be indexed or edited by a Script or LocalScript and will throw an error if it is attempted.
Member of Instance
DataCost
Type int
Description How much saving this instance with SaveInstance will add to DataComplexity
Member of Instance
AncestryChanged ( Instance child, Instance parent )
Description Fired when an ancestor of the Instance the event which is a member of child has its parent changed to parent.
Member of: Instance
Changed ( Property property )
Description Fired whenever a property of the object changes.
Member of: Instance
ChildAdded ( Instance child )
Description Fired after a child is added.
Member of: Instance
ChildRemoved ( Instance child )
Description Fired when a child is removed from the object.
Member of: Instance
DescendantAdded ( Instance descendant )
Description Fired when a descendant is added to the object.
Member of: Instance
DescendantRemoving ( Instance descendant )
Description Fired when a descendant is being removed.
Member of: Instance