Home | Trees | Indices | Help |
|
---|
|
KX_GameObject.KX_GameObject --+ | KX_Camera
A Camera object.
Instance Methods | |||
|
|||
|
|||
boolean |
|
||
matrix (4x4 list) |
|
||
matrix (4x4 list) |
|
||
matrix (4x4 list) |
|
||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
list [vx, vy, vz] |
|
||
3d vector. |
|
||
CListValue of KX_GameObject |
|
||
CListValue of KX_GameObject |
|
||
float |
|
||
list [vx, vy, vz] |
|
||
float |
|
||
KX_MeshProxy |
|
||
3x3 rotation matrix |
|
||
KX_GameObject |
|
||
|
|||
list [x, y, z] |
|
||
list |
|
||
list [fx, fy, fz] |
|
||
int |
|
||
3-tuple (float, 3-tuple (x,y,z), 3-tuple (x,y,z)) |
|
||
list [vx, vy, vz] |
|
||
boolean |
|
||
3-tuple (KX_GameObject, 3-tuple (x,y,z), 3-tuple (nx,ny,nz)) or 4-tuple (KX_GameObject, 3-tuple (x,y,z), 3-tuple (nx,ny,nz), KX_PolyProxy) |
|
||
KX_GameObject |
|
||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
Instance Variables | |
list |
actuators a list of SCA_IActuator objects. (Inherited from KX_GameObject.KX_GameObject) |
4x4 Matrix [[float]] |
camera_to_world This camera's camera to world transform. |
list of SCA_ISensor. |
controllers a list of SCA_IController objects. (Inherited from KX_GameObject.KX_GameObject) |
float |
far The camera's far clip distance. |
boolean |
frustum_culling True if this camera is frustum culling. |
bool |
isValid Retuerns fails when the object has been removed from the scene and can no longer be used. (Inherited from KX_GameObject.KX_GameObject) |
float |
lens The camera's lens value. |
float |
linVelocityMax Clamp the maximum linear velocity to prevent objects moving beyond a set speed. (Inherited from KX_GameObject.KX_GameObject) |
float |
linVelocityMin Enforces the object keeps moving at a minimum velocity. (Inherited from KX_GameObject.KX_GameObject) |
list [ix, iy, iz] |
localInertia the object's inertia vector in local coordinates. (Inherited from KX_GameObject.KX_GameObject) |
3x3 Matrix [[float]] |
localOrientation The object's local orientation. (Inherited from KX_GameObject.KX_GameObject) |
list [x, y, z] |
localPosition The object's local position. (Inherited from KX_GameObject.KX_GameObject) |
list [sx, sy, sz] |
localScaling The object's local scaling factor. (Inherited from KX_GameObject.KX_GameObject) |
float |
mass The object's mass (Inherited from KX_GameObject.KX_GameObject) |
list of KX_MeshProxy |
meshes a list meshes for this object. (Inherited from KX_GameObject.KX_GameObject) |
4x4 Matrix [[float]] |
modelview_matrix This camera's 4x4 model view matrix. |
string. |
name The object's name. (Inherited from KX_GameObject.KX_GameObject) |
float |
near The camera's near clip distance. |
boolean |
occlusion occlusion capability flag. (Inherited from KX_GameObject.KX_GameObject) |
3x3 Matrix [[float]] On write: local orientation, on read: world orientation |
orientation The object's orientation. (Inherited from KX_GameObject.KX_GameObject) |
KX_GameObject or None |
parent The object's parent object. (Inherited from KX_GameObject.KX_GameObject) |
boolean |
perspective True if this camera has a perspective transform. |
list [x, y, z] On write: local position, on read: world position |
position The object's position. (Inherited from KX_GameObject.KX_GameObject) |
4x4 Matrix [[float]] |
projection_matrix This camera's 4x4 projection matrix. |
list [sx, sy, sz] On write: local scaling, on read: world scaling |
scaling The object's scaling factor. (Inherited from KX_GameObject.KX_GameObject) |
list |
sensors a list of SCA_ISensor objects. (Inherited from KX_GameObject.KX_GameObject) |
int |
state the game object's state bitmask, using the first 30 bits, one bit must always be set. (Inherited from KX_GameObject.KX_GameObject) |
float |
timeOffset adjust the slowparent delay at runtime. (Inherited from KX_GameObject.KX_GameObject) |
boolean |
visible visibility flag. (Inherited from KX_GameObject.KX_GameObject) |
3x3 Matrix [[float]] |
worldOrientation The object's world orientation. (Inherited from KX_GameObject.KX_GameObject) |
list [x, y, z] |
worldPosition The object's world position. (Inherited from KX_GameObject.KX_GameObject) |
list [sx, sy, sz] |
worldScaling The object's world scaling factor. (Inherited from KX_GameObject.KX_GameObject) |
4x4 Matrix [[float]] |
world_to_camera This camera's world to camera transform. |
Constants | |
---|---|
INSIDE see sphereInsideFrustum() and boxInsideFrustum() |
|
INTERSECT see sphereInsideFrustum() and boxInsideFrustum() |
|
OUTSIDE see sphereInsideFrustum() and boxInsideFrustum() |
Method Details |
Tests the given sphere against the view frustum.
|
Tests the given box against the view frustum. Example: import GameLogic co = GameLogic.getCurrentController() cam = co.GetOwner() # Box to test... box = [] box.append([-1.0, -1.0, -1.0]) box.append([-1.0, -1.0, 1.0]) box.append([-1.0, 1.0, -1.0]) box.append([-1.0, 1.0, 1.0]) box.append([ 1.0, -1.0, -1.0]) box.append([ 1.0, -1.0, 1.0]) box.append([ 1.0, 1.0, -1.0]) box.append([ 1.0, 1.0, 1.0]) if (cam.boxInsideFrustum(box) != cam.OUTSIDE): # Box is inside/intersects frustum ! # Do something useful ! else: # Box is outside the frustum !
|
Tests the given point against the view frustum. Example: import GameLogic co = GameLogic.getCurrentController() cam = co.GetOwner() # Test point [0.0, 0.0, 0.0] if (cam.pointInsideFrustum([0.0, 0.0, 0.0])): # Point is inside frustum ! # Do something useful ! else: # Box is outside the frustum !
|
Returns the camera-to-world transform.
|
Returns the world-to-camera transform. This returns the inverse matrix of getCameraToWorld().
|
Returns the camera's projection matrix.
|
Sets the camera's projection matrix. You should use normalised device coordinates for the clipping planes: left = -1.0, right = 1.0, top = 1.0, bottom = -1.0, near = cam.near, far = cam.far Example: import GameLogic def Scale(matrix, size): for y in range(4): for x in range(4): matrix[y][x] = matrix[y][x] * size[y] return matrix # Generate a perspective projection matrix def Perspective(cam): return [[cam.near, 0.0 , 0.0 , 0.0 ], [0.0 , cam.near, 0.0 , 0.0 ], [0.0 , 0.0 , -(cam.far+cam.near)/(cam.far-cam.near), -2.0*cam.far*cam.near/(cam.far - cam.near)], [0.0 , 0.0 , -1.0 , 0.0 ]] # Generate an orthographic projection matrix # You will need to scale the camera def Orthographic(cam): return [[1.0/cam.scaling[0], 0.0 , 0.0 , 0.0 ], [0.0 , 1.0/cam.scaling[1], 0.0 , 0.0 ], [0.0 , 0.0 , -2.0/(cam.far-cam.near), -(cam.far+cam.near)/(cam.far-cam.near)], [0.0 , 0.0 , 0.0 , 1.0 ]] # Generate an isometric projection matrix def Isometric(cam): return Scale([[0.707, 0.0 , 0.707, 0.0], [0.408, 0.816,-0.408, 0.0], [0.0 , 0.0 , 0.0 , 0.0], [0.0 , 0.0 , 0.0 , 1.0]], [1.0/cam.scaling[0], 1.0/cam.scaling[1], 1.0/cam.scaling[2], 1.0]) co = GameLogic.getCurrentController() cam = co.getOwner() cam.setProjectionMatrix(Perspective(cam)))
|
Use this camera to draw a viewport on the screen (for split screen games or overlay scenes). The viewport region is defined with setViewport.
|
Sets the region of this viewport on the screen in pixels. Use Rasterizer.getWindowHeight Rasterizer.getWindowWidth to calculate values relative to the entire display.
|
Instance Variable Details |
camera_to_worldThis camera's camera to world transform. (read only) Regenerated every frame from the camera's position and orientation.
|
modelview_matrixThis camera's 4x4 model view matrix. (read only) Regenerated every frame from the camera's position and orientation.
|
perspectiveTrue if this camera has a perspective transform.If perspective is False, this camera has an orthographic transform. Note that the orthographic transform is faked by multiplying the lens attribute by 100.0 and translating the camera 100.0 along the z axis. This is the same as Blender. If you want a true orthographic transform, see setProjectionMatrix.
|
world_to_cameraThis camera's world to camera transform. (read only) Regenerated every frame from the camera's position and orientation. This is camera_to_world inverted.
|
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0 on Fri Apr 24 17:51:19 2009 | http://epydoc.sourceforge.net |