Aprendiendo python jenga

Husalban - 03/03/2010 12:08
Buenas, hoy no tenía mucho que hacer así que, me ha dado por aprender algo de Python. He hecho este script que crea una torre como la del juego jenga.

No creo que en la práctica le sea útil a nadie, pero he intentado comentar el código todo lo que he podido hasta dónde por ahora entiendo. Por si alguien que quiera también empezar a aprender le da por mirarlo un poco.

Ahí van unos enlaces con los que me he ido orientando para empezar.

Sintaxis básica. [url]http://www.mclibre.org/consultar/Python/[/url].

Aplicado a Blender, la página de Klópes esta muy bien. [url]http://Klópes.iespana.es/tutoriales/pythonlopes/pythonlopes1.htm[/url].

Documentación de Blender. [url]http://www.blender.org/documentation/248pythondoc/index.html[/url].

Bueno, a ver si me da por aprender un poco más y hago algo más útil.


🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #124672



-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #124672



🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #124673

Klópes - 03/03/2010 13:17
Hey, muy bueno. Ahora tienes que implementarlo en el ge para hacer el juego como dios manda.
Husalban - 03/03/2010 13:27

Hey, muy bueno. Ahora tienes que implementarlo en el ge para hacer el juego como dios manda.

No te creas que no lo he pensado.

Dentro de poco voy a empezar un curso de programación de videojuegos con Blender, OpenGL y el motor panda3d, a ver si para cuando lo termine me ánimo y lo hago.
Husalban - 08/03/2010 20:11
Ahí va otro chorrada de script para crear un tesoro. Ahí que ver lo que me aburro. Por cierto, he encontrado otra página que a lo mejor ya la conocéis, pero está muy bien así que, la pongo por si acaso, en ella vienen todos los métodos de los distintos objetos y cómo se usan. [url]http://www.zo-logique.org/3d. Blender/scripts_python/api/identifier-index.html[/url].


🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #125253



-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #125253



🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #125254

Husalban - 10/03/2010 20:52
Ahí va otro. Este es para hacer torres, en las que puedes especificar la altura, el radio y si tiene almenas o no en cuyo caso se puede especificar la altura de las almenas.

Tengo que depurar un par de cosas que todavía no sé hacer, como darle bevel a los bloques de arriba del todo, ya cuando lo consiga subo la versión v2.0, llevo apenas una semana aprendiendo Python tampoco le vamos a pedir peras al olmo.


🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #125434



-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #125433



🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #125434

Caronte - 10/03/2010 23:25
Están interesantes.
Husalban - 11/03/2010 12:23
Ya he conseguido arreglar el fallo que no me permitía hacer el bevel a los bloques de las almenas. Subo la nueva versión.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #125484

OberonKing - 11/03/2010 16:00
Están muy bien amigo. Solo una pregunta, ¿con que Python estás trabajando? Te pregunto esto por que hasta ahora los script que me baje me dan error en esta línea, todos.
[code]from bevel_center import *[/code]

Pero así y todo no dejan de ser muy interesantes.

Posdata: uso Linux, Python tengo el 2.5, 2.6 y el 3,1.
Husalban - 11/03/2010 16:22
Pues para estos scripts estoy utilizando la versión de Blender 2.49b. No lo tengo instalado me bajé la versión (*.zip) y la ejecuto desde el Pen para poder llevarmela por ahí. Cuando ejecuto Blender me pone que la versión de Python es la 2.6.2.

Esa línea te da error porque en mi caso en la carpeta de Blender hay una carpeta que se llama scripts y ahí está el script bevel_center.

Este include lo puse para ver si podía utilizarlo en mí script y funcionó, pero no sé si hay alguna forma mejor de incluirlo.

Por si no lo tienes te lo adjunto, aunque creo que debería venir ya con Blender, y creo que si lo pones en la misma carpeta donde tengas el script guardado te funcionara.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #125498

OberonKing - 11/03/2010 16:41
Efectivamente era eso, tenía un desorden termonuclear en esa carpeta ahora ya está todo ok. Gracias.
iherrero20 - 11/03/2010 21:15
Está muy interesante, muy bueno husalban.
pedropp - 14/03/2010 12:18
Como dices que estas aprendiendo, te haré un comentario sobre el código: Hay líneas de este estilo.
[code]num_blok_i = 0 #declaración como entero tnum_blok_f = 0.00 #declaración como float.
[/code]

