Skip to content
tristan edited this page Sep 19, 2018 · 1 revision

true

Object activity culling

Object activity such as physics or logic can be suspended depending on the distance between the object and the closest camera thanks to UI options:

true

These options determine what kind of culling to proceed and the distance to cull. They are also found in python API under names:

KX_GameObject.logicCulling
KX_GameObject.physicsCulling
KX_GameObject.logicCullingRadius
KX_GameObject.physicsCullingRadius

Also the user can choose which camera are implied in distance computing or choose if a scene enable activity culling. These option as the previous ones are both in UI and python:

true

true

KX_Camera.activityCulling
KX_Scene.activityCulling

See also: #f9d7e24

Object collision test

It's now possible to test if two objects are colliding without skim all the collisions of an object through a callback. To do so the user have to call the function:

KX_GameObject.collide(otherObject)

This function return a pair tuple, if no collision happened between the objects, the pair is (False, None), else the first element of the pair is True and the second a KX_CollisionContactPoint similar to the one passed to collision callback function.

See also: #ed9c14a

Camera custom viewport UI

The user is able to specify a custom viewport for camera using a subset of the full viewport. This viewport is specified thanks to ratio of left, right, top and bottom edge of the full viewport. The UI in camera panel is presented as follow:

true

Example of two cameras defining a custom viewport in UI:

true

See also: #a09bc02

Character max slope

Character max slope is used to limit character motion when the slope of the ground is greater than a specific angle specified in the UI physics panel:

true

This value can also be set in python thanks to:

KX_CharacterWrapper.maxSlope

See also: #d83c2fa

Clean up and refactors

  • Improve vertex memory architecture. (see #5d84885)
  • Use float array for vertex conversion. (see #f874e52)
  • Implement client/server update utilities. (see #094696e)
  • Use KX_GameObject directly instead of KX_CullingNode. (see #5577969)
  • Implement python fast keyword parsing. (see #3f9e0b5)
  • Replace SetActiveAction by SetLastFrame in BL_DeformableGameObject. (see #fe84de3)
  • Avoid checking deformer skip transform every frame. (see #5193049)
  • Use memory pool to allocate vertex data. (see #a3e48cc)
  • Implement PyObjectFrom with float array. (see #4326995)
  • Move restrict animation update management in KX_Scene. (see #066db11)
  • Rename BlenderBulletCharacterController by CcdCharacter. (see #9fc369b)
  • Cleanup KX_CollisionEventManager.[h/cpp]. (see #b6cd494)
  • Refactor material attributes management. (see #60756bc)
  • Replace math library from Moto to Mathfu. (see #a30aef6)

Bugs fixed

  • Fix KX_ObjectActuator.torque value affected by servo control. (see #d45086e)
  • Fix parent for physics object conversion. (see #067da32)
  • Fix occlusion culling. (see #8166b30)
  • Fix inertia form factor. (see #ca95d10)
  • Don't tag empty display array for bounding box update. (see #99a7910)
  • Fix near/radar sensors. (see #e5bd8a5)
  • Fix contact point list for ghost objects. (see #3c43e14)
  • Fix custom shader UV layers. (see #11214b7)
  • Avoid normal recalculation for modifiers. (see #d6c81a0)
  • Fix duplication of action actuator. (see #462a705)
  • Fix parent scaling. (see #a536bbd)
Clone this wiki locally