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

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

Жанры

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

Larsson Thomas

Шрифт:

me = ob.data

# Создание групп вершин

upper = ob.vertex_groups.new('Upper')

lower = ob.vertex_groups.new('Lower')

for v in me.vertices:

if v.co[2] > 0.001:

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

elif v.co[2] < -0.001:

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

else: upper.add([v.index], 0.5, 'REPLACE')

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

return ob

def createLattice(origin):

#
Создание решётки и объекта

lat = bpy.data.lattices.new('MyLattice')

ob = bpy.data.objects.new('LatticeObject', lat)

ob.location = origin ob.show_x_ray = True

# Привязка объекта к сцене

scn = bpy.context.scene

scn.objects.link(ob)

scn.objects.active = ob

scn.update

# Установка атрибутов решётки

lat.interpolation_type_u = 'KEY_LINEAR'

lat.interpolation_type_v = 'KEY_CARDINAL'

lat.interpolation_type_w = 'KEY_BSPLINE'

lat.use_outside = False

lat.points_u = 2

lat.points_v = 2 lat.points_w = 2

# Расстановка точек решётки

s = 1.0

points = [

(-s,-s,-s), (s,-s,-s), (-s,s,-s), (s,s,-s),

(-s,-s,s), (s,-s,s), (-s,s,s), (s,s,s)

]

for n,pt in enumerate(lat.points):

for k in range(3):

pt.co_deform[k] = points[n][k]

pass

return ob

def run(origin):

sphere = createIcoSphere(origin)

lat = createLattice(origin)

# Создание модификатора решётки

mod = sphere.modifiers.new('Lat', 'LATTICE')

mod.object = lat

mod.vertex_group = 'Upper'

# Решётка в режиме редактирования для лёгкого деформирования

bpy.context.scene.update

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

return

if __name__ == "__main__":

run((0,0,0))

Кривая

Эта

программа добавляет кривую Безье. Она также добавляет круг Nurbs, который используется как bevel-объект.

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

# File curve.py

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

import bpy

def createBevelObject:

# Создание Bevel-кривой и объекта

cu = bpy.data.curves.new('BevelCurve', 'CURVE')

ob = bpy.data.objects.new('BevelObject', cu)

bpy.context.scene.objects.link(ob)

# Настройка некоторых атрибутов cu.dimensions = '2D'

cu.resolution_u = 6

cu.twist_mode = 'MINIMUM'

ob.show_name = True

# Координаты управляющих точек

coords = [

(0.00,0.08,0.00,1.00),

(-0.20,0.08,0.00,0.35),

(-0.20,0.19,0.00,1.00),

(-0.20,0.39,0.00,0.35),

(0.00,0.26,0.00,1.00),

(0.20,0.39,0.00,0.35),

(0.20,0.19,0.00,1.00),

(0.20,0.08,0.00,0.35)

]

# Создание сплайна и установка управляющих точек

spline = cu.splines.new('NURBS')

nPointsU = len(coords)

spline.points.add(nPointsU)

for n in range(nPointsU):

spline.points[n].co = coords[n]

# Настройка атрибутов сплайна. Точки, вероятно, должны существовать к этому моменту.

spline.use_cyclic_u = True

spline.resolution_u = 6

spline.order_u = 3

return ob

def createCurveObject(bevob):

# Создание кривой и объекта

cu = bpy.data.curves.new('MyCurve', 'CURVE')

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

Архил...? 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