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

Программа запускает все скрипты в каталогах 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 ваш экран должен выглядеть как на картинке внизу. Отрендеренная версия представлена на главной странице.



Загрузка...