Gracias Gracias:  0
Página 6 de 8 PrimerPrimer ... 2345678 ÚltimoÚltimo
Resultados 76 al 90 de 113

Tema: Sugerencias Script para blender

  1. #76
    Character Artist Avatar de fog
    Fecha de ingreso
    Feb 2004
    Ubicación
    Barcelona
    Mensajes
    861

    Re: Sugerencias Script para blender

    Joder que cabron, lo has bordado klopes!!

    Nada hombre, no te preocupes tío, yo habría tardado siglos para llegar aquí.
    A ver si lo podemos mejorar

  2. #77
    Moderador Avatar de Klópes
    Fecha de ingreso
    Jul 2005
    Ubicación
    Estuve el día que llovió en los Monegros
    Mensajes
    7,987

    Re: Sugerencias Script para blender

    Cita Iniciado por fog Ver mensaje
    Joder que cabron, lo has bordado klopes!!

    Nada hombre, no te preocupes tío, yo habría tardado siglos para llegar aquí.
    A ver si lo podemos mejorar
    Tú tienes que empezar a escribir. Empieza haciendo cosas que no sirven para nada, como crear mallas en forma de estrella, hacerles agujeros, moverles los vértices y todo eso, o un clon de la ventana 3D en la ventana de script, y sobre todo lee mucho (el tutorial en Python Programming Language -- Official Website es imprescindible y los docs del API de blender) y estate al tanto de lo que va saliendo.
    Si te interesa, puedes suscribirte a la lista de desarrollo, y ves lo que van discutiendo.
    ...y estaba superbueno.
    Y miré su perfil. Y vi que era amigo de Daniela. Puaf.


    Dos niñas en el parque

    no se elevará, nunca más

  3. #78
    Moderador Avatar de Klópes
    Fecha de ingreso
    Jul 2005
    Ubicación
    Estuve el día que llovió en los Monegros
    Mensajes
    7,987

    Re: Sugerencias Script para blender

    Cita Iniciado por Caronte Ver mensaje
    Je, Je... eres un monstruo!
    Tú también eres feo
    ...y estaba superbueno.
    Y miré su perfil. Y vi que era amigo de Daniela. Puaf.


    Dos niñas en el parque

    no se elevará, nunca más

  4. #79
    El Programador
    Fecha de ingreso
    Sep 2005
    Ubicación
    Valencia
    Mensajes
    720

    Re: Sugerencias Script para blender

    Sinceramente los dos sois unos monstruos...

  5. #80
    Character Artist Avatar de fog
    Fecha de ingreso
    Feb 2004
    Ubicación
    Barcelona
    Mensajes
    861

    Re: Sugerencias Script para blender

    He modificado un poco el tema.
    Ahora pinta, o sea que no necesitas ir haciendo cada vez clik para ir anyadiendo objetos.

    Cambiando el valor de sleep de 10 a 100 ponemos menos duplicados encima de la geometría


    Código:
    # SPACEHANDLER.VIEW3D.EVENT
    
    ###########################
    ###~~~~~~~~~~~~~~~~~~~~~###
    ### Pegotes 0.1 ###
    ### ###
    ### Un capricho para ###
    ### contentar a Caronte ###
    ###~~~~~~~~~~~~~~~~~~~~~###
    ###########################
    
    __author__ = "Carlos López (klopes)"
    __url__ = ("http://www.3dpoder.com", "Author's web page, http://klopes.tk",
    "Script's homepage, http://www.iespana.es/klopes/enchufes-guiri.htm",
    )
    __versión__ = "1.0"
    
    __bpydoc__ = """\
    Pegotes sirve para colocar objetos sobre las caras de una malla, de acuerdo a su orientación.
    No funciona sobre modificadores.
    Buen uso:
    * Activar Script Links en la ventana correspondiente.
    * Abrir el script en una ventana de texto
    * En una ventana 3D, Pinchar en View->Space Handler Scripts>pegamento.py
    * Seleccionar una malla, y pinchar sobre ella innumerables veces y sin criterio ningúno.
    """
    
    import Blender,BPyWindow,BPyMesh
    from Blender import *
    from Blender.Window import *
    from Blender.Mathutils import *
    
    evt = Blender.event
    
    LMB = Window.MButs['L']
    
    def event (evt, val):
     # Loop until click
     mouse_buttons = Window.GetMouseButtons()
     while not mouse_buttons & LMB:
     Blender.sys.sleep(10)
     mouse_buttons = Window.GetMouseButtons()
     print "UNPRESSED"
    
     while mouse_buttons & LMB:
     Blender.sys.sleep(10)
     mouse_buttons = Window.GetMouseButtons()
     pinta()
     Draw.Exit()
    def pinta():
     print "Mmm..."
     os = Blender.Object.GetSelected()[0]
     m = NMesh.GetRawFromObject(os.name)
     mc = GetMouseCoords()
     ray = BPyWindow.mouseViewRay(mc[0],mc[1],os.matrix)
     ori,dir= ray[1],ray[2]
     f = BPyMesh.pickMeshRayFace(m,ori,dir)
    
     if f[0]:
     print "F", f
     o=Object.New('Empty')
     M0 = os.matrix
     vs = f[0].v
     v0 = Vector(vs[0])*M0
     v1 = Vector(vs[1])*M0
     v2 = Vector(vs[2])*M0
     eX, e = (v1-v0).normalize(), v2-v0
     eZ = CrossVecs(eX,e).normalize()
     eY = CrossVecs(eX,eZ)
     M = Matrix(-eX,eY,eZ)
     o.setMatrix(M)
     o.setLocation(f[1]*M0)
     Scene.GetCurrent().link(o)
     Redraw()
     Blender.event=None
    
    def gui():
     print "gui"
    
    Draw.Register(gui, event, pinta)
    Última edición por fog; 26-09-2007 a las 16:33

  6. #81
    Character Artist Avatar de fog
    Fecha de ingreso
    Feb 2004
    Ubicación
    Barcelona
    Mensajes
    861

    Re: Sugerencias Script para blender

    Una preguntilla, para crear un plano o un cubo como seria?
    Porque con :
    Código:
    o=Object.New('Mesh', 'Plane')
    no funciona no?

  7. #82
    Ninja Fever Avatar de Mars Attacks
    Fecha de ingreso
    Jun 2003
    Ubicación
    Castellón
    Mensajes
    12,744

    Re: Sugerencias Script para blender

    Bueno, comienza añadiendo una interfaz chorra donde exista un deslizador de "espaciado de brocha" con el que puedas variar el tamaño del sleep en tiempo de ejecución.

  8. #83
    BlenderAdicto Avatar de Caronte
    Fecha de ingreso
    Dec 2004
    Ubicación
    Valencia-España
    Mensajes
    14,691

    Re: Sugerencias Script para blender

    Cita Iniciado por fog Ver mensaje
    He modificado un poco el tema.
    Ahora pinta, o sea que no necesitas ir haciendo cada vez clik para ir anyadiendo objetos.
    Eso esta bien como opción, pero debería existir también el otro modo, porque nos dará más precisión.
    "Algún día todo será digital". Caronte.
    Mi web: NicoDigital.com

  9. #84
    Character Artist Avatar de fog
    Fecha de ingreso
    Feb 2004
    Ubicación
    Barcelona
    Mensajes
    861

    Re: Sugerencias Script para blender

    pues si es verdad caronte, ahora ya sabemos como hacerlo de una forma y de la otra, así que ya tenemos algo avanzado

  10. #85
    Ninja Fever Avatar de Mars Attacks
    Fecha de ingreso
    Jun 2003
    Ubicación
    Castellón
    Mensajes
    12,744

    Re: Sugerencias Script para blender

    fog, es tan simple con que pongas una variable chivata que te permita pintar siempre que se haya dejado de hacer clik o sigas haciendo clik y hayan pasado los segundos que quieras, y en caso contrario no haga nada.

  11. #86
    Character Artist Avatar de fog
    Fecha de ingreso
    Feb 2004
    Ubicación
    Barcelona
    Mensajes
    861

    Re: Sugerencias Script para blender

    Si Mars, a ver si puedo controlar eso, le falta poco.

    Ahora lo que hace ya es pintar con el RMB sin parar, y con el botón del medio del Mouse paramos el script
    El problema ahora es poder acceder al Gui del script para cambiar el valor del spacing, pero peta.

    Alguna idea?

    Código:
    # SPACEHANDLER.VIEW3D.EVENT
    
    ###########################
    ###~~~~~~~~~~~~~~~~~~~~~###
    ### Pegotes 0.1 ###
    ### ###
    ### Un capricho para ###
    ### contentar a Caronte ###
    ###~~~~~~~~~~~~~~~~~~~~~###
    ###########################
    
    __author__ = "Carlos López (klopes)"
    __url__ = ("http://www.3dpoder.com", "Author's web page, http://klopes.tk",
    "Script's homepage, http://www.iespana.es/klopes/enchufes-guiri.htm",
    )
    __versión__ = "1.0"
    
    __bpydoc__ = """\
    Pegotes sirve para colocar objetos sobre las caras de una malla, de acuerdo a su orientación.
    No funciona sobre modificadores.
    Buen uso:
    * Activar Script Links en la ventana correspondiente.
    * Abrir el script en una ventana de texto
    * En una ventana 3D, Pinchar en View->Space Handler Scripts>pegamento.py
    * Seleccionar una malla, y pinchar sobre ella innumerables veces y sin criterio ningúno.
    """
    
    import Blender,BPyWindow,BPyMesh
    from Blender import *
    from Blender.Window import *
    from Blender.Mathutils import *
    from Blender.BGL import *
    
    RMB = Window.MButs['R']
    
    def event (evt, val):
     global mouse_state
     
     mouse_buttons = Window.GetMouseButtons() 
     print mouse_buttons
     
     while not mouse_buttons:
     while not mouse_buttons & RMB:
     Blender.sys.sleep(brush_spacing.val)
     mouse_buttons = Window.GetMouseButtons()
     print mouse_buttons
     if mouse_buttons == 2:
     Draw.Exit()
     return
     while mouse_buttons & RMB:
     Blender.sys.sleep(brush_spacing.val)
     mouse_buttons = Window.GetMouseButtons()
     PaintGeom()
     
    
    def PaintGeom():
     #print "Mmm..."
     os = Blender.Object.GetSelected()[0]
     m = NMesh.GetRawFromObject(os.name)
     mc = GetMouseCoords()
     ray = BPyWindow.mouseViewRay(mc[0],mc[1],os.matrix)
     ori,dir = ray[1],ray[2]
     f = BPyMesh.pickMeshRayFace(m,ori,dir)
    
     if f[0]:
     #print "F", f
     o=Object.New('Empty')
     M0 = os.matrix
     vs = f[0].v
     v0 = Vector(vs[0])*M0
     v1 = Vector(vs[1])*M0
     v2 = Vector(vs[2])*M0
     eX, e = (v1-v0).normalize(), v2-v0
     eZ = CrossVecs(eX,e).normalize()
     eY = CrossVecs(eX,eZ)
     M = Matrix(-eX,eY,eZ)
     o.setMatrix(M)
     o.setLocation(f[1]*M0)
     Scene.GetCurrent().link(o)
     Redraw()
     Blender.event=None
    
    
    def Gui():
     global brush_spacing, activeObj
     
     glColor3f(0.7,0.7,0.7)
     glRecti(15, 35, 320, 210)
     
     glColor3f(0.1, 0.1, 0.1)
     glRasterPos2f(35,190)
     Draw.Text("Brush Spacing: ")
     
     brush_spacing = Draw.Number('Value:', 1000, 35,160, 150,20, 100, 5,1000, '% of meshes with one stroke')
     
     activeObj = Draw.Label("Object to paint: ", 40,120, 100, 30)
    Draw.Register(Gui, event, PaintGeom)

  12. #87
    BlenderAdicto Avatar de Caronte
    Fecha de ingreso
    Dec 2004
    Ubicación
    Valencia-España
    Mensajes
    14,691

    Re: Sugerencias Script para blender

    Cita Iniciado por fog Ver mensaje
    ...y con el botón del medio del Mouse paramos el script
    No puedes usar el botón del medio, porque se usa para rotar la vista 3D y eso es esencial mientras pintamos.
    "Algún día todo será digital". Caronte.
    Mi web: NicoDigital.com

  13. #88
    Moderador Avatar de Klópes
    Fecha de ingreso
    Jul 2005
    Ubicación
    Estuve el día que llovió en los Monegros
    Mensajes
    7,987

    Re: Sugerencias Script para blender

    Primero: ten en cuenta esto que viene en las instrucciones de los Space Handlers:

    Guidelines (important):

    * EVENT handlers can access and change Blender objects just like any other script, but they should not draw to the screen, use a DRAW handler to do that. Specifically: Draw.Image and the BGL drawing functions should not be used inside an EVENT handler.

    Es decir, olvídate de entornos gráficos en este texto, tendrás que usar otro. Léelo bien.
    Además estas mezclando los eventos controlados por una GUI con los detectados como space handler. O una cosa o la otra, o mete la GUI como un script SPACEHANDLER.VIEW3D.DRAW.

    En cuanto al spacing, no debería ser controlado por tiempo sino por la distancia al último objeto pegado. Guarda las coordenadas f[1]*M0 y no dibujes el siguiente hasta que la distancia sea mayor que una D.
    ...y estaba superbueno.
    Y miré su perfil. Y vi que era amigo de Daniela. Puaf.


    Dos niñas en el parque

    no se elevará, nunca más

  14. #89
    ice padawan Avatar de anarkis
    Fecha de ingreso
    Feb 2005
    Ubicación
    barcelona
    Mensajes
    885

    Re: Sugerencias Script para blender

    crea un script para modelar igual que maya XD

  15. #90
    Moderador Avatar de Klópes
    Fecha de ingreso
    Jul 2005
    Ubicación
    Estuve el día que llovió en los Monegros
    Mensajes
    7,987

    Re: Sugerencias Script para blender

    Bien, siguiendo con mi rollo de los script handlers, he adaptado unos toques de Fog en la primera idea, y aquí lo tenemos.

    Un objeto se añade si la distancia al anterior es mayor que la variable Med, más un valor aleatorio sobre Var.
    EDITO: Lo que he escrito del Rand() era una gilipollez, ya está corregido.

    Ya le pondremos cabecera al final, ¿vale?

    Código:
    # SPACEHANDLER.VIEW3D.EVENT
    
    import Blender,BPyWindow,BPyMesh
    from Blender import *
    from Blender.Window import *
    from Blender.Mathutils import *
    
    evt = Blender.event
    Med	=	1.0
    Var	=	0.5
    
    if evt == Draw.LEFTMOUSE:
    	R		=	0
     	mouse_buttons = Window.GetMouseButtons() 
    	os		=	Blender.Object.GetSelected()[0]
    	m		=	NMesh.GetRawFromObject(os.name)
    	M0	=	os.matrix
    	LMB = Window.MButs['L']
    	L0	=	Vector(-1000000.,0.,0.)
    	while mouse_buttons & LMB:
    		mouse_buttons = Window.GetMouseButtons() 
    		mc	=	GetMouseCoords()
    		ray	=	BPyWindow.mouseViewRay(mc[0],mc[1],os.matrix)
    		ori,dir= ray[1],ray[2]
    		f		=	BPyMesh.pickMeshRayFace(m,ori,dir)
    		L		=	f[1]*M0
    		Dist=	Vector(L-L0).magnitude
    		if f[0] and (Dist > Med+R):
    			R		=	Rand()
    #			print "F", f
    			o=Object.New('Empty')
    			L0	=	L
    			vs	=	f[0].v
    			v0	=	Vector(vs[0])*M0
    			v1	=	Vector(vs[1])*M0
    			v2	=	Vector(vs[2])*M0
    			eX, e	=	(v1-v0).normalize(), v2-v0
    			eZ	=	CrossVecs(eX,e).normalize()
    			eY	=	CrossVecs(eX,eZ)
    			M		=	Matrix(-eX,eY,eZ)
    			o.setMatrix(M)
    			o.setLocation(L)
    			Scene.GetCurrent().link(o)
    			Redraw()
    			Blender.event=None
    Última edición por Klópes; 27-09-2007 a las 17:17
    ...y estaba superbueno.
    Y miré su perfil. Y vi que era amigo de Daniela. Puaf.


    Dos niñas en el parque

    no se elevará, nunca más

Página 6 de 8 PrimerPrimer ... 2345678 ÚltimoÚltimo

Temas similares

  1. Blender Script para Blender, duda
    Por Lyng en el foro Programación y Scripts
    Respuestas: 11
    Último mensaje: 09-08-2012, 16:49
  2. script FaST occlusion para Blender
    Por polan en el foro Programación y Scripts
    Respuestas: 9
    Último mensaje: 30-08-2007, 12:15
  3. Respuestas: 12
    Último mensaje: 18-05-2006, 11:37
  4. Script para medidas reales con Blender
    Por Caronte en el foro Plugins
    Respuestas: 2
    Último mensaje: 02-05-2006, 14:03
  5. script 3ds para blender no funciona
    Por flanders en el foro Problemas con Programas
    Respuestas: 9
    Último mensaje: 23-09-2005, 03:15

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •