블렌더 파이썬 게임 스크립팅을 이해하기 위해 현재 구체 주위를 걸을 수있는 장면을 만들려고합니다. this link의 FPSController 구조를 사용합니다. 어떤 각도가 180도 이상 될 때까지 약 작동하고 불연속 보이는블렌더 : 구체 주위를 둘러보기
def main():
print("Started")
controller = bge.logic.getCurrentController()
me = controller.owner
distance, loc, glob = me.getVectTo((0,0,0))
grav = controller.actuators['Gravity']
strength = me['Gravity']
force = strength*(distance*distance)*glob
grav.force = force
try:
rot = Vector((0,0,-1)).rotation_difference(glob).to_matrix()
except Exception as E:
print(E)
rot = (0,0,0)
rotZ = me.orientation
me.orientation = rot*rotZ
controller.activate(grav)
main()
: 중력과 FPSController 방향을 위해 나는 현재 다음과 같습니다 파이썬 컨트롤러를 구성하기 위해 노력했다. 이것은 continuous_difference가 불 연속적이라고 가정합니다. blender documentation on Math Types & Utilities은 아무 말도하지 않고, 아직 연속 맵이 가능할지를보기 위해 쿼터니언 표현에 대해 충분히 생각하지 않았습니다. 그리고 로컬 Z를 달성하는보다 우아한 방법이 있다고 생각합니다. 방향은 계속적으로 마우스에 의존하지만 로컬 X 및 Y 방향은 주어진 벡터에 따라 계속 달라 지지만 어떻게됩니까?
3D 공간에서의 회전은 매우 어려울 수 있습니다. 제 생각에는 쿼터니언을 이해하는 데 시간을 투자하는 것이 가장 쉽습니다. – fluffels
쿼터니언 대신에 오일러 각을 사용하면 짐벌 잠금 (http://en.wikipedia.org/wiki/Gimbal_lock) 문제가 발생할 수 있습니다. 이로 인해 문제가 발생할 수 있습니다. – decden
쉽게 시도 할 수 있습니까? 블렌더를 설치하면 언제 나오나요? (Blender 전문가가 아닙니다) – Gerard