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

    mod = inflow.modifiers[-1]

    mod.settings.type = 'INFLOW'

    settings = mod.settings

    settings.inflow_velocity = (1.5,0,0)

    settings.volume_initialization = 'SHELL'

    return inflow 


def createOutflow(origin):

    # Отток

    bpy.ops.mesh.primitive_circle_add(

        radius=0.75,

        fill=True,

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

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

    outflow = bpy.context.object

    outflow.name = 'Outflow'

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

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

    mod = outflow.modifiers[-1]

    mod.settings.type = 'OUTFLOW'

    mod.settings.volume_initialization = 'SHELL'

    return outflow 


def createFluidParticle(name, origin, data):

    # Частицы жидкости

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

    monkey = bpy.context.object

    monkey.name = name

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

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

    mod = monkey.modifiers[-1]

    mod.settings.type = 'PARTICLE'

    (drops, floats, tracer) = data

    mod.settings.use_drops = drops

    mod.settings.use_floats = floats

    mod.settings.show_tracer = tracer  


    # Настройка типа частиц созданной системы частиц

    psys = monkey.modifiers[-1].particle_system

    psys.name = name+'Psys'

    #psys.settings.name = name+'Pset'

    return (mod.settings, None)  


def run(origin):

    domain = createDomain(origin)

    fluid = createFluid(origin)

    obst = createObstacle(origin)

    inflow = createInflow(origin)

    outflow = createOutflow(origin)


    (settings, pset) = createFluidParticle('Drops',

        origin+Vector((-2,7,0)), (True, False, False))

    settings.particle_influence = 0.7

    settings.alpha_influence = 0.3


    (settings, pset) = createFluidParticle('Floats',

        origin+Vector((0,7,0)), (False, True, False))


    (settings, pset) = createFluidParticle('Tracer',

        origin+Vector((2,7,0)), (False, False, True))

    settings.particle_influence = 1.5

    settings.alpha_influence = 1.2

    return 


if __name__ == "__main__":

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

    bpy.ops.object.delete run(Vector((0,0,0)))

    #bpy.ops.fluid.bake




Ноды

Эта программа создаёт нодовую сеть.



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

# File nodes.py

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

import bpy, math 


# Включение нодов

bpy.context.scene.use_nodes = True

tree = bpy.context.scene.node_tree

links = tree.links 


# Удаление нодов по-умолчанию

for n in tree.nodes:

    tree.nodes.remove(n)  


# Создание входного нода Render layer

rl = tree.nodes.new('R_LAYERS')

rl.location = 0,200  


# Создание нода SEP_RGBA

sep = tree.nodes.new('SEPRGBA')

sep.name = "Split"

sep.location = 200,200

links.new(rl.outputs[0],sep.inputs[0]) # image-image  


# Создание нода VIEWER

viewer = tree.nodes.new('VIEWER')

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

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

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Майерс , Скотт Мейерс

Программирование, программы, базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT