rss feed Contactar
Melting
::: De la serie: experimentos bobos así porque sí :::
domingo, 27/06/2010 Archivado en: grafico , 3d
     Otro experimento cutre-rápido para rellenar, que se acaba junio y no cumplo el cupo de posts que tenía planeado, que era de uno nuevo cada dos días... ejem.

     En esta ocasión, la clásica herramienta melting de 3ds max aplicada a dos personajes de ese comic que algún día continuaré, aunque a estas alturas ya me pregunto para qué.

Generador de partículas en AS3
::: Primera versión :::
domingo, 20/06/2010 Archivado en: grafico , varios
     Versión 1 de un generador de partículas con Flash. Iba a hacer un tutorial y subir las fuentes, pero todavía hay que afinar unas cuantas cosas. Notaréis que con determinados parámetros el procesador no puede con todas las partículas, y eso probándolo con un Intel Quad. Se recomienda mantener bajos los niveles de blur y escala, y altos los de desvanecimiento, que si no los cálculos por segundo se disparan. Si probáis la función que pone valores aleatorios con el dado puede pasar cualquier cosa.

     Ya, un poco cutre, pero es un experimento y además es la primera versión. Cuando lo optimice un poco ya subiré un tutorial y las fuentes.

Generador de partículas


     "¿Y esto realmente para qué sirve?", se preguntará el intrépido y curioso lector. Pues para nada, ¿no he dicho ya que es un experimento?
Tutorial Papervision3D (y IV)
::: Fin por ahora de esta serie :::
domingo, 06/06/2010 Archivado en: tutoriales
     Como prometí cuando los dinosaurios dominaban la Tierra, acabamos la primera serie de tutoriales de PaperVision3D con esta entrega. Quedaba pendiente ponerle un mapa de sombreado y otro de relieve, que es lo que vamos a hacer a continuación. Cambiamos la imagen de fondo, para variar un poco y también porque no la encuentro.

     Bueno, vamos allá.
     Estábamos usando Flash Builder 4 como herramienta de desarrollo, y nuestra única clase es TutoPV3D01.

Nuestro proyecto en Flash Builder 4

     Teníamos linkada a nuestro proyecto como un componente de clases precompiladas (SWC) nuestra librería de PaperVision3D. Como ya se comentó, también podemos linkarlo como un proyecto aparte, entre otras opciones. Lo importante es que el compilador pueda encontrar las librerías de PaperVision3D cuando compilemos nuestra aplicación.

Nuestra librería PaperVision3D como SWC

     Esta vez no nos vamos a entretener mucho, mostramos el código comentado, y a continuación se explicará con un poco más de detalle:

package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest;

import org.papervision3d.lights.PointLight3D;
import org.papervision3d.materials.BitmapFileMaterial;
import org.papervision3d.materials.BitmapMaterial;
import org.papervision3d.materials.shaders.PhongShader;
import org.papervision3d.materials.shaders.ShadedMaterial;
import org.papervision3d.objects.primitives.Sphere;
import org.papervision3d.view.BasicView;

[SWF(width="800", height="600", backgroundColor="#000000")]

public class TutoPV3D01 extends BasicView {
private var esfera:Sphere;
private var luz:PointLight3D;

/* en el constructor establecemos la velocidad de fotogramas por segundo,
y llamamos a la función que inicializa variables */


public function TutoPV3D01 (){
stage.frameRate=42;
init();
startRendering();
}

/* inicializamos algunos parámetros y añadimos listeners
que se ejecuten cuando se carguen las dos imágenes que se usan */


private function init():void{
luz=new PointLight3D();
luz.y = 350;
luz.x = 200;
luz.z = -600;
scene.addChild(luz);
var imgLoader:Loader=new Loader();
imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadImgComplete);
imgLoader.load(new URLRequest("assets/snowwhite.jpg"));
var fondoLoader:Loader=new Loader();
fondoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadFondoComplete);
fondoLoader.load(new URLRequest("assets/sky.jpg"));
}

// cuando se cargue la imagen de fondo, la añadimos a la escena

private function loadFondoComplete(e:Event):void{
var fondo:Bitmap=e.target.content as Bitmap;
fondo.width=stage.width;
fondo.height=stage.height;
addChildAt(fondo,0);
}

/*
Cuando se haya cargado la imagen que se usa como material para la esfera,
añadimos ese material, así como un shader y un mapa de relieve
*/


private function loadImgComplete(e:Event):void{
var bitmap:Bitmap=e.target.content as Bitmap;
var bumpmap:BitmapData=new BitmapData(bitmap.width,bitmap.height);
bumpmap.perlinNoise(22,15,15,50,false,false,7,true);
var bitmapMat:BitmapMaterial=new BitmapMaterial(bitmap.bitmapData);
var shader:PhongShader=new PhongShader(luz,0xFF0000, 0x666666,0,bumpmap);
var shadeMat:ShadedMaterial=new ShadedMaterial(bitmapMat,shader);
esfera=new Sphere(shadeMat,350,32,24);
scene.addChild(esfera);
}

// rotamos la esfera en cada render

override protected function onRenderTick(event:Event=null):void{
if(esfera!=null){
     esfera.rotationY++;
     esfera.rotationX++;
}
super.onRenderTick();
}
}
}

Gijón
::: Otro post más de relleno. :::
domingo, 23/05/2010 Archivado en: paisajes
Mientras voy refinando otras secciones y ampliando algunas cosas en el blog, hoy toca otro post de los que podríamos considerar de relleno, al menos para que haya alguna nueva entrada en mayo. Y lo mejor para rellenar es otro post de fotos y paisajes, hoy uno de Gijón.

El cerro de Santa Catalina
La playa de San Lorenzo desde Cimadevilla
Elogio del Horizonte
Desde el cerro de Santa Catalina
Vista de la iglesia de San Lorenzo
Vista desde la iglesia.
El mar Cantábrico azul verdoso
Calas en Gijón
Un poco antes del Camino del Cervigón
Paisaje fractal 3D
::: Más experimentos con fractales :::
viernes, 23/04/2010 Archivado en: 3d
Últimos comentarios

  • Threshold, has caído mas bajo de lo que esperaba.(...)
    star en
    Melting
  • No te metas con la duquesa de Alba que hace tiempo que se convirtió en mi musa erótica. Con esos l(...)
    threshold en
    Melting
  • Si que es cutre po cutre cutre es que hasta la duquesa de alba es guapa al lado de esa averacion dan(...)
    carlitos en
    Melting
  • Bueno, ya detecta la versión de FlashPlayer, y si no tiene la mínima requerida te invita a descarg(...)
    threshold en
    Generador de partículas en AS3
  • Eso no te lo niego(...)
    star en
    Generador de partículas en AS3

:Tu email (*)

:Asunto

Mensaje (*):

Enviar mensaje