RBX.lua.Camera (Object): Difference between revisions
>MrNicNac No edit summary |
>Camoy format |
||
Line 1: | Line 1: | ||
{{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.'' | |||
| | |||
''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.}} | ||
Revision as of 02:19, 29 January 2011
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.
![]() | |
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 |
![]() | |
Returns | Undocumented |
Description: | Undocumented |
Member of: | Undocumented |
![]() | |
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 |
![]() | |
Returns | Undocumented |
Description: | Undocumented |
Member of: | Undocumented |
![]() | |
Returns | Undocumented |
Description: | Undocumented |
Member of: | Undocumented |
![]() | |
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 |
![]() | |
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 |
![]() | |
Returns | table |
Description: | Returns a read-only table of the object's children. |
Member of: | Instance |
![]() | |
Returns | string |
Description: | Returns a coded string of the object's DebugId used internally by Roblox. |
Member of: | Instance |
![]() | |
Returns | String path to object |
Description: | Returns a string with a dot (.) character separating a path of object hierarchy excluding "game". |
Member of: | Instance |
![]() | |
Returns | bool |
Description: | Returns true if the Instance is that class or a subclass. |
Member of: | Instance |
![]() | |
Returns | boolean is ancestor |
Description: | Returns true if the object is an ancestor of descendant. |
Member of: | Instance |
![]() | |
Returns | bool |
Description: | Returns true if the object is an descendant of ancestor. |
Member of: | Instance |
![]() | |
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 |
![]() | |
Returns | nil |
Description: | Removes all descendants of the Instance, but leaves the Instance itself. |
Member of: | Instance |
![]() | |
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 |
![]() | |
Type | CameraType |
Description | Sets how the camera behaves. See all the camera behavior options you have here |
Member of | Camera |
![]() | |
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 |
![]() | |
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 |
![]() | |
Type | float |
Description | Sets the angle of the camera's field of view, between 20 and 80 degrees. |
Member of | Camera |
![]() | |
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 |
![]() | |
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 |
![]() | |
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 |
![]() | |
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 |
![]() | |
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 |
![]() | |
Type | int |
Description | How much saving this instance with SaveInstance will add to DataComplexity |
Member of | Instance |
![]() | |
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 |
![]() | |
Description | Fired whenever a property of the object changes. |
---|---|
Member of: | Instance |
![]() | |
Description | Fired after a child is added. |
---|---|
Member of: | Instance |
![]() | |
Description | Fired when a child is removed from the object. |
---|---|
Member of: | Instance |
![]() | |
Description | Fired when a descendant is added to the object. |
---|---|
Member of: | Instance |
![]() | |
Description | Fired when a descendant is being removed. |
---|---|
Member of: | Instance |