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

Пакетный запуск

Пакетный запуск

Программа запускает все скрипты в каталогах object и simulation. Основной целью является проверить, что все скрипты выполняются правильно, или, по крайней мере, что они могут быть выполнены, не вызывая ошибок.

Большинство скриптов не смогут работать в более ранних версиях Блендера. Чтобы убедиться, что мы не застряли в устаревшем Блендере, мы сначала проверяем текущую версию Блендера, которая доступна как bpy.app.version.

#----------------------------------------------------------
# File batch.py
#----------------------------------------------------------
import bpy, sys, os, mathutils
from mathutils import Vector 
# Проверка версии Блендера
version = [2, 57, 0]
(a,b,c) = bpy.app.version
if b < version[1] or (b == version[1] and c < version[2]):
msg = 'Blender too old: %s < %s' % ((a,b,c), tuple(version))
    raise NameError(msg)  
# Удаление всех старых объектов, так что мы начинаем с чистого листа.
scn = bpy.context.scene
for ob in scn.objects:
    scn.objects.active = ob
    print("Delete", ob, bpy.context.object)
    bpy.ops.object.mode_set(mode='OBJECT')
    scn.objects.unlink(ob)
    del ob 
# Путь к коду. Вы должны изменить его, если вы разместили
# папку примеров не в вашем домашнем каталоге
scripts = os.path.expanduser('~/snippets/scripts/')
for folder in ['object', 'simulation', 'interface']:
        sys.path.append(scripts+folder)
print(sys.path)   origin = Vector((0,0,0))  
# Меши и арматуры
origin[2] = 0
import meshes
meshes.run(origin)
origin[0] += 5
import armature
armature.run(origin)
origin[0] += 5
import rigged_mesh
rigged_mesh.run(origin)
origin[0] += 5
import shapekey
shapekey.run(origin)
origin[0] += 5  
# Три способа конструирования объектов
import objects
objects.run(origin)
origin[0] += 5  
# Материалы и текстуры
origin[2] = 5
origin[0] = 0
import material
material.run(origin)
origin[0] += 5
import texture
texture.run(origin)
origin[0] += 5
import multi_material
multi_material.run(origin)
origin[0] += 5
import uvs uvs.run(origin)
origin[0] += 5
import chain
chain.run(origin)  
# Действия и управляющие элементы
origin[2] = 25
origin[0] = 0
import ob_action
ob_action.run(origin)
origin[0] += 5
import pose_action
pose_action.run(origin)
origin[0] += 5
import epicycle
epicycle.run(origin)
origin[0] += 5
import driver
driver.run(origin)  
# Симуляции
origin[2] = 15
origin[0] = 0
import hair
hair.run(origin)
origin[0] += 5
import edit_hair
edit_hair.run(origin)
origin[0] += 5
import particle
particle.run(origin)
origin[0] += 5
import cloth
cloth.run(origin)
origin[0] += 5
import softbody
softbody.run(origin)  
origin[2] = 10
origin[0] = 0
import fire
fire.run(origin)
origin[0] += 5
import flags
flags.run(origin)
origin[0] += 5
import smoke
smoke.run(origin)
origin[0] += 5
import crystal
crystal.run(origin)
origin[0] += 5  
origin[2] = -4.02
origin[0] = -10
import pile
pile.run(origin)
# Восстановление движка рендера
bpy.context.scene.render.engine = 'BLENDER_RENDER'  
# Другие типы данных
origin[2] = 20
origin[0] = 0
import text
text.run(origin)
origin[0] += 5
import lattice
lattice.run(origin)
origin[0] += 5
import curve
curve.run(origin)
origin[0] += 5
import path
path.run(origin)
import camera
camera.run(Vector((0,0,0)))  
# Слои и группы
import layers
layers.run()
import groups
groups.run()
# Восстановление слоёв после "Слоёв и групп"
scn.layers[0] = True
for n in range(1,20):
        scn.layers[n] = False  
# Вид
import world
world.run()
import view
view.run()

В кадре 71 ваш экран должен выглядеть как на картинке внизу. Отрендеренная версия представлена на главной странице.


----

Оглавление книги


Генерация: 1.122. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз