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

    pole2.data.materials.append(white)

    pole3.data.materials.append(white)  

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

    addSoftBodyModifier(flag1)

    addClothModifier(flag2)

    addWindEffector(origin+Vector((-1,-2,0)))  

    # Создание смещения

    tex3 = createDisplacementTexture(mat3)

    empty = createAndAnimateEmpty(origin + Vector((3,0,0)))

    mod = addDisplacementModifier(flag3, tex3, 'POLE', empty)

    return 

if __name__ == "__main__":

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

    bpy.ops.object.delete

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

    bpy.ops.screen.animation_play

Частицы и модификатор Explode (взрыв)

Пуля с невидимой системой частиц стреляет в хрустальный шар. Шар разрушается, и части падают на пол.

Эффект достигается за счет придания шару модификатора взрыва, который запускается системой частиц. Идея заключалась в том, чтобы сделать это в системе частиц reactor, которая вызывается системой частиц пули. Тем не менее, частицы reactor, по-видимому, еще не включены в Blender 2.5, так что частицы шара устанавливаются на выброс в определенное время, а не по реакции.

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

# File crystal.py

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

import bpy, mathutils, math

from mathutils import *  

def addSphere(name, size, origin):

    bpy.ops.mesh.primitive_ico_sphere_add(

        subdivisions=2,

        size=size,

        location=origin)

    bpy.ops.object.shade_smooth

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

    ob = bpy.context.object

    ob.name = name

    return ob  

def addFloor(name, origin, hidden):

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

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

    floor = bpy.context.object

    floor.name = name

    if hidden:

    floor.hide = True

    floor.hide_render = True

    return floor 

    # Матариал пола

    voronoi = bpy.data.textures.new('Voronoi', type = 'VORONOI')

    voronoi.color_mode = 'POSITION'

    voronoi.noise_scale = 0.1

    plastic = bpy.data.materials.new('Plastic')

    plastic.diffuse_color = (1,1,0)

    plastic.diffuse_intensity = 0.1

    mtex = plastic.texture_slots.add

    mtex.texture = voronoi

    mtex.texture_coords = 'ORCO'

    mtex.color = (0,0,1)

    floor.data.materials.append(plastic)

    return floor 

def run(origin):

    # ----------- Материалы

    red = bpy.data.materials.new('Red')

    red.diffuse_color = (1,0,0)

    red.specular_hardness = 200

    rmir = red.raytrace_mirror

    rmir.use = True

    rmir.distance = 0.001

    rmir.fade_to = 'FADE_TO_MATERIAL'

    rmir.distance = 0.0

    rmir.reflect_factor = 0.7

    rmir.gloss_factor = 0.4

    grey = bpy.data.materials.new('Grey')

    grey.diffuse_color = (0.5,0.5,0.5)  

# ----------- Пуля — маленькая сфера

 bullet = addSphere('Bullet', 0.2, origin)

 bullet.data.materials.append(grey)  

    # Анимация пули

    scn = bpy.context.scene

    scn.frame_current = 51

    bullet.location = origin

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

    bullet.location = origin+Vector((0,30,0))

    scn.frame_current = 251

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

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

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

А. Алексашин , Дэвид Томас , Эндрю Хант

Программирование / Книги по IT