Чтение онлайн

на главную - закладки

Жанры

Введение в написание скриптов на Питоне для Блендера 2.5x. Примеры кода

Larsson Thomas

Шрифт:

# Добавление управляющего элемента для вращения по Z кости Tip

# Tip.rotz = 1.0 - 1.0*x, где x = Driver.locx

fcurve = rig.pose.bones["Tip"].driver_add('rotation_quaternion', 3)

drv = fcurve.driver

drv.type = 'AVERAGE'

drv.show_debug_info = True

var = drv.variables.new

var.name = 'x'

var.type = 'TRANSFORMS'

targ = var.targets[0]

targ.id = rig

targ.transform_type = 'LOC_X'

targ.bone_target = 'Driver'

targ.use_local_space_transform = True

fmod = fcurve.modifiers[0]

fmod.mode = 'POLYNOMIAL'

fmod.poly_order = 1

fmod.coefficients = (1.0, -1.0)

#
Добавление управляющего элемента для вращения по Z кости Base

# Base.rotz = z*z - 3*y, где y = Driver.locy и z = Driver.rotz

fcurve = rig.pose.bones["Base"].driver_add('rotation_quaternion', 3)

drv = fcurve.driver

drv.type = 'SCRIPTED'

drv.expression = 'z*z - 3*y'

drv.show_debug_info = True

var1 = drv.variables.new

var1.name = 'y'

var1.type = 'TRANSFORMS'

targ1 = var1.targets[0]

targ1.id = rig

targ1.transform_type = 'LOC_Y'

targ1.bone_target = 'Driver'

targ1.use_local_space_transform = True

var2 = drv.variables.new

var2.name = 'z'

var2.type = 'TRANSFORMS'

targ2 = var2.targets[0]

targ2.id = rig

targ2.transform_type = 'ROT_Z'

targ2.bone_target = 'Driver'

targ2.use_local_space_transform = True

return

if __name__ == "__main__":

run((0,0,0))

Другие типы данных

Текст

Эта программа добавляет текстовый объект в 3D-пространство и устанавливает некоторые атрибуты. Заметьте, что тип данных здесь используется TextCurve;

тип Text применяется для текста в текстовом редакторе.

#----------------------------------------------------------

# File text.py

#----------------------------------------------------------

import bpy

import math from math

import pi

def run(origin):

# Создание и именование объекта TextCurve

bpy.ops.object.text_add(

location=origin,

rotation=(pi/2,0,pi))

ob = bpy.context.object

ob.name = 'HelloWorldText'

tcu = ob.data

tcu.name = 'HelloWorldData'

# Атрибуты TextCurve

tcu.body = "Hello, world"

tcu.font = bpy.data.fonts[0]

tcu.offset_x = -9

tcu.offset_y = -0.25

tcu.shear = 0.5

tcu.size = 3

tcu.space_character = 2

tcu.space_word = 4

# Унаследованные атрибуты Curve (Кривая)

tcu.extrude = 0.2

tcu.use_fill_back = True

tcu.use_fill_deform = True

tcu.use_fill_front = True

if __name__ == "__main__":

run((0,0,0))

Слои

Эта программа иллюстрирует три метода установки объекта на новом слое:

1. Создать его на правильном слое.

2. Создать его в слое 1, и изменить Object.layer.

3. Создать его в слое 1, и использовать оператор для его перемещения.

Также показано, как изменять видимость слоёв.

#----------------------------------------------------------

# File layers.py

#----------------------------------------------------------

import bpy

def createOnLayer(mat):

for n in range(3, 8):

Поделиться:
Популярные книги

Стеллар. Трибут

Прокофьев Роман Юрьевич
2. Стеллар
Фантастика:
боевая фантастика
рпг
8.75
рейтинг книги
Стеллар. Трибут

Маглор. Трилогия

Чиркова Вера Андреевна
Маглор
Фантастика:
фэнтези
9.14
рейтинг книги
Маглор. Трилогия

Дурная жена неверного дракона

Ганова Алиса
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Дурная жена неверного дракона

30 сребреников

Распопов Дмитрий Викторович
1. 30 сребреников
Фантастика:
попаданцы
альтернативная история
фэнтези
фантастика: прочее
5.00
рейтинг книги
30 сребреников

Жена проклятого некроманта

Рахманова Диана
Фантастика:
фэнтези
6.60
рейтинг книги
Жена проклятого некроманта

Всадник Системы

Poul ezh
2. Пехотинец Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Всадник Системы

Черный дембель. Часть 5

Федин Андрей Анатольевич
5. Черный дембель
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Черный дембель. Часть 5

Ратник

Ланцов Михаил Алексеевич
3. Помещик
Фантастика:
альтернативная история
7.11
рейтинг книги
Ратник

Измена. Право на любовь

Арская Арина
1. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Право на любовь

Тайны затерянных звезд. Том 2

Лекс Эл
2. Тайны затерянных звезд
Фантастика:
боевая фантастика
космическая фантастика
космоопера
фэнтези
5.00
рейтинг книги
Тайны затерянных звезд. Том 2

Как я строил магическую империю 6

Зубов Константин
6. Как я строил магическую империю
Фантастика:
попаданцы
аниме
фантастика: прочее
фэнтези
5.00
рейтинг книги
Как я строил магическую империю 6

Поющие в терновнике

Маккалоу Колин
Любовные романы:
современные любовные романы
9.56
рейтинг книги
Поющие в терновнике

Мятежник

Прокофьев Роман Юрьевич
4. Стеллар
Фантастика:
боевая фантастика
7.39
рейтинг книги
Мятежник

Наследие Маозари 7

Панежин Евгений
7. Наследие Маозари
Фантастика:
боевая фантастика
юмористическое фэнтези
постапокалипсис
рпг
фэнтези
эпическая фантастика
5.00
рейтинг книги
Наследие Маозари 7