RUVIDEO
Поделитесь видео 🙏

Blender 2.78a : mit Python eine Animation scripten

Aufgrund neuer Erkenntnisse zeige ich in diesem Video, wie man mit einem Pythonscript in Blender 2.78a eine Animation erstellt.

Script: http://pastebin.com/rvTmpbH2

Und hier auch:

import bpy, math, random


d = 4 # size of area where the balls spawn (STRG+Q to see what I mean)
anz = 100 # number of balls
frameAnz = 100 # number of generated frames
spawnScale = [0.015 , 0.09] # range for random scale during spawnprocess of a new ball
originName = "motherBall" # name of the origin-object

#prepare scene, keyframes and keyframe-pointer:
scene = bpy.context.scene
scene.frame_start = 0
scene.frame_end = frameAnz
bpy.ops.screen.frame_jump(end=False)

# first remove all objects from previous script-runs:
# (better than "a", then "x" and then ENTER before restarting this script!)
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete()

# "pick" the original ball from layer 1:
oBall = bpy.data.objects[originName]

# loop for creating (anz)x balls:
for anz in range (0,anz):

# duplicate the original ball and
# name the new ball like "zz_Ball-00001"
# zz_ is for standing below in the outliner
newBall = oBall.copy()
newBallName = str(anz).zfill(5)
newBallName = "zz_Ball-" + newBallName
newBall.name = newBallName

# now generate a random position for the new ball:
xpos = -1 * (d/2) + random.randint(0,(d-1))
xpos += random.random()
ypos = -1 * (d/2) + random.randint(0,(d-1))
ypos += random.random()
zpos = random.randint(0,(d-1))
zpos += random.random()
# and place the new ball at this:
newBall.location = (xpos, ypos, zpos)

# scaling the new ball to get different sizes of balls:
sz = random.uniform(spawnScale[0] , spawnScale[1])
newBall.scale = (sz,sz,sz)

#finally deselect the ball and link it into the scene:
newBall.select = False
scene.objects.link(newBall)

# now lets create frame by frame:
for actFrame in range(1,frameAnz + 1):

bpy.context.scene.frame_set(actFrame)
for ob in scene.objects:

if (ob.name != originName):
ploc = ob.location
xpos = ploc[0]
ypos = ploc[1]
zpos = ploc[2]

zpos = zpos + ( random.random() / 8)
ob.location = (xpos, ypos, zpos)
ob.keyframe_insert(data_path="location", index=-1)

# job done: now reset the framekeypointer to 0
bpy.ops.screen.frame_jump(end=False)

Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «Blender 2.78a : mit Python eine Animation scripten», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.

Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.

Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!

Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.