Я не мог заставить FirstPersonController летать, поэтому решил сделать свою собственную камеру.
Это движение в xyz:
Код: Выделить всё
direction = Vec3(camera.forward * (held_keys['w'] - held_keys['s']) + camera.right * (held_keys['d'] - held_keys['a']) + camera.up * (held_keys['e'] - held_keys['q'])).normalized()Код: Выделить всё
camera.position += direction * speed * time.dtКод: Выделить всё
camera.rotation_y += mouse.velocity[0] * sensitivityЯ пытался добавить объект camera_pivot и вращать его по одной оси, а саму камеру - по другой оси, но это все равно не работает должным образом:
Код: Выделить всё
camera_pivot = Entity()Код: Выделить всё
camera.parent = camera_pivotКод: Выделить всё
camera.position = (0, 0, 0)Код: Выделить всё
camera.rotation = (0, 0, 0)Код: Выделить всё
camera_pivot.rotation_x -= mouse.velocity[1] * sensitivityКод: Выделить всё
camera.rotation_y += mouse.velocity[0] * sensitivityПодробнее здесь: https://stackoverflow.com/questions/793 ... ina-engine
Мобильная версия