KX_Scene(EXP_PyObjectPlus)¶
base class — EXP_PyObjectPlus
- class KX_Scene(EXP_PyObjectPlus)¶
An active scene that gives access to objects, cameras, lights and scene attributes.
The activity culling stuff is supposed to disable logic bricks when their owner gets too far from the active camera. It was taken from some code lurking at the back of KX_Scene - who knows what it does!
from bge import logic # get the scene scene = logic.getCurrentScene() # print all the objects in the scene for object in scene.objects: print(object.name) # get an object named 'Cube' object = scene.objects["Cube"] # get the first object in the scene. object = scene.objects[0]
# Get the depth of an object in the camera view. from bge import logic object = logic.getCurrentController().owner cam = logic.getCurrentScene().active_camera # Depth is negative and decreasing further from the camera depth = object.position[0]*cam.world_to_camera[2][0] + object.position[1]*cam.world_to_camera[2][1] + object.position[2]*cam.world_to_camera[2][2] + cam.world_to_camera[2][3]
@bug: All attributes are read only at the moment.
- name¶
The scene’s name, (read-only).
- Type
string
- objects¶
A list of objects in the scene, (read-only).
- Type
- objectsInactive¶
A list of objects on background layers (used for the addObject actuator), (read-only).
- Type
- lights¶
A list of lights in the scene, (read-only).
- Type
- cameras¶
A list of cameras in the scene, (read-only).
- Type
- texts¶
A list of texts in the scene, (read-only).
- Type
- active_camera¶
The current active camera.
- Type
Note
This can be set directly from python to avoid using the
KX_SceneActuator
.
- overrideCullingCamera¶
The override camera used for scene culling, if set to None the culling is proceeded with the camera used to render.
- Type
KX_Camera
or None
- world¶
The current active world, (read-only).
- Type
- filterManager¶
The scene’s 2D filter manager, (read-only).
- Type
- suspended¶
True if the scene is suspended, (read-only).
- Type
boolean
- activityCulling¶
True if the scene allow object activity culling.
- Type
boolean
- dbvt_culling¶
True when Dynamic Bounding box Volume Tree is set (read-only).
- Type
boolean
- pre_draw¶
A list of callables to be run before the render step. The callbacks can take as argument the rendered camera.
- Type
list
- post_draw¶
A list of callables to be run after the render step.
- Type
list
- pre_draw_setup¶
A list of callables to be run before the drawing setup (i.e., before the model view and projection matrices are computed). The callbacks can take as argument the rendered camera, the camera could be temporary in case of stereo rendering.
- Type
list
- addObject(object, reference, time=0.0)¶
Adds an object to the scene like the Add Object Actuator would.
- Parameters
object (
KX_GameObject
or string) – The (name of the) object to add.reference (
KX_GameObject
or string) – The (name of the) object which position, orientation, and scale to copy (optional), if the object to add is a light and there is not reference the light’s layer will be the same that the active layer in the blender scene.time (float) – The lifetime of the added object, in frames (assumes one frame is 1/50 second). A time of 0.0 means the object will last forever (optional).
- Returns
The newly added object.
- Return type
- end()¶
Removes the scene from the game.
- restart()¶
Restarts the scene.
- replace(scene)¶
Replaces this scene with another one.
- Parameters
scene (string) – The name of the scene to replace this scene with.
- Returns
True if the scene exists and was scheduled for addition, False otherwise.
- Return type
boolean
- suspend()¶
Suspends this scene.
- resume()¶
Resume this scene.
- get(key, default=None)¶
Return the value matching key, or the default value if its not found. :return: The key value or a default.
- drawObstacleSimulation()¶
Draw debug visualization of obstacle simulation.