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

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

Жанры

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

Larsson Thomas

Шрифт:

scn.frame_end = 200 return

if __name__ == "__main__":

bpy.ops.object.select_by_type(type='MESH')

bpy.ops.object.delete

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

bpy.ops.view3d.game_start

Жидкости

Эта программа настраивает симуляцию жидкости с доменом, жидкостью, движущимся препятствием, притоком, оттоком, и тремя видами

капель. Обратите внимание, что мы должны запечь симуляцию сначала, я не думаю, что это было необходимо.

Изображение кадра 57, после добавления нескольких материалов. Капли в основном отрендерены полностью, если они имеют низкую прозрачность, около alpha = 0,2.

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

# File fluid.py

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

import bpy, math

from mathutils import Vector

from math import pi

def createDomain(origin):

# Домен

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

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

domain = bpy.context.object

domain.name = 'Domain'

bpy.ops.object.shade_smooth

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

mod = domain.modifiers.new(name='FluidDomain', type='FLUID_SIMULATION')

# mod.settings is FluidSettings

mod.settings.type = 'DOMAIN'

# mod.settings now changed to DomainFluidSettings

settings = mod.settings

settings.use_speed_vectors = False

settings.simulation_scale = 3.0

settings.slip_type = 'FREESLIP'

settings.tracer_particles = 10

settings.generate_particles = 1.5

#settings.start_time = 0.0

#settings.end_time = 2.0

return domain

def createFluid(origin):

# Жидкость

bpy.ops.mesh.primitive_ico_sphere_add(

size=3.5,

subdivisions=1,

location=origin)

fluid = bpy.context.object

fluid.name = 'Fluid'

fluid.hide = True

fluid.hide_render = True

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

mod = fluid.modifiers.new(name='Fluid', type='FLUID_SIMULATION')

mod.settings.type = 'FLUID'

return fluid

def createObstacle(origin):

# Препятствие

bpy.ops.mesh.primitive_cylinder_add(

vertices=12,

radius=0.3,

depth=2,

cap_ends=True,

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

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

bpy.ops.object.modifier_add(type='FLUID_SIMULATION')

obst = bpy.context.object

obst.name = 'Obstacle'

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

bpy.ops.object.modifier_add(type='FLUID_SIMULATION')

mod = obst.modifiers[-1]

mod.settings.type = 'OBSTACLE'

# Анимация препятствия

scn = bpy.context.scene

scn.frame_current = 1

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

scn.frame_current = 26

bpy.ops.transform.rotate(value=(pi/2,), axis=(-0, -0, -1))

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

scn.frame_current = 1

for fcu in obst.animation_data.action.fcurves:

fcu.extrapolation = 'LINEAR'

for kp in fcu.keyframe_points:

kp.interpolation = 'LINEAR'

return obst

def createInflow(origin):

# Приток

bpy.ops.mesh.primitive_circle_add(

radius=0.75,

fill=True,

location=origin+Vector((-3.9,0,3)),

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

inflow = bpy.context.object

inflow.name = 'Inflow'

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

bpy.ops.object.modifier_add(type='FLUID_SIMULATION')

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

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

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

Предатель. Вернуть любимую

Дали Мила
4. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Предатель. Вернуть любимую

Бывший муж

Рузанова Ольга
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Бывший муж

Мама для дракончика или Жена к вылуплению

Максонова Мария
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Мама для дракончика или Жена к вылуплению

Жандарм 5

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

Менталист. Эмансипация

Еслер Андрей
1. Выиграть у времени
Фантастика:
альтернативная история
7.52
рейтинг книги
Менталист. Эмансипация

Кодекс Охотника. Книга XXIV

Винокуров Юрий
24. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXIV

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

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

Смерть может танцевать 4

Вальтер Макс
4. Безликий
Фантастика:
боевая фантастика
5.85
рейтинг книги
Смерть может танцевать 4

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

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

Черный Маг Императора 8

Герда Александр
8. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 8

Не отпускаю

Шагаева Наталья
Любовные романы:
современные любовные романы
эро литература
8.44
рейтинг книги
Не отпускаю

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

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

Темный Патриарх Светлого Рода 3

Лисицин Евгений
3. Темный Патриарх Светлого Рода
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 3