![]() |
|
Bienvenido a Foros 3DPoder.. Usted esta viendo este foro como invitado, no esta registrado todavía, lo que limita su visión del foro. Si quiere unirse gratis a la mayor comunidad del diseño gráfico de habla hispana, tener acceso a publicar y responder mensajes, tener mensajes privados con otros miembros(PM), responder encuestas, publicar sus imágenes para que las vea el resto del mundo, tener acceso a los video_tutoriales, y muchas cosas más, no lo dude. Registrarse es rápido, simple y gratuito, agregate hoy a la mayor comunidad 3D de habla hispana! ! Si usted tiene algún problema con su registro, por favor , díganoslo aquí.
|
![]() ¿Te ayudo? |
|
|||||||
|
|
|
|
#61 | |
|
BlenderAdicto
Fecha de Ingreso: diciembre-2004
Ubicación: Valencia-España
Mensajes: 10,654
|
Cita:
![]() ¿Por qué no le echas un vistazo al primer Script que te recomendé? Si ese script permitía esculpir la superficie de un objeto, seguro que tiene una rutina que devuelve esa posición 3D a partir de la posición 2D del ratón. Yo es que hace muchos años que no programo, pero supongo que habrá que trazar un vector desde la posición del ratón hasta que cruce un polígono del objeto. |
|
|
|
|
| Enlaces patrocinados |
|
|
#62 |
|
Environment Artist
Fecha de Ingreso: febrero-2004
Ubicación: Barcelona
Mensajes: 850
|
Si exacto, ese vector es el que tendía que saber.
Si me lo he estado mirando el script que posteastes. A ver si me lo estudio con mas tranquilidad y pillo como lo haze
__________________
Blog |
|
|
|
|
|
#63 |
|
El Programador
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 687
|
Fog ese vector es el que debes calcular tu a partir de la posicion dada del raton y la matriz de perspectiva de la vista.
|
|
|
|
|
|
#65 |
|
BlenderAdicto
Fecha de Ingreso: diciembre-2004
Ubicación: Valencia-España
Mensajes: 10,654
|
Si te estancas, pregunta en blenderartists en el foro de scripts porque hay mucho monstruo por allí y a lo mejor tienes suerte
![]() |
|
|
|
|
|
#66 |
|
El Programador
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 687
|
O entra en el irc de #blendercoders para una respuesta o patada mas directa XD.
Siento que nuestra capacidad mental no llegue a tanto nivel XD. En cualquier caso si ves que no encuetras solución cortate un dedo, eso da motivación para encontrar la solución . |
|
|
|
|
|
#67 | |
|
BlenderAdicto
Fecha de Ingreso: diciembre-2004
Ubicación: Valencia-España
Mensajes: 10,654
|
Cita:
![]() |
|
|
|
|
|
|
#68 |
|
Environment Artist
Fecha de Ingreso: febrero-2004
Ubicación: Barcelona
Mensajes: 850
|
Jajajaajaja lo del navo va ser que no tu
Pues es verdad no havia caido con lo del irc y el blenderartists a ver si alguien me ilumina un poquito Gracias de nuevo tíos!
__________________
Blog |
|
|
|
|
|
#69 |
|
·
Fecha de Ingreso: junio-2005
Mensajes: 1,254
|
hablando de blenderartists, en estos mensajes creo que te dan la solución:
http://blenderartists.org/forum/showthread.php?t=70881 (arggg, no digo nada, ya veo que te ha contestado el señor cambo)
__________________
"La vida es como el tetris, cuando llegan los palos no sabes como encajarlos" [SIGPIC]
Última edición por pedropp fecha: 24 sep 2007 a las 20:52. |
|
|
|
|
|
#70 |
|
Environment Artist
Fecha de Ingreso: febrero-2004
Ubicación: Barcelona
Mensajes: 850
|
Gracias perdrpp, ya lo havia visto este!
Al final gracias a blenderartists tengo un poco mas de luz al tema. Hay una funcion en el BPyWindow.py que se llama "mouseViewRay" Con eso pillamos un rayo des del mouse a la geometria. Ole oleeeee!!
__________________
Blog |
|
|
|
|
|
#71 |
|
12 meses, 12 pagas
Fecha de Ingreso: julio-2005
Ubicación: Bajo el sol monegrino
Mensajes: 5,093
|
Ahí lo tienes, te dejo la rotación a ti
EDITO: Sólo funciona sobre el objeto activo, y tiene que ser "canónico", vamos, loc(0,0,0),rot(0,0,0),sca(1,1,1). También queda detectar que el botón esté pulsado, no sólo dibujar en cada pulsación, o sea que hay tajo. EDITO: Deja, estoy a punto... Código:
# SPACEHANDLER.VIEW3D.EVENT
import Blender,BPyWindow,BPyMesh
from Blender import *
from Blender.Window import *
evt = Blender.event
if evt == Draw.LEFTMOUSE:
print "Mmm..."
os = Blender.Object.GetSelected()[0]
m = os.getData()
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
o=Object.New('Empty')
o.setLocation(f[1])
Scene.GetCurrent().link(o)
Redraw()
__________________
La clave es coger la vida por los cojones, apurar cada día como si fuera el último. Hubert Farnsworth Última edición por Klópes fecha: 25 sep 2007 a las 10:30. |
|
|
|
|
|
#73 |
|
BlenderAdicto
Fecha de Ingreso: diciembre-2004
Ubicación: Valencia-España
Mensajes: 10,654
|
|
|
|
|
|
|
#74 |
|
12 meses, 12 pagas
Fecha de Ingreso: julio-2005
Ubicación: Bajo el sol monegrino
Mensajes: 5,093
|
Me estaba volviendo loco desde ayer el signo - de M=Matrix(...). Si es que no aprendo.
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",
)
__version__ = "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 ninguno.
"""
import Blender,BPyWindow,BPyMesh
from Blender import *
from Blender.Window import *
from Blender.Mathutils import *
evt = Blender.event
if evt == Draw.LEFTMOUSE:
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
__________________
La clave es coger la vida por los cojones, apurar cada día como si fuera el último. Hubert Farnsworth Última edición por Klópes fecha: 26 sep 2007 a las 05:41. |
|
|
|
|
|
#75 |
|
BlenderAdicto
Fecha de Ingreso: diciembre-2004
Ubicación: Valencia-España
Mensajes: 10,654
|
Je, Je... eres un monstruo!
![]() Venga Fog, a ver si consigues acabarlo en plan bonito |
|
|
|
![]() |
| Etiquetas Identificativas |
| blender, para, script, sugerencias |
| Usuarios activos actualmente viendo este tema: 1 (0 miembros y 1 visitantes) | |
| Herramientas | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Granja de PCs para renders en max | 3dpoder | 3DStudio Max | 14 | 20 ago 2008 08:40 |
| Hair strand (Pelo en Blender) COMPLETADO | 3dpoder | Blender | 3 | 22 dic 2007 13:28 |
| Problemas con el script para el " Heredar Ángulo de giro de la pierna" en Max 6 | Buen Rollal | Script | 0 | 08 ene 2007 17:34 |
| Blender Game Engine --Andando--como mover el actor | 3dpoder | Blender | 0 | 18 sep 2005 05:43 |
| Tracking automático con BOUJO | ||||