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

на главную

Жанры

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

Larsson Thomas

Шрифт:

pmod.name = 'SmokeParticles'

psys = pmod.particle_system

psys.seed = 4711

# Настройки частиц

pset = psys.settings

pset.type = 'EMITTER'

pset.lifetime = 1

pset.emit_from = 'VOLUME'

pset.use_render_emitter = False

pset.render_type = 'NONE'

pset.normal_factor = 8.0

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

smod = flow.modifiers.new(name='Smoke',

type='SMOKE')

smod.smoke_type = 'FLOW'

sfset = smod.flow_settings

# Настройки потока

sfset.use_outflow = False

sfset.temperature = 0.7

sfset.density = 0.8

sfset.initial_velocity = True

sfset.particle_system = psys

return flow

def createVortexEffector(origin):

bpy.ops.object.effector_add(type='VORTEX', location=origin)

vortex = bpy.context.object

return vortex

def createVoxelTexture(domain):

tex = bpy.data.textures.new('VoxelTex', type = 'VOXEL_DATA')

voxdata = tex.voxel_data

voxdata.file_format = 'SMOKE'

voxdata.domain_object = domain

return tex

def createVolumeMaterial(tex):

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

mat.type = 'VOLUME'

vol = mat.volume

vol.density = 0.0

vol.density_scale = 8.0

vol.scattering = 6.0

vol.asymmetry = 0.3

vol.emission = 0.3

vol.emission_color = (1,1,1)

vol.transmission_color = (0.9,0.2,0)

vol.reflection = 0.7

vol.reflection_color = (0.8,0.9,0)

# Для удаления эффекта пикселизации

vol.step_size = 0.05

# Добавление текстуры Voxel data

mtex = mat.texture_slots.add

mtex.texture = tex

mtex.texture_coords = 'ORCO'

mtex.use_map_density = True

mtex.use_map_emission = True

mtex.use_map_scatter = False

mtex.use_map_reflect = True

mtex.use_map_color_emission = True

mtex.use_map_color_transmission = True

mtex.use_map_color_reflection = True

mtex.density_factor = 1.0

mtex.emission_factor = 0.2

mtex.scattering_factor = 0.2

mtex.reflection_factor = 0.3

mtex.emission_color_factor = 0.9

mtex.transmission_color_factor = 0.5

mtex.reflection_color_factor = 0.6

return mat

def addFloor(origin):

#
Создание пола, который принимает прозрачные тени

bpy.ops.mesh.primitive_plane_add(

location = origin,

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

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

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

constraint_axis=(True, False, False),

constraint_orientation='LOCAL')

floor = bpy.context.object

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

mat.use_transparent_shadows = True

floor.data.materials.append(mat)

return

def setupWorld:

scn = bpy.context.scene

# Синее blend (смешанное) небо

scn.world.use_sky_blend = True

scn.world.horizon_color = (0.25, 0.3, 0.4)

scn.world.zenith_color = (0, 0, 0.7)

# PAL 4:3 render

scn.render.resolution_x = 720

scn.render.resolution_y = 567

return

def run(origin):

domain = createDomain(origin)

flow = createFlow(origin-Vector((0,0,3.5)))

vortex = createVortexEffector(origin)

tex = createVoxelTexture(domain)

mat = createVolumeMaterial(tex)

domain.data.materials.append(mat)

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

Ученичество. Книга 1

Понарошку Евгений
1. Государственный маг
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Ученичество. Книга 1

Матабар III

Клеванский Кирилл Сергеевич
3. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар III

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

Винокуров Юрий
23. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXIII

Вопреки судьбе, или В другой мир за счастьем

Цвик Катерина Александровна
Любовные романы:
любовно-фантастические романы
6.46
рейтинг книги
Вопреки судьбе, или В другой мир за счастьем

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

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

Довлатов. Сонный лекарь

Голд Джон
1. Не вывожу
Фантастика:
альтернативная история
аниме
5.00
рейтинг книги
Довлатов. Сонный лекарь

Мама из другого мира. Дела семейные и не только

Рыжая Ехидна
4. Королевский приют имени графа Тадеуса Оберона
Любовные романы:
любовно-фантастические романы
9.34
рейтинг книги
Мама из другого мира. Дела семейные и не только

Великий род

Сай Ярослав
3. Медорфенов
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Великий род

Проданная Истинная. Месть по-драконьи

Белова Екатерина
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Проданная Истинная. Месть по-драконьи

Треск штанов

Ланцов Михаил Алексеевич
6. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Треск штанов

Лучший из худших

Дашко Дмитрий
1. Лучший из худших
Фантастика:
фэнтези
попаданцы
5.25
рейтинг книги
Лучший из худших

На границе империй. Том 8. Часть 2

INDIGO
13. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 8. Часть 2

Гром над Академией Часть 3

Машуков Тимур
4. Гром над миром
Фантастика:
фэнтези
5.25
рейтинг книги
Гром над Академией Часть 3

Сила рода. Том 3

Вяч Павел
2. Претендент
Фантастика:
фэнтези
боевая фантастика
6.17
рейтинг книги
Сила рода. Том 3