Edited: even when adding a line in that rotates the of the text object to the Z of either active camera, it does not seem to do what I would exepect, and rotates.
Edited again: aligning the axis of the bitmap plane does not seem to actually make it align with what i would expect, no matter what axis.
I tried changing my halo text from the world scene to the hud scene so it overlays. The code is the same but, when I changed the scene in which the text appears ( by sending a message) as each bitmap character is added to the left for each char in the string, it is rotated slightly clockwise.
def display_halo_text(string,target):
empty = logic.getSceneList()[1].addObject('damage_text_empty','HUD_origin',90)
follow_pos = target_o.worldPosition.copy()
screen_pos = logic.getSceneList()[0].active_camera.getScreenPosition(follow_pos) < screen position of world scene active camera of object position.
When I change this to the overlay’s scene active camera I get more rotation
empty.worldPosition.x = screen_pos[0]
empty.worldPosition.y = screen_pos[1] <redundant since i can set the character to screen pos directly, but changing this doesn’t change the rotation issue
for i,char in enumerate(string):
character = logic.getSceneList()[1].addObject('damage_text','HUD_origin',0)
character.worldPosition = empty.worldPosition.copy()
character.worldPosition.x += i
#print(character.worldPosition) prints <.5,.5,0>, <1.5,.5,0><2.5,.5,0> etc
#print(character.localOrientation) prints Matrix <1,0,0><0,1,0><-0,0,1> for each char
#print(character.worldOrientation)prints same as above for each char
character['Text'] = char
character.setParent(empty)