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

Larsson Thomas

Шрифт:

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) четырёх групп. Наконец пустышки перемещаются, так что каждая колонка содержит элементы в этой группе.

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

# File groups.py

# Create groups

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

import bpyimport mathutils

from mathutils

import Vector

# Слои

Display = 5

Build = 6

def setObject(name, mat):

ob = bpy.context.object

ob.name = name

ob.data.materials.append(mat)

return ob

# Перемещение объекта в данный слой.

def moveToLayer(ob, layer):

ob.layers[layer] = True

for n in range(20):

if n != layer:

ob.layers[n] = False

return

# Добавление объекта TextCurve в слое 13

def addText(string, loc):

tcu = bpy.data.curves.new(string+'Data', 'FONT')

text = bpy.data.objects.new(string+'Text', tcu)

tcu.body = string

tcu.align = 'RIGHT'

text.location = loc

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

# Нужно изменить text.layers после того, как текст будет привязан к сцене,

# в противном случае изменение не сможет сработать. moveToLayer(text, Build)

return text

def run:

# Создание двух материалов

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

red.diffuse_color = (1,0,0)

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

green.diffuse_color = (0,1,0)

# Позиции

  • Читать дальше
  • 1
  • ...
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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