Sketchando..!
Hola Sketchero por si no lo sabias nos estamos mudando a http://www.sketchando.net , dentro de poco en este foro no podrán iniciarse nuevos temas, por lo que te solicitamos, aunque ya estes registrado aca, te vuelvas a inscribir en el nuevo foro.

Unirse al foro, es rápido y fácil

Sketchando..!
Hola Sketchero por si no lo sabias nos estamos mudando a http://www.sketchando.net , dentro de poco en este foro no podrán iniciarse nuevos temas, por lo que te solicitamos, aunque ya estes registrado aca, te vuelvas a inscribir en el nuevo foro.
Sketchando..!
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Foro No oficial de usuarios hispanos de SketchUp

Google SketchUp & SketchUp Pro 7 Bible
SketchUp del futuro
Concurso Express 15-30 Agosto 2010 Requerimientos en el foro Participando..!
Crea luces facilmente en pocos pasos (Post-Producción)
Arboles y Arbustos calidad profesional
V ray manual ESPAÑOL
FreeScale 2.0 - New Transformations
SCF ToolBar (excelente conjunto de herramientas para arquitectura)
Herramienta Archiland
4258 componentes para SketchUp Low-poly

No estás conectado. Conéctate o registrate

Colocar imagen en curva

+7
_GUARIN_
inside760li
franciscojesuli
setesur1
Ibon
inakim
bartsurilla
11 participantes

Ir abajo  Mensaje [Página 1 de 1.]

1Colocar imagen en curva Empty Colocar imagen en curva Vie 12 Mar 2010, 11:42

bartsurilla


Observador
Observador

Hola a todos.
Espero haber colocado bien la imagen para que podáis verla, si no es así perdonadme y volveré a intentarlo. El problema que tengo es que necesito colocar la imagen de la parte derecha (los ciclistas) en la estructura con forma curvada. Estas curvas no son de una sola pieza, sino que están formadas por varios paneles. La foto consigo colocarla como textura pero me queda muy ampliada, de hecho lo que se ve en toda la superficie es una parte del suelo, y necesito poder redimensionarla para adaptarla al tamaño aunque me quede deformada. He probado a modificarla desde Photoshop aplicándole diferentes tamaños, pero siempre me sale igual. Todo lo que he visto por ahí en tutoriales indica que las texturas solo pueden modificarse sobre plano, pero alguien conoce alguna manera de poder hacerlo???
gracias

[img]Colocar imagen en curva Estructuraimagen[/img]



Última edición por bartsurilla el Lun 15 Mar 2010, 10:33, editado 1 vez

2Colocar imagen en curva Empty Re: Colocar imagen en curva Vie 12 Mar 2010, 12:22

inakim

inakim
Super Sketchero..!
Super Sketchero..!

Prueba con este plugin...UVtools.rb...copia el texto de abajo(en negrita) y guardalo con el nombre de UVtools.rb, tambien puedes probar proyectando la textura (en el menu de la textura y ademas mira tambien suvizar aristas coplanarias. Very Happy

require 'sketchup.rb'


if( not file_loaded?("UVtools.rb") )

UI.add_context_menu_handler {|menu|
ents=Sketchup.active_model.selection
sel=Sketchup.active_model.selection.first
sub=menu.add_submenu("UV Tools")
sub.add_item("Spherical Map") {(UVtools.new.spherical_map(ents))}
sub.add_item("Cylindrical Map") {(UVtools.new.cylindrical_map(ents))}
}

end
file_loaded("UVtools.rb")

class UVtools

@points=[]
@box=nil


######################
def get_bounds(ents)


all_points=[]
ents.each {|e|
if e.class==Sketchup::Face
all_points.push(e.vertices)
end
}

return if all_points.empty?

all_points.flatten!
all_points.uniq!

box=Geom::BoundingBox.new
all_points.each {|v| box.add(v.position)}

@box=box

end

######################
def get_center(ents) #returns the bounding box center of the selection

get_bounds(ents)
return @box.center

end

######################
def get_zmax_min(ents)

get_bounds(ents)
return [@box.max.z,@box.min.z]

end
########################
def get_spherical_uv(p,c) #p is the point we want to get the uvs for, c is the spherical center

pi=Math::PI
dx=p.x-c.x
dy=p.y-c.y
dz=p.z-c.z

theta=Math.acos(dz/(Math.sqrt(dx**2+dy**2+dz**2)))
phi=Math.atan2(dy,dx)

v=1.0-(theta/pi)

if phi<0.0
phi=2*pi+phi
end

u=(phi/(2*pi))

return [u,v,0.0]

end

########################
def get_cylindrical_uv(p,z_extents) #p is the point we want to get the uvs for, ymin is the base of the cylinder

c=Geom::Point3d.new(@box.center)

pi=Math::PI
dx=p.x-c.x
dy=p.y-c.y

zmax=z_extents[0]
zmin=z_extents[1]
dz=(p.z-zmin)/(zmax-zmin)


phi=Math.atan2(dy,dx)

v=dz

if phi<0.0
phi=2*pi+phi
#phi=-phi
end

u=phi/(2*pi)

return [u,v,0.0]

end

##########################
def validate_uvs(uvs)

u_arr=uvs.collect {|p| p.x}
u_max=u_arr.max
u_arr.each_index {|i|
if u_arr[i]!=u_max
if (u_max-u_arr[i])>0.8 #check for overlap
#p "overlapped"
u_arr[i]+=1.0
end
end
}

uvs.each_index {|i| uvs[i].x=u_arr[i]} #modify the original uv array to fix the overlap

return uvs

end

##############################
def resize_uvs(uvs,mat)

tex=mat.texture
return if tex==nil

h=tex.height
w=tex.width

new_uvs=[]
uvs.each_index {|i|
new_uvs[i]=Geom::Point3d.new(0,0,0)
new_uvs[i].x=uvs[i].x*w
new_uvs[i].y=uvs[i].y*h
new_uvs[i].z=uvs[i].z
}

return new_uvs

end


#########################
def spherical_map(faces) #performs spherical mapping

Sketchup.active_model.start_operation("Spherical Map")
faces=get_faces(faces)
origin=get_center(faces)
p origin

faces.each {|f|
material=f.material
verts=f.vertices
pts=verts.collect {|v| v.position}
uvs=pts.collect {|p| get_spherical_uv(p,origin)}
uvs=validate_uvs(uvs) #fixes the 'overlap' problem
#uvs=resize_uvs(uvs,material) #resize the uvs based on texture size
if pts.length==3
pt_array=[pts[0],uvs[0],pts[1],uvs[1],pts[2],uvs[2]]
else
pt_array=[pts[0],uvs[0],pts[1],uvs[1],pts[2],uvs[2],pts[3],uvs[3]]
end
begin
f.position_material(material,pt_array,true)
#f.position_material(material,pt_array,false)
rescue
p pt_array
raise
end

}

Sketchup.active_model.commit_operation
end

#########################
def cylindrical_map(faces) #performs spherical mapping

Sketchup.active_model.start_operation("Cylindrical Map")
faces=get_faces(faces)
z_extents=get_zmax_min(faces)

faces.each {|f|
material=f.material
verts=f.vertices
pts=verts.collect {|v| v.position}
uvs=pts.collect {|p| get_cylindrical_uv(p,z_extents)}
uvs=validate_uvs(uvs) #fixes the 'overlap' problem
#uvs=resize_uvs(uvs,material) #resize the uvs based on texture size
if pts.length==3
pt_array=[pts[0],uvs[0],pts[1],uvs[1],pts[2],uvs[2]]
else
pt_array=[pts[0],uvs[0],pts[1],uvs[1],pts[2],uvs[2],pts[3],uvs[3]]
end
begin
f.position_material(material,pt_array,true)
#f.position_material(material,pt_array,false)
rescue
p pt_array
raise
end

}

Sketchup.active_model.commit_operation
end

############################
def get_faces(ents)

return ents.find_all {|e| e.class==Sketchup::Face}

end




end #class

3Colocar imagen en curva Empty Re: Colocar imagen en curva Lun 15 Mar 2010, 11:18

bartsurilla


Observador
Observador

Gracias por el interés inakim pero lo del plugin UVTtools no me funciona. No se si lo habré hecho bien, pero sólo se me ocurrió pegar el texto en textedit y añadir la extensión, pero al abrir el programa me sale este mensaje:
Error Loading File UVtools.rb
/Library/Application Support/Google SketchUp 7/SketchUp/Plugins/UVtools.rb:1: parse error, unexpected $undefined., expecting '}'
{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf480
^

En cuanto a lo de proyectar la textura, y lo de aristas coplanarias, una vez que tengo la imagen colocada no me aparecen activos.
También he probado para hacerlo en un tamaño más grande (ya que no puedo reducir la imagen, amplio la estructura) pero me sale esto que os envío.

Por favor, agradecería cualquier ayuda, ya que si no puedo colocar imágenes de esta manera, Sketchup no me sirve para nada, y es una lástima porque me viene estupendamente para todo lo demás por su sencillez.

Colocar imagen en curva 2imagenes

4Colocar imagen en curva Empty Re: Colocar imagen en curva Lun 15 Mar 2010, 11:55

Ibon

Ibon
Moderador
Moderador

Yo lo haría sin ayuda de Plugins, al método tradicional:

Paso Nº 1: Elegir la imágen y crear un Nuevo material con ella. Para este ejemplo he usado un render que tan amablemente nos acaba de regalar pedro Wink


Paso Nº 2: Crear la superficie curvada

Colocar imagen en curva 118


Paso Nº 3: Hacer visible la geometría oculta (Ver --> Geometría Oculta) y aplicar el material a una de las caras.

Colocar imagen en curva 213


Paso Nº 4: Situarla y escalarla al gusto (hacer click con el botón derecho sobre la cara y elegir "Textura --> Situar")

Colocar imagen en curva 313


Paso Nº 5: Convertir la textura en Proyectada (hacer click con el botón derecho sobre la cara y elegir "Textura --> Proyectada")

Colocar imagen en curva 413


Paso Nº 6: Aquí está la clave. Con el cuentagotas, seleccionar la textura proyectada, después cultar la geometría oculta y finalmente aplicar el material a la superficie. Si no ha quedado a tu gusto, recoloca la textura en alguna de las caras y repite el proceso.

Colocar imagen en curva 512

5Colocar imagen en curva Empty Re: Colocar imagen en curva Lun 15 Mar 2010, 13:30

setesur1

setesur1
Super Sketchero..!
Super Sketchero..!

Esto es convertir las cosas que creemos que son muy dificiles, en muy fáciles.

Muchas gracias por el Tutorial.

Un saludo. cheers drunken cheers

6Colocar imagen en curva Empty Re: Colocar imagen en curva Lun 15 Mar 2010, 13:39

Ibon

Ibon
Moderador
Moderador

La única pega es que si el ángulo que quieres cubrir es demasiado amplio, la imágen comienza a deformarse. Solución: Proyectar la imágen dependiendo de la cámara Wink

7Colocar imagen en curva Empty Re: Colocar imagen en curva Mar 16 Mar 2010, 04:45

bartsurilla


Observador
Observador

Ibon escribió:La única pega es que si el ángulo que quieres cubrir es demasiado amplio, la imágen comienza a deformarse. Solución: Proyectar la imágen dependiendo de la cámara Wink

Aun no he conseguido dejarla como a mi me parecería perfecta, pero ya tengo un camino por donde tirar para seguir haciendo pruebas.
De veras que no se como agradecértelo.

Colocar imagen en curva Imagenva

8Colocar imagen en curva Empty Re: Colocar imagen en curva Mar 16 Mar 2010, 05:52

Ibon

Ibon
Moderador
Moderador

De nada hombre! (o mujer), para eso estamos Wink

9Colocar imagen en curva Empty Re: Colocar imagen en curva Mar 16 Mar 2010, 08:50

franciscojesuli

franciscojesuli
Super Sketchero..!
Super Sketchero..!

como siempre muy atento y todo muy bien explicado, es un gusto tenerte por aqui ibon!!un abrazo!

http://www.frankruizdesign.com/

10Colocar imagen en curva Empty Re: Colocar imagen en curva Miér 17 Mar 2010, 21:27

inside760li

inside760li
Sketchero..!
Sketchero..!

Ibon escribió:Yo lo haría sin ayuda de Plugins, al método tradicional:

Paso Nº 1: Elegir la imágen y crear un Nuevo material con ella. Para este ejemplo he usado un render que tan amablemente nos acaba de regalar pedro Wink


Paso Nº 2: Crear la superficie curvada

Colocar imagen en curva 118


Paso Nº 3: Hacer visible la geometría oculta (Ver --> Geometría Oculta) y aplicar el material a una de las caras.

Colocar imagen en curva 213


Paso Nº 4: Situarla y escalarla al gusto (hacer click con el botón derecho sobre la cara y elegir "Textura --> Situar")

Colocar imagen en curva 313


Paso Nº 5: Convertir la textura en Proyectada (hacer click con el botón derecho sobre la cara y elegir "Textura --> Proyectada")

Colocar imagen en curva 413


Paso Nº 6: Aquí está la clave. Con el cuentagotas, seleccionar la textura proyectada, después cultar la geometría oculta y finalmente aplicar el material a la superficie. Si no ha quedado a tu gusto, recoloca la textura en alguna de las caras y repite el proceso.

Colocar imagen en curva 512

Sos boludo, sabelo ... ! Basketball Basketball Basketball

11Colocar imagen en curva Empty Re: Colocar imagen en curva Jue 18 Mar 2010, 03:18

Ibon

Ibon
Moderador
Moderador

e nada chicos, para lo que queráis!

12Colocar imagen en curva Empty Re: Colocar imagen en curva Sáb 20 Mar 2010, 22:26

_GUARIN_


Sketchero..!
Sketchero..!

yo tengo el mismo problema voy a ensayar aver como me va gracias cheers

13Colocar imagen en curva Empty Re: Colocar imagen en curva Dom 21 Mar 2010, 12:25

_GUARIN_


Sketchero..!
Sketchero..!

cheers cheers cheers llevo buscando la respuesta a este tema meses, ibon mil gracias, si me funciono, muchas gracias amigo. drunken

14Colocar imagen en curva Empty Re: Colocar imagen en curva Lun 22 Mar 2010, 08:12

marcela torre

marcela torre
Sketchero..!
Sketchero..!

Bravooo, bravoo!!!, geniosss

Marce

15Colocar imagen en curva Empty Re: Colocar imagen en curva Lun 22 Mar 2010, 08:30

chabri


Super Sketchero..!
Super Sketchero..!

wuau! no sbaes la de veces que lo he intentado pero nunca habia encontrado un tutorial jejeje graciassssss!!!

http://www.esimaginacion.com

16Colocar imagen en curva Empty Hola Vie 16 Abr 2010, 00:11

Gercastel

Gercastel
Observador
Observador

Que es el cuentagotas? no lo entiendo

17Colocar imagen en curva Empty Re: Colocar imagen en curva Mar 20 Abr 2010, 23:31

cajon49

cajon49
Super Sketchero..!
Super Sketchero..!

Gracias, Ibon! como siempre atento, me acabas de resolver un problema que tenía con una bandera.

18Colocar imagen en curva Empty Re: Colocar imagen en curva Vie 30 Abr 2010, 10:54

bartsurilla


Observador
Observador

Gercastel escribió:Que es el cuentagotas? no lo entiendo

Por lo que yo he visto hasta ahora es una herramienta que sirve para seleccionar texturas o colores ya aplicados a objetos para tomarlos como referencia y aplicarlos a otros objetos.
Para hacer que aparezca (cosa que a mi me costó encontrar) tienes que tener seleccionado el bote de pintura y pulsar "comando", entonces el bote de pintura se sustituye por un cuentagotas. Eso es en mac, en pc no se si será también con "comando".

Contenido patrocinado



Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.