Game Object: alignAxisToVect

alignAxisToVect(vect, axis, fac)
  • Aligns a Game Object axis to a World vector.

vect:
  • Uses the World axis as it's base reference.
  • Type:  3D Vector
     
  • 3D Vector:  [cosine of the vector's angle to the world X axis,
       cosine of the vector's angle to the world Y axis,
       cosine of the vector's angle to the world Z axis]
     
  • examples:   3D vector is aligned with the World X-axis = [1.0, 0.0,  0.0]
      3D vector is aligned with the World Y-axis = [ 0.0, 1.0, 0.0]
      3D vector is aligned with the World Z-axis = [ 0.0, 0.0, 1.0]
axis:
  • Game Object axis
  • Type:  integer
  • 0 = Game Object x-axis
  • 1 = Game Object y-axis
  • 2 = Game Object z-axis
fac:
  • Determines the "speed" of the alignment over multiple frames.
  • Type:  float
  • Range:  0.0 to 1.0
  • 0.0 = no movement
  • 1.0 = instantly
Sample Code

################## Align game object axis to a World vector.
  

# import bge
import bge

# get controller
cont = bge.logic.getCurrentController()

# get object that controller is attached to
obj = cont.owner

# align object x-axis to world x-axis
obj.alignAxisToVect([1.0,0.0,0.0], 0, 1.0)

# align object y-axis to world y-axis
obj.alignAxisToVect([0.0,1.0,0.0], 1, 1.0)

# align object z-axis to world z-axis
obj.alignAxisToVect([0.0,0.0,1.0], 2, 1.0)