Чтение онлайн

на главную

Жанры

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

Larsson Thomas

Шрифт:

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)

Камера
и освещение

Эта программа добавляет источник света "солнце" к сцене, и прожекторы (spot) для каждого объекта рендера на сцене. Каждый прожектор имеет ограничение TrackTo, заставляющее быть направленным на свой объект, тогда как солнце отслеживает центр всех объектов, визуализируемых на сцене.

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

# File camera.py

# Adds one camera and several lights

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

import bpy, mathutils, math

from mathutils import Vector

from math import pi

def findMidPoint:

# Нахождение позиции середины всех визуализируемых объектов

sum = Vector((0,0,0))

n = 0

for ob in bpy.data.objects:

if ob.type not in ['CAMERA', 'LAMP', 'EMPTY']:

sum += ob.location

n += 1

if n == 0:

return sum

else:

return sum/n

def addTrackToConstraint(ob, name, target):

# Добавление ограничения TrackTo

cns = ob.constraints.new('TRACK_TO')

cns.name = name

cns.target = target

cns.track_axis = 'TRACK_NEGATIVE_Z'

cns.up_axis = 'UP_Y'

cns.owner_space = 'WORLD'

cns.target_space = 'WORLD'

return

def createLamp(name, lamptype, loc):

# Создание источника освещения

bpy.ops.object.add(

type='LAMP',

location=loc)

ob = bpy.context.object

ob.name = name

lamp = ob.data

lamp.name = 'Lamp'+name

lamp.type = lamptype

return ob

def createLamps(origin, target):

deg2rad = 2*pi/360

sun = createLamp('sun', 'SUN', origin+Vector((0,20,50)))

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

Live-rpg. эволюция-3

Кронос Александр
3. Эволюция. Live-RPG
Фантастика:
боевая фантастика
6.59
рейтинг книги
Live-rpg. эволюция-3

Пушкарь. Пенталогия

Корчевский Юрий Григорьевич
Фантастика:
альтернативная история
8.11
рейтинг книги
Пушкарь. Пенталогия

Хроники разрушителя миров. Книга 8

Ермоленков Алексей
8. Хроники разрушителя миров
Фантастика:
фэнтези
5.00
рейтинг книги
Хроники разрушителя миров. Книга 8

Адъютант

Демиров Леонид
2. Мания крафта
Фантастика:
фэнтези
6.43
рейтинг книги
Адъютант

Эфир. Терра 13. #2

Скабер Артемий
2. Совет Видящих
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эфир. Терра 13. #2

Кодекс Крови. Книга VI

Борзых М.
6. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга VI

Измена

Рей Полина
Любовные романы:
современные любовные романы
5.38
рейтинг книги
Измена

Я – Орк. Том 2

Лисицин Евгений
2. Я — Орк
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я – Орк. Том 2

Законы Рода. Том 2

Flow Ascold
2. Граф Берестьев
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 2

Корпулентные достоинства, или Знатный переполох. Дилогия

Цвик Катерина Александровна
Фантастика:
юмористическая фантастика
7.53
рейтинг книги
Корпулентные достоинства, или Знатный переполох. Дилогия

Тринадцатый

NikL
1. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
6.80
рейтинг книги
Тринадцатый

Темный Патриарх Светлого Рода

Лисицин Евгений
1. Темный Патриарх Светлого Рода
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода

Раб и солдат

Greko
1. Штык и кинжал
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Раб и солдат

Волк 5: Лихие 90-е

Киров Никита
5. Волков
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волк 5: Лихие 90-е