Download Subject: Scripts, Programación Python

Document related concepts
no text concepts found
Transcript
Niel3D
Subject: Scripts, Programación Python
Topic: Python para Blender 2.64
Re: Python para Blender 2.64
Enviado por : Howarto
Date: 9/12/2012 10:33:48
This Post was from:: http://niel.seyanim.com/niel3/modules/newbb/viewtopic.php?post_id=7227
Lo que he podido sacar de ese código leyendo sería esto:
Acotación:
import bpy #Importa de la libreria principal de Blender
from random import random, randrange #De una libreria saca solo lo que necesita, parece ser que el
sistema para hacer nombres aleatorios.
set_layer = lambda y: tuple(i == y for i in range(0, 20)) #Declara que la capa sera llamada lambda y
crea una tupla de valor entre los rangos de 0 a 20.
co = (0, 0, 0) #Le asigna unas coordenadas
add_metaball = bpy.ops.object.metaball_add #Dice que cree metaballs
add_metaball(type='BALL', enter_editmode=True, location=co, layers=set_layer(0)) #Le dice que sea
del tipo "Ball" y que entre en edit mode, además de darle lozalizacion y decir que sea en la capa 0
(La principal)
obj = bpy.context.active_object.data
for i in range(20): #Crea un bucle para cuando el rango sea 20
obj.elements.new() #Crea los elementos nuevos
x, y, z = tuple(randrange(-4,4) * random() for i in range(3)) #Coloca aleatoriamente los puntos
donde estaran situados en un rango de valores.
obj.elements[-1].co = (x, y, z) #Les asigna a los elementos unas coordenadas.
print('done') #Pinta en la pantalla un "done".
He simplificado el código y como Soli ha dicho de cambiar por cuadrados o lo que sea... os dejo con
Suzzanne :P
import bpy #importo la librería principal y la random de python
import random
i = 0 #Creo una variable para poder usar bien el bucle
while i5 :
bpy.ops.mesh.primitive_monkey_add(location=(random.choice(range(9)),
random.choice(range(9)), random.choice(range(9))), rotation=(random.choice(range(180)),
random.choice(range(180)), random.choice(range(180))))
i= i+1 #En cada bucle augmento el valor de i en uno para hacer que pare...
http://niel.seyanim.com/niel3
5/6/2017 6:00:46 - 1
''' si no seguiría hasta el infinito y el random.choice...
es de la librería random y lo que hago
es llamar a esa función y darle como parámetro que tenga un rango para controlar
mejor su rotación y para que no se vayan a la Luna. '''
print("¡Listo!")
Te he cambiado el link, porque luego se pierden....
Saludos
http://niel.seyanim.com/niel3
5/6/2017 6:00:46 - 2