Вход/Регистрация
Введение в написание скриптов на Питоне для Блендера 2.5x. Примеры кода
вернуться

Larsson Thomas

Шрифт:

fcu.extrapolation = 'LINEAR'

for kp in fcu.keyframe_points:

kp.interpolation = 'LINEAR'

return empty

def run(origin):

# Создание флагов и полей

flag1 = makeFlag('SoftBodyFlag', origin+Vector((-3,0,0)), False)

flag2 = makeFlag('ClothFlag', origin+Vector((0,0,0)), False)

flag3 = makeFlag('DisplacementFlag', origin+Vector((3,0,0)), True)

pole1 = makePole(origin+Vector((-3,0,0)))

pole2 = makePole(origin+Vector((0,0,0)))

pole3 = makePole(origin+Vector((3,0,0)))

# Материалы

mat1 = addFlagMaterial('SoftBodyFlag', flag1, (1,0,0), (0,0,1))

mat2 = addFlagMaterial('ClothFlag', flag2, (0,1,0), (1,1,0))

mat3 = addFlagMaterial('DisplacementFlag', flag3, (1,0,1), (0,1,0))

white = bpy.data.materials.new('White')

white.diffuse_color = (1,1,1)

pole1.data.materials.append(white)

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

  • Читать дальше
  • 1
  • ...
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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