En Python las variables no se declaran, ten eso muy presente porque es fundamental.

Esta página está bastante bien para resetear el cerebro y olvidarse de otros lenguajes de tipado estático: http://efbot.org/zone/Python-objects.htm.
Husalban - 14/03/2010 13:27

En Python las variables no se declaran, ten eso muy presente porque es fundamental.

Gracias por el apunte, la verdad es que estoy acostumbrado a otro tipo de lenguajes y al principio me resultaba un poco raro la forma de trabajar.

No tenía muy claro de que tipo se crearía la variable al asignarla a una operación, si dependía del tipo de los operandos y tal, o sea que si hacía una primera operación con dos enteros se crearía de tipo entero y si volvía a hacer otra operación esta vez con reales se despreciarían los decimales al haberla creado la primera vez de tipo entero, por eso puse esas líneas de código que comentas.

Le echaré un vistazo a la página a ver si sigo aprendiendo.
Husalban - 18/03/2010 18:49
Ahí va otro, esta vez se puede ver un poco cómo funcionan las curvas. Es para hacer muelles. Aunque no sé por qué al meterle el bevob me sale todo oscuro (los colores se ven por dentro), no sé que estaré haciendo mal, le echaré otro vistazo más, pero si algún alma caritativa quiere echarle un ojo también a ver si ve el fallo.

Edito: ya está arreglado el fallo. Por lo visto al craer el círculo que forma el contorno del alambre hay que ir añadiendo los vértices en el sentido de las agujas del reloj.


🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #128753



-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #128752



🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #128753

Husalban - 22/03/2010 20:54
Estoy pensando que ya que he abierto este hilo para aprender Python, podrías poner vosotros también si queréis algún script curioso que tengáis por ahí con el código comentadillo para ver cómo se han hecho y seguir aprendiendo entre todos. Como, por ejemplo, esos para personalizar tus propios menús en Blender y tal.

Bueno ahí va otro enreo.


🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #128999



-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #128999



🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #129000

SHAZAM - 22/03/2010 21:23
Que sepas que tengo entre mis carpetas de scripts de Blender una que pone scripts_husalban, nunca se sabe cuándo hay que crear rápidamente unas escaleras o unos muelles. Gracias por el aporte, de paso dan ganas de ponerse a aprender Python, aunque me da miedillo descubrir que soy un negado para la programación.
OberonKing - 23/03/2010 03:53
No paras amigo, sigue aprendiendo así que Blender va a terminar como 3dsMax lleno de agregados para hacer de todo. Muchas gracias.
Husalban - 23/03/2010 15:55
Bueno, me alegro que a alguien le puedan resultar útiles estos enreos. Y Shazam anímate y empieza a programar que al fin y al cabo, esto es como cualquier otra cosa, a base de prueba y error. Lo que ha sido un poco más lioso es tener que darle un repaso a la trigonometría para hacer ciertas cosas, quién me iba a decir que iba a utilizar en la vida algo de lo que nos enseñan en el instituto.
SHAZAM - 23/03/2010 16:16
Trigonometría. Yo era bueno en eso, pero no creo que recuerde nada de nada. Pero si me pondré, me está gustando mucho el tema del rigging y quiero tener la capacidad de poder crear menúes y botóncillos a medida.
Husalban - 23/03/2010 17:57
Pues rigging y animación, eso es lo que realmente me gustaría aprender y por lo que empecé hace no mucho a aprender algo de este mundillo, soy un poco burro y quiero abarcarlo todo. Ahora estoy empezando un curso de OpenGL y no voy a tener tiempo para todo.
Husalban - 24/03/2010 19:43
He hecho algunas mejoras en el script de la escalera, como arreglar algunas cosas que se descuadraban un poco, meter Smooth a las barandillas que no sabía cómo se hacía y otra cosa que creo que va hacer a este script algo más útil.

Lo que he hecho es añadir unos menús desplegables con los materiales que existan en ese momento en la escena y así poder elegir con que materiales se deben crear cada uno de los componentes que forman la escalera.


🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #129108



-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #129107



🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #129108