2017-02-13 5 views
0

Я использую Blender, у меня есть камера в положении (x, y, z), указывающая на (rx, ry, rz), и мне нужно вращать ее вокруг (0, 0, 0) (радиус R), так что он все еще указывает на (rx, ry, rz). Как я могу реализовать его с помощью python или есть простой алгоритм?Поверните камеру в блендере с помощью python

+0

Вам абсолютно необходимо решение для скриптов? Потому что то, что вы просили, можно легко сделать без Python. – Highstaker

+1

Кроме того, этот вопрос может быть более подходящим для Blender.SE, imo. https://blender.stackexchange.com/ – Highstaker

+0

@Highstaker Я, вы можете помочь мне с этим? –

ответ

0

Не настоящий алгоритм, но может дать вам несколько советов.

Создать пустой. Создание "Track To" ограничения для вашей камеры со следующими параметрами:

enter image description here

Установить опорную точку "3D курсор":

enter image description here

Set 3D курсор туда, где вы хотите. Так как это (0,0,0) в вашем случае, вы можете просто нажать Shift + C, он будет установлен там.

Теперь вы можете просто повернуть камеру, и она будет кружить вокруг 3D-курсора при наведении на цель:

enter image description here

Вы также можете сделать это из Python, используя bpy.ops.transform.rotate (имейте в виду, что этот метод принимает радианы, а не градусы), , но вам нужно сделать какой-то mumbo-jumbo с контекстами, иначе он не будет вращаться вокруг оси. В принципе, это уже сделано для вас в this answer. Единственное, что я должен добавить, это то, что если у вас есть несколько видовых экранов (скорее, 3D-виды), возможно, это не сработает вначале, вам просто нужно установить точку поворота на «3D-курсор» в других тоже, поскольку видовое окно Python захватывает контекст от произвольного. Если у вас есть только один, это не должно быть проблемой.

+0

Спасибо большое :) –

Смежные вопросы