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

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

Жанры

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

Larsson Thomas

Шрифт:

me2.materials.append(blue)

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

mod = ob2.modifiers.new(name='SoftBody', type='SOFT_BODY')

sbset = mod.settings

# Мягкое тело

sbset.friction = 0.6

sbset.speed = 0.4

sbset.mass = 8.1

#
Цель

sbset.goal_default = 0.7

sbset.goal_spring = 0.3

sbset.goal_friction = 0.0

sbset.vertex_group_goal = 'Top'

# Края мягкого тела

sbset.pull = 0.6

sbset.push = 0.1

sbset.bend = 0.1

sbset.aerodynamics_type = 'LIFT_FORCE
'

sbset.aero = 0.5

# Добавление вихря

bpy.ops.object.effector_add(

type='VORTEX',

location=origin+Vector((0,0,-4)))

vortex = bpy.context.object

fset = vortex.field

fset.strength = 4.5

fset.shape = 'PLANE'

fset.apply_to_location = False

fset.apply_to_rotation = True

fset.falloff_type = 'TUBE'

# Добавление плоскости столкновения

# Предупреждение. Столкновение объектов делает симуляцию очень медленной!

bpy.ops.mesh.primitive_plane_add(

location=origin-Vector((0,0,1.7)))

bpy.ops.transform.resize(value=(4, 4, 4))

plane = bpy.context.object

plane.data.materials.append(red)

mod
 = plane.modifiers.new(name='Collision', type='COLLISION')

return

if __name__ == "__main__":

bpy.context.scene.frame_end = 600

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

bpy.ops.object.delete

run(Vector((0,0,6)))

bpy.ops.screen.animation_play

#bpy.ops.render.opengl(animation=True)

Ткань, мягкие тела и текстуры displace

Эта программа показывает три различных метода размахивания флагом: модификатором ткани, модификатором мягких

тел, и с помощью анимированных текстур смещения.

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

# File flags.py

# Создает флаг из мягкого тела и флаг из ткани на ветру.

# Update to API rev. 36816

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

import bpy, mathutils, math

from mathutils import Vector

from math import pi

# Размер флага, глобальные переменные

xmax = 40

zmax = 24

ds = 2.0/xmax

def makeFlag(name, origin, invert):

# Добавление нового меша, который будет флагом

me = bpy.data.meshes.new(name)

flag = bpy.data.objects.new(name, me)

scn = bpy.context.scene

scn.objects.link(flag)

scn.objects.active = flag

# Построение меша флага

verts = []

faces = []

for x in range(xmax):

for z in range(zmax):

verts.append(((x+0.5)*ds, 0, z*ds))

if x > 0 and z > 0:

faces.append(((x-1)*zmax+(z-1), (x-1)*zmax+z, x*zmax+z, x*zmax+(z-1)))

me.from_pydata(verts, [], faces)

me.update(calc_edges=True)

flag.location = origin

# Добавление групп вершин

grp = flag.vertex_groups.new('Pole')

for v in me.vertices:

w = 1.5 - 7*v.co[0]

if invert:

if w > 1:

grp.add([v.index], 0.0, 'REPLACE')

else:

grp.add([v.index], 1-w, 'REPLACE')

else:

if w > 1:

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

elif w > 0:

grp.add([v.index], w, 'REPLACE')

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

Драконий подарок

Суббота Светлана
1. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
7.30
рейтинг книги
Драконий подарок

На границе империй. Том 10. Часть 3

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 3

Сердце для стража

Каменистый Артем
5. Девятый
Фантастика:
фэнтези
боевая фантастика
9.20
рейтинг книги
Сердце для стража

Жандарм 3

Семин Никита
3. Жандарм
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Жандарм 3

Жена на пробу, или Хозяйка проклятого замка

Васина Илана
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Жена на пробу, или Хозяйка проклятого замка

Эволюционер из трущоб. Том 5

Панарин Антон
5. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 5

Отмороженный 11.0

Гарцевич Евгений Александрович
11. Отмороженный
Фантастика:
боевая фантастика
рпг
попаданцы
фантастика: прочее
фэнтези
5.00
рейтинг книги
Отмороженный 11.0

Неучтенный. Дилогия

Муравьёв Константин Николаевич
Неучтенный
Фантастика:
боевая фантастика
попаданцы
7.98
рейтинг книги
Неучтенный. Дилогия

Бастард Императора. Том 7

Орлов Андрей Юрьевич
7. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 7

Бастард Императора. Том 4

Орлов Андрей Юрьевич
4. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 4

Кодекс Крови. Книга VII

Борзых М.
7. РОС: Кодекс Крови
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга VII

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

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

Камень. Книга 3

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

Матабар

Клеванский Кирилл Сергеевич
1. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар