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

Здесь есть возможность читать онлайн «Thomas Larsson - Введение в написание скриптов на Питоне для Блендера 2.5x. Примеры кода» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

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

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Введение в написание скриптов на Питоне для Блендера 2.5x. Примеры кода»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Третье издание, расширенное и обновлённое для Blender 2.57

Введение в написание скриптов на Питоне для Блендера 2.5x. Примеры кода — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Введение в написание скриптов на Питоне для Блендера 2.5x. Примеры кода», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

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

scn.frame_current = 1

action = bullet.animation_data.action

for fcu in action.fcurves:

fcu.extrapolation = 'LINEAR'

for kp in fcu.keyframe_points:

kp.interpolation = 'LINEAR'

# Система частиц Trail (след) для пули

bpy.ops.object.particle_system_add()

trail = bullet.particle_systems[0]

trail.name = 'Trail'

fset = trail.settings

# Эмиссия

fset.name = 'TrailSettings'

fset.count = 1000 fset.frame_start = 1

fset.frame_end = 250

fset.lifetime = 25

fset.emit_from = 'FACE'

fset.use_render_emitter = True

# Скорость

fset.normal_factor = 1.0

fset.factor_random = 0.5

# Физика

fset.physics_type = 'NEWTON'

fset.mass = 0

# Установка всех эффекторных весов в ноль

ew = fset.effector_weights

ew.gravity = 0.0

# Не рендерить

fset.draw_method = 'DOT'

fset.render_type = 'NONE'

# -------------- Шар

ball = addSphere('Ball', 1.0, origin)

ball.data.materials.append(red)

# Система частиц

bpy.ops.object.particle_system_add()

react = ball.particle_systems[0]

react.name = 'React'

fset = react.settings

# Эмиссия

fset.name = 'TrailSettings'

fset.count = 50

fset.frame_start = 47

fset.frame_end = 57

fset.lifetime = 250

fset.emit_from = 'FACE'

fset.use_render_emitter = True

# Скорость

fset.normal_factor = 5.0

fset.factor_random = 2.5

# Физика

fset.physics_type = 'NEWTON'

fset.mass = 1.0

# Не рендерить

fset.draw_method = 'CROSS'

fset.render_type = 'NONE'

# Модификатор Explode

mod = ball.modifiers.new(name='Explode', type='EXPLODE')

mod.use_edge_cut = True

mod.show_unborn = True

mod.show_alive = True

mod.show_dead = True

mod.use_size = False

# ---- Скрытый пол с модификатором collision (столкновения)

hidden = addFloor('Hidden', origin+Vector((0,0,-3.9)), True)

mod = hidden.modifiers.new(name='Collision', type='COLLISION')

mset = mod.settings

mset.permeability = 0.01

mset.stickness = 0.1

mset.use_particle_kill = False

mset.damping_factor = 0.6

mset.damping_random = 0.2

mset.friction_factor = 0.3

mset.friction_random = 0.1

addFloor('Floor', Vector((0,0,-4)), False)

return

if __name__ == "__main__":

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

bpy.ops.object.delete()

# Камера, освещение

bpy.ops.object.camera_add(

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Представляем Вашему вниманию похожие книги на «Введение в написание скриптов на Питоне для Блендера 2.5x. Примеры кода» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

Обсуждение, отзывы о книге «Введение в написание скриптов на Питоне для Блендера 2.5x. Примеры кода» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x