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

def makeBezierSpline(cu):

    spline = cu.splines.new('BEZIER')

    cu.dimensions = '3D'

    order = 3

    addBezierPoints(spline, order+1)

    spline.order_u = order 

def addBezierPoints(spline, nPoints):

    spline.bezier_points.add(nPoints-1)

    bzs = spline.bezier_points

    delta = 1/(nPoints-1)

    for n in range(nPoints):

        bzs[n].co = (0, n*delta, sin(n*pi*delta))

        print(bzs[n].co)

    for n in range(1, nPoints):

        bzs[n].handle_left = bzs[n-1].co

    for n in range(nPoints-1):

        bzs[n].handle_right = bzs[n+1].co

    return spline

# Создание кривой с объектом и привязка к сцене

def makeCurve(name, origin, dx):

    cu = bpy.data.curves.new('%sCurve' % name, 'CURVE')

    ob = bpy.data.objects.new('%sObject' % name, cu)

    (x,y,z) = origin ob.location = (x+dx,y,z)

    ob.show_name = True

    bpy.context.scene.objects.link(ob)

    return cu 

def run(origin):

    polyCurve = makeCurve("Poly", origin, 0)

    makePolySpline(polyCurve)

    nurbsCurve = makeCurve("NurbsEnd", origin, 1)

    spline = makeNurbsSpline(nurbsCurve)

    spline.use_endpoint_u = True

    nurbsCurve = makeCurve("NurbsNoend", origin, 2)

    spline = makeNurbsSpline(nurbsCurve)

    spline.use_endpoint_u = False

    bezierCurve = makeCurve("Bezier", origin, 3)

    makeBezierSpline(bezierCurve)

    return

if __name__ == "__main__":

    run((0,0,0))

Путь

Эта программа добавляет путь и обезьяну с ограничением "следовать по пути" (follow path).

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

# File path.py

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

import bpy 

def run(origin):

    # Создание данных пути и объекта

    path = bpy.data.curves.new('MyPath', 'CURVE')

    pathOb = bpy.data.objects.new('Path', path)

    pathOb.location = origin

    bpy.context.scene.objects.link(pathOb)

    # Настройка данных пути

    path.dimensions = '3D'

    path.use_path = True

    path.use_path_follow = True

    path.path_duration = 250

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

    spline = path.splines.new('POLY')

    spline.use_cyclic_u = True

    spline.use_endpoint_u = False

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

    pointTable = [(0,0,0,0), (1,0,3,0),

        (1,2,2,0), (0,4,0,0), (0,0,0,0)]

    nPoints = len(pointTable)

    spline.points.add(nPoints-1)

    for n in range(nPoints):

        spline.points[n].co = pointTable[n]

    # Добавление обезьяны

    bpy.ops.mesh.primitive_monkey_add()

    monkey = bpy.context.object

    # Добавление ограничения "следовать по пути" обезьяне

    cns = monkey.constraints.new('FOLLOW_PATH')

    cns.target = pathOb

    cns.use_curve_follow = True

    cns.use_curve_radius = True

    cns.use_fixed_location = False

    cns.forward_axis = 'FORWARD_Z'

    cns.up_axis = 'UP_Y'

    return

if __name__ == "__main__":

    run((0,0,0))

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

Камера и освещение
Перейти на страницу:

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

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных