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

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

Жанры

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

Larsson Thomas

Шрифт:

# Создание n-угольника в слое n+11

layers = 20*[False]

layers[n+11] = True

bpy.ops.mesh.primitive_circle_add(

vertices=n,

radius=0.5,

fill=True,

view_align=True,

layers=layers,

location=(n-3,0,0)

)

bpy.context.object.data.materials.append(mat)

return

def changeLayerData(mat):

for n in range(3, 8):

#
Создание n-угольника в слое 1

bpy.ops.mesh.primitive_circle_add(

vertices=n,

radius=0.5,

fill=True,

view_align=True,

location=(n-3,1,0)

)

bpy.context.object.data.materials.append(mat)

# Затем перемещение его на новый слой

ob = bpy.context.object

ob.layers[n+11] = True

# Удаление его из других слоев.

layers = 20*[False]

layers[n+11] = True

for m in range(20):

ob.layers[m] = layers[m]

return

def moveLayerOperator(mat):

for n in range(3, 8):

# Создание n-угольника в слое 1

bpy.ops.mesh.primitive_circle_add(

vertices=n,

radius=0.5,

fill=True,

view_align=True,

location=(n-3,2,0)

)

bpy.context.object.data.materials.append(mat)

# Затем перемещение его на новый слой

layers = 20*[False]

layers[n+11] = True

bpy.ops.object.move_to_layer(layers=layers)

return

def run:

# Создание нескольких материалов

red = bpy.data.materials.new('Red')

red.diffuse_color = (1,0,0)

green = bpy.data.materials.new('Green')

green.diffuse_color = (0,1,0)

blue = bpy.data.materials.new('Blue')

blue.diffuse_color = (0,0,1)

#
Три метода перемещения объектов в новый слой

createOnLayer(red)

changeLayerData(green)

moveLayerOperator(blue)

# Выбор слоёв 14 - 20

scn = bpy.context.scene

bpy.ops.object.select_all(action='SELECT')

for n in range(13,19):

scn.layers[n] = True

# Отмена выбора слоёв 1 - 13, но только впоследствии.

# Похоже, по крайней мере один слой должен быть выбран всегда.

for n in range(0,13):

scn.layers[n] = False

# Отмена выбора слоя 16

scn.layers[15] = False

return

if __name__ == "__main__":

run

Группы

Эта программа показывает, как создавать группы, добавлять объекты в группы, и пустышки, которые дублируют группы. Мы добавляем четыре группы, четыре меш-объекта назначаются каждый в две группы, и четыре текстовых объекта назначаются каждый в единственную группу. Затем мы добавляем четыре пустышки, которые будут дубликатами (dupli-group) четырёх групп. Наконец пустышки перемещаются, так что каждая колонка содержит элементы в этой группе.

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

# File groups.py

# Create groups

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

import bpyimport mathutils

from mathutils

import Vector

# Слои

Display = 5

Build = 6

def setObject(name, mat):

ob = bpy.context.object

ob.name = name

ob.data.materials.append(mat)

return ob

# Перемещение объекта в данный слой.

def moveToLayer(ob, layer):

ob.layers[layer] = True

for n in range(20):

if n != layer:

ob.layers[n] = False

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

Архил...? 4

Кожевников Павел
4. Архил...?
Фантастика:
фэнтези
попаданцы
альтернативная история
5.50
рейтинг книги
Архил...? 4

Мятежник

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

Дурашка в столичной академии

Свободина Виктория
Фантастика:
фэнтези
7.80
рейтинг книги
Дурашка в столичной академии

Котенок. Книга 3

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

Аристократ из прошлого тысячелетия

Еслер Андрей
3. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Аристократ из прошлого тысячелетия

Печать мастера

Лисина Александра
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Печать мастера

Господин следователь. Книга 3

Шалашов Евгений Васильевич
3. Господин следователь
Детективы:
исторические детективы
5.00
рейтинг книги
Господин следователь. Книга 3

Вернуть невесту. Ловушка для попаданки 2

Ардова Алиса
2. Вернуть невесту
Любовные романы:
любовно-фантастические романы
7.88
рейтинг книги
Вернуть невесту. Ловушка для попаданки 2

Командир Красной Армии

Поселягин Владимир Геннадьевич
1. Командир Красной Армии
Фантастика:
попаданцы
8.72
рейтинг книги
Командир Красной Армии

Рота Его Величества

Дроздов Анатолий Федорович
Новые герои
Фантастика:
боевая фантастика
8.55
рейтинг книги
Рота Его Величества

Босс Мэн

Киланд Ви
Любовные романы:
современные любовные романы
8.97
рейтинг книги
Босс Мэн

Два лика Ирэн

Ром Полина
Любовные романы:
любовно-фантастические романы
6.08
рейтинг книги
Два лика Ирэн

Не грози Дубровскому! Том III

Панарин Антон
3. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том III

Идеальный мир для Лекаря 27

Сапфир Олег
27. Лекарь
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 27