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

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

Жанры

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

Larsson Thomas

Шрифт:

if v.co[0] > 0.001:

left.add([v.index], 1.0, 'REPLACE')

elif v.co[0] < -0.001:

right.add([v.index], 1.0, 'REPLACE')

else:

left.add([v.index], 0.5, 'REPLACE')

right.add([v.index], 0.5, 'REPLACE')

# Добавление ключа Basis (базовый)

bpy.ops.object.shape_key_add(None)

basis = ob.active_shape_key

#
Добавление ключа FrontForward:

# передние вершины сдвигаются на единицу вперёд

# Пределы изменения (Slider) от -1.0 до +2.0

bpy.ops.object.shape_key_add(None)

frontFwd = ob.active_shape_key

frontFwd.name = 'FrontForward'

frontFwd.slider_min = -1.0 frontFwd.slider_max = 2.0

for v in [19, 20, 23, 24]:

pt = frontFwd.data[v].co

pt[1] = pt[1] - 1

# Добавление ключей TopUp: верхние вершины перемещаются на единицу вверх.

# TopUp_L и TopUp_R влияют только на левые и правые половины, соответственно

keylist = [(None, ''), ('Left', '_L'), ('Right', '_R')]

for (vgrp, suffix) in keylist:

bpy.ops.object.shape_key_add(None)

topUp = ob.active_shape_key

topUp.name = 'TopUp' + suffix

if vgrp:

topUp.vertex_group = vgrp

for v in [0, 1, 9, 10, 17, 18, 25]:

pt = topUp.data[v].co

pt[2] = pt[2] + 1

# Установка позы ключам формы

for shape in ob.data.shape_keys.key_blocks:

shape.value = random.random

return

if __name__ == "__main__":

# Создание пяти объектов с произвольными ключами формы

for j in range(5):

run((3*j,0,0))

Применение модификатора массива (array)

Эта программа создает цепь из десяти звеньев. Звено является простым тором, масштабированным вдоль оси x. Мы добавляем звену модификатор массива, где смещение управляется пустышкой (empty). Наконец, модификатор массива применяется (apply), создавая из цепи единственный меш.

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

# File chain.py

# Creates an array modifier and applies it# Update to API rev. 36523

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

import bpy

import math

from math import pi

def run(origin):

#
Добавление единственного звена цепи к сцене

bpy.ops.mesh.primitive_torus_add(

#major_radius=1,

#minor_radius=0.25,

major_segments=12,

minor_segments=8,

use_abso=True,

abso_major_rad=1,

abso_minor_rad=0.6,

location=(0,0,0),

rotation=(0,0,0))

# Масштабирование тора вдоль оси x

ob = bpy.context.object

ob.scale = (0.7, 1, 1)

bpy.ops.object.transform_apply(scale=True)

# Создание пустышки

bpy.ops.object.add(

type='EMPTY',

location=(0,1.2,0.2),

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

empty = bpy.context.object

# Звено цепи снова делается активным

scn = bpy.context.scene

scn.objects.active = ob

# Добавление модификатора

mod = ob.modifiers.new('Chain', 'ARRAY')

mod.fit_type = 'FIXED_COUNT'

mod.count = 10

mod.use_relative_offset = 0

mod.use_object_offset = True

mod.offset_object = empty

# Применение модификатора

bpy.ops.object.visual_transform_apply

bpy.ops.object.modifier_apply(apply_as='DATA', modifier='Chain')

# Перемещение цепи на место

bpy.ops.transform.translate(value=origin)

# Пустышка больше не нужна

scn.objects.unlink(empty)

del(empty)

return

if __name__ == "__main__":

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

Наваждение генерала драконов

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

Средневековая история. Тетралогия

Гончарова Галина Дмитриевна
Средневековая история
Фантастика:
фэнтези
попаданцы
9.16
рейтинг книги
Средневековая история. Тетралогия

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

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

Тайный наследник для миллиардера

Тоцка Тала
Любовные романы:
современные любовные романы
5.20
рейтинг книги
Тайный наследник для миллиардера

Лорд Системы 4

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

Вперед в прошлое 5

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

Энфис 4

Кронос Александр
4. Эрра
Фантастика:
городское фэнтези
рпг
аниме
5.00
рейтинг книги
Энфис 4

Князь

Мазин Александр Владимирович
3. Варяг
Фантастика:
альтернативная история
9.15
рейтинг книги
Князь

В теле пацана

Павлов Игорь Васильевич
1. Великое плато Вита
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
В теле пацана

Авиатор: назад в СССР

Дорин Михаил
1. Авиатор
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Авиатор: назад в СССР

Сонный лекарь 7

Голд Джон
7. Сонный лекарь
Фантастика:
альтернативная история
аниме
5.00
рейтинг книги
Сонный лекарь 7

Я снова граф. Книга XI

Дрейк Сириус
11. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я снова граф. Книга XI

Огни Эйнара. Долгожданная

Макушева Магда
1. Эйнар
Любовные романы:
любовно-фантастические романы
эро литература
5.00
рейтинг книги
Огни Эйнара. Долгожданная

Я – Орк. Том 3

Лисицин Евгений
3. Я — Орк
Фантастика:
юмористическое фэнтези
попаданцы
5.00
рейтинг книги
Я – Орк. Том 3