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