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

    # Унаследованные атрибуты Curve (Кривая)

    tcu.extrude = 0.2

    tcu.use_fill_back = True

    tcu.use_fill_deform = True

    tcu.use_fill_front = True  


if __name__ == "__main__":

    run((0,0,0))


Слои

Эта программа иллюстрирует три метода установки объекта на новом слое:

1. Создать его на правильном слое.

2. Создать его в слое 1, и изменить Object.layer.

3. Создать его в слое 1, и использовать оператор для его перемещения.

Также показано, как изменять видимость слоёв.



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

# File layers.py

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

import bpy 


def createOnLayer(mat):

    for n in range(3, 8):

    # Создание n-угольника в слое n+11

        layers = 20*[False]

        layers[n+11] = True


        bpy.ops.mesh.primitive_circle_add(

            vertices=n,

            radius=0.5,

            fill=True,

            view_align=True,

            layers=layers,

            location=(n-3,0,0)

        )

        bpy.context.object.data.materials.append(mat)

    return 


def changeLayerData(mat):

    for n in range(3, 8):

        # Создание n-угольника в слое 1

        bpy.ops.mesh.primitive_circle_add(

            vertices=n,

            radius=0.5,

            fill=True,

            view_align=True,

            location=(n-3,1,0)

        )

        bpy.context.object.data.materials.append(mat)


        # Затем перемещение его на новый слой

        ob = bpy.context.object

        ob.layers[n+11] = True


        # Удаление его из других слоев.

        layers = 20*[False]

        layers[n+11] = True

        for m in range(20):

            ob.layers[m] = layers[m]

    return 


def moveLayerOperator(mat):

    for n in range(3, 8):

        # Создание n-угольника в слое 1

        bpy.ops.mesh.primitive_circle_add(

            vertices=n,

            radius=0.5,

            fill=True,

            view_align=True,

            location=(n-3,2,0)

        )

        bpy.context.object.data.materials.append(mat)


        # Затем перемещение его на новый слой

        layers = 20*[False]

        layers[n+11] = True

        bpy.ops.object.move_to_layer(layers=layers)

    return  


def run:

    # Создание нескольких материалов

    red = bpy.data.materials.new('Red')

    red.diffuse_color = (1,0,0)

    green = bpy.data.materials.new('Green')

    green.diffuse_color = (0,1,0)

    blue = bpy.data.materials.new('Blue')

    blue.diffuse_color = (0,0,1)


    # Три метода перемещения объектов в новый слой

    createOnLayer(red)

    changeLayerData(green)

    moveLayerOperator(blue)


    # Выбор слоёв 14 - 20

    scn = bpy.context.scene

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

    for n in range(13,19):

        scn.layers[n] = True


    # Отмена выбора слоёв 1 - 13, но только впоследствии.

    # Похоже, по крайней мере один слой должен быть выбран всегда.

    for n in range(0,13):

        scn.layers[n] = False


    # Отмена выбора слоя 16

    scn.layers[15] = False

    return


if __name__ == "__main__":

    run


Группы

Эта программа показывает, как создавать группы, добавлять объекты в группы, и пустышки, которые дублируют группы. Мы добавляем четыре группы, четыре меш-объекта назначаются каждый в две группы, и четыре текстовых объекта назначаются каждый в единственную группу. Затем мы добавляем четыре пустышки, которые будут дубликатами (dupli-group) четырёх групп. Наконец пустышки перемещаются, так что каждая колонка содержит элементы в этой группе.



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

Перейти на страницу:

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

Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Майерс , Скотт Мейерс

Программирование, программы, базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

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