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

на главную

Жанры

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

Larsson Thomas

Шрифт:

[(1,0), (0.732051,0), (0,0)]

]

uvFront = createTextureLayer("UVFront", me, texFaces)

# Третий текстурный слой: Умная проекция

bpy.ops.mesh.uv_texture_add

uvCyl = me.uv_textures.active

uvCyl.name = 'UVCyl'

bpy.ops.object.mode_set(mode='EDIT')

bpy.ops.uv.cylinder_project

bpy.ops.object.mode_set(mode='OBJECT')

#
Хотим сделать Главный слой активным, но, кажется, это не работает - TBF

me.uv_textures.active = uvMain

me.uv_texture_clone = uvMain

uvMain.active_render = True

uvFront.active_render = False

uvCyl.active_render = False

return ob

def createTextureLayer(name, me, texFaces):

uvtex = me.uv_textures.new

uvtex.name = name

for n,tf in enumerate(texFaces):

datum = uvtex.data[n]

datum.uv1 = tf[0]

datum.uv2 = tf[1]

datum.uv3 = tf[2]

return uvtex

def createMaterial:

# Создание текстуры image из картинки. Измените здесь, если

# каталог snippet расположен не в Вашем домашнем каталоге.

realpath = os.path.expanduser('~/snippets/textures/color.png')

tex = bpy.data.textures.new('ColorTex', type = 'IMAGE')

tex.image = bpy.data.images.load(realpath)

tex.use_alpha = True 

# Создание незатеняемого материала и MTex

mat = bpy.data.materials.new('TexMat')

mat.use_shadeless = True

mtex = mat.texture_slots.add

mtex.texture = tex

mtex.texture_coords = 'UV'

mtex.use_map_color_diffuse = True

return mat

def run(origin):

ob = createMesh(origin)

mat = createMaterial

ob.data.materials.append(mat)

return

if __name__ == "__main__":

run((0,0,0))

Действия (Actions)

и управляющие элементы (drivers)

Действие объекта

Прыгающий мяч.

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

# File ob_action.py

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

import bpy import math

def run(origin):

# Установка начала и конца анимации

scn = bpy.context.scene

scn.frame_start = 11

scn.frame_end = 200

# Создание ico-сферы

bpy.ops.mesh.primitive_ico_sphere_add(location=origin)

ob = bpy.context.object

# Вставка ключевых кадров с operator code (кодом оператора ???)

# Объект должен быть выбранным автоматически

z = 10

t = 1

for n in range(5):

t += 10

bpy.ops.anim.change_frame(frame = t)

bpy.ops.transform.translate(value=(2, 0, z))

bpy.ops.anim.keyframe_insert_menu(type='Location')

t += 10

bpy.ops.anim.change_frame(frame = t)

bpy.ops.transform.translate(value=(2, 0, -z))

bpy.ops.anim.keyframe_insert_menu(type='Location')

z *= 0.67

action = ob.animation_data.action

# Создание словаря с графиком FCurves типа location (позиция)

fcus = {}

for fcu in action.fcurves:

if fcu.data_path == 'location':

fcus[fcu.array_index] = fcu

print(fcus.items)

# Добавление новых ключевых точек к x и z

kpts_x = fcus[0].keyframe_points

kpts_z = fcus[2].keyframe_points

(x0,y0,z0) = origin

omega = 2*math.pi/20

z *= 0.67

for t in range(101, 201):

xt = 20 + 0.2*(t-101)

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

Магия чистых душ 2

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.56
рейтинг книги
Магия чистых душ 2

Камень

Минин Станислав
1. Камень
Фантастика:
боевая фантастика
6.80
рейтинг книги
Камень

Прогрессор поневоле

Распопов Дмитрий Викторович
2. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прогрессор поневоле

Адепт: Обучение. Каникулы [СИ]

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.15
рейтинг книги
Адепт: Обучение. Каникулы [СИ]

Газлайтер. Том 4

Володин Григорий
4. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 4

Провинциал. Книга 7

Лопарев Игорь Викторович
7. Провинциал
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Провинциал. Книга 7

Назад в СССР 5

Дамиров Рафаэль
5. Курсант
Фантастика:
попаданцы
альтернативная история
6.64
рейтинг книги
Назад в СССР 5

Темный Лекарь 3

Токсик Саша
3. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 3

Наследник

Кулаков Алексей Иванович
1. Рюрикова кровь
Фантастика:
научная фантастика
попаданцы
альтернативная история
8.69
рейтинг книги
Наследник

Долг

Кораблев Родион
7. Другая сторона
Фантастика:
боевая фантастика
5.56
рейтинг книги
Долг

Жребий некроманта 2

Решетов Евгений Валерьевич
2. Жребий некроманта
Фантастика:
боевая фантастика
6.87
рейтинг книги
Жребий некроманта 2

Путь (2 книга - 6 книга)

Игнатов Михаил Павлович
Путь
Фантастика:
фэнтези
6.40
рейтинг книги
Путь (2 книга - 6 книга)

Гром над Империей. Часть 1

Машуков Тимур
5. Гром над миром
Фантастика:
фэнтези
5.20
рейтинг книги
Гром над Империей. Часть 1

Великий род

Сай Ярослав
3. Медорфенов
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Великий род