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

Larsson Thomas

Шрифт:

shape.value = random.random

return

if __name__ == "__main__":

# Создание пяти объектов с произвольными ключами формы

for j in range(5):

run((3*j,0,0))

Применение модификатора массива (array)

Эта программа создает цепь из десяти звеньев. Звено является простым тором, масштабированным вдоль оси x. Мы добавляем звену модификатор массива, где смещение управляется пустышкой (empty). Наконец, модификатор массива применяется (apply), создавая из цепи единственный меш.

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

# File chain.py

# Creates an array modifier and applies it# Update to API rev. 36523

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

import bpy

import math

from math import pi

def run(origin):

# Добавление единственного звена цепи к сцене

bpy.ops.mesh.primitive_torus_add(

#major_radius=1,

#minor_radius=0.25,

major_segments=12,

minor_segments=8,

use_abso=True,

abso_major_rad=1,

abso_minor_rad=0.6,

location=(0,0,0),

rotation=(0,0,0))

# Масштабирование тора вдоль оси x

ob = bpy.context.object

ob.scale = (0.7, 1, 1)

bpy.ops.object.transform_apply(scale=True)

# Создание пустышки

bpy.ops.object.add(

type='EMPTY',

location=(0,1.2,0.2),

rotation=(pi/2, pi/4, pi/2))

empty = bpy.context.object

# Звено цепи снова делается активным

scn = bpy.context.scene

scn.objects.active = ob

# Добавление модификатора

mod = ob.modifiers.new('Chain', 'ARRAY')

mod.fit_type = 'FIXED_COUNT'

mod.count = 10

mod.use_relative_offset = 0

mod.use_object_offset = True

mod.offset_object = empty

# Применение модификатора

bpy.ops.object.visual_transform_apply

bpy.ops.object.modifier_apply(apply_as='DATA', modifier='Chain')

# Перемещение цепи на место

bpy.ops.transform.translate(value=origin)

# Пустышка больше не нужна

scn.objects.unlink(empty)

del(empty)

return

if __name__ == "__main__":

run((0,3,0))

Арматуры

Арматура

Эта программа создаёт арматуру.

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

# File armature.py

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

import bpy, math

from mathutils
import Vector, Matrix

def createRig(name, origin, boneTable):

# Создание арматуры и объекта

bpy.ops.object.add(

type='ARMATURE',

enter_editmode=True,

location=origin)

ob = bpy.context.object

ob.show_x_ray = True

ob.name = name

amt = ob.data

amt.name = name+'Amt'

  • Читать дальше
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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