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

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

Жанры

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

Larsson Thomas

Шрифт:

mtex.use_map_alpha = True

#mtex.object = empty

return mat

def createSmokeMaterial(textures, objects):

(smoke, stencil) = textures

(emitter, empty) = objects

mat = bpy.data.materials.new('Smoke')

mat.specular_intensity = 0.0

mat.use_transparency = True

mat.transparency_method = 'Z_TRANSPARENCY'

mat.alpha = 0.0

mat.use_raytrace = False

mat.use_face_texture = True

mat.use_shadows = True

mat.use_cast_buffer_shadows = True

mtex = mat.texture_slots.add

mtex.texture = stencil

mtex.texture_coords = 'UV'

mtex.use_map_color_diffuse = False

mtex.use_map_alpha = True

mtex.use_stencil = True

mtex = mat.texture_slots.add

mtex.texture = smoke

mtex.texture_coords = 'OBJECT'

mtex.object = empty return mat

def run(origin):

emitter = createEmitter(origin)

#wind = createWind

bpy.ops.object.add(type='EMPTY')

empty = bpy.context.object

fire = createFire(emitter)

flameTex = createFlameTexture

stencilTex = createStencilTexture

emitTex = createEmitTexture

flameMat = createFireMaterial(

(flameTex, stencilTex, emitTex),

(emitter, empty))

emitter.data.materials.append(flameMat)

smoke = createSmoke(emitter
)

smokeTex = createSmokeTexture

smokeMat = createSmokeMaterial(

(smokeTex, stencilTex), (emitter, empty))

emitter.data.materials.append(smokeMat)

return

if __name__ == "__main__":

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

bpy.ops.object.delete

run((0,0,0))

bpy.ops.screen.animation_play(reverse=False, sync=False)

Дым

Эта

программа создает
симуляцию дыма и присваивает воксельный материал.

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

# File smoke.py

# Создание дыма и материала дыма.

# Вдохновлен этим учебником Эндрю Прайса:

#

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

import bpy, mathutils, 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'

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

dmod = domain.modifiers.new(name='Smoke', type='SMOKE')

dmod.smoke_type = 'DOMAIN'

dset = dmod.domain_settings

# Настройки домена

dset.resolution_max = 32

dset.alpha = -0.001

dset.beta = 2.0

dset.time_scale = 1.2

dset.vorticity = 2.0

dset.use_dissolve_smoke = True

dset.dissolve_speed = 80

dset.use_dissolve_smoke_log = True

dset.use_high_resolution = True

dset.show_high_resolution = True

# Веса эффекторов

ew = dset.effector_weights

ew.gravity = 0.4

ew.force = 0.8

return domain

def createFlow(origin):

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

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

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

flow = bpy.context.object flow.name = 'Flow'

# Добавление системы частиц дыма

pmod = flow.modifiers.new(name='SmokeParticles', type='PARTICLE_SYSTEM')

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

Камень Книга седьмая

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

Я сделаю это сама

Кальк Салма
1. Магический XVIII век
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Я сделаю это сама

Кровь на эполетах

Дроздов Анатолий Федорович
3. Штуцер и тесак
Фантастика:
альтернативная история
7.60
рейтинг книги
Кровь на эполетах

Сыночек в награду. Подари мне любовь

Лесневская Вероника
1. Суровые отцы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Сыночек в награду. Подари мне любовь

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

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

Найди меня Шерхан

Тоцка Тала
3. Ямпольские-Демидовы
Любовные романы:
современные любовные романы
короткие любовные романы
7.70
рейтинг книги
Найди меня Шерхан

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

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

Релокант. По следам Ушедшего

Ascold Flow
3. Релокант в другой мир
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Релокант. По следам Ушедшего

Мир-о-творец

Ланцов Михаил Алексеевич
8. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Мир-о-творец

Протокол "Наследник"

Лисина Александра
1. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Протокол Наследник

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

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

Попаданка в семье драконов

Свадьбина Любовь
Попаданка в академии драконов
Любовные романы:
любовно-фантастические романы
7.37
рейтинг книги
Попаданка в семье драконов

Новые горизонты

Лисина Александра
5. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Новые горизонты

Скрываясь в тени

Мазуров Дмитрий
2. Теневой путь
Фантастика:
боевая фантастика
7.84
рейтинг книги
Скрываясь в тени