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

    # Установка игровых настроек для сцены

    scn = bpy.context.scene

    addSceneGameSettings(scn)

    scn.frame_start = 1

    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 

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных