Anzeige

Animierte Schneeflocken

Animierte Schneeflocken | PSD-Tutorials.de

Erstellt von LaForge93, 24.09.2008.

  1. LaForge93

    LaForge93 Guest

    Animierte Schneeflocken
    Hallo Zusammen,

    Ich bin noch recht neu auf diesem Gebiet und habe nach einigem vergeblichen Googlen kein vernünftiges Tutorial zum Thema Schneeflocken gefunden.

    Was ich gerne machen würde ist folgendes:
    Schneeflocken die Vom Himmel fallen, das aber nicht kerzengerade tun sondern wie in einem Zeichentrickfilm leichte Schlangellinien machen.

    Wie kann ich dies bewerkstelligen? Ich dachte nämlich zunächst an Partikel aber dort war ich nach kurzer Zeit ziemlich verloren......

    Würde mich sehr freuen wenn mir jemand hilft. :)

    Viele Grüße und Danke schonmal im Vorraus,

    LaForge93
     
    #1      
  2. tiroler

    tiroler Hat es drauf

    14
    Dabei seit:
    04.11.2006
    Beiträge:
    2.202
    Geschlecht:
    männlich
    Ort:
    Pfalz und Tirol
    Software:
    CS4, C4D R10
    Kameratyp:
    Canon EOS 400D+L-Obj.
    Animierte Schneeflocken
    AW: Animierte Schneeflocken

    hier das script:
    HTML:
    1. <script language="JavaScript1.2">
    2. <!--
    3.  
    4. var snowsrc="gfxu/snow.gif"
    5. var no = 10;
    6. var ns4up = (document.layers) ? 1 : 0;  
    7. var ie4up = (document.all) ? 1 : 0;
    8. var dx, xp, yp;    
    9. var am, stx, sty;
    10. var i, doc_width = 1024, doc_height = 768;
    11. if (ns4up) {
    12.    doc_width = self.innerWidth;
    13.    doc_height = self.innerHeight;
    14.  } else if (ie4up) {
    15.    doc_width = document.body.clientWidth;
    16.    doc_height = document.body.clientHeight;
    17.  }
    18.  
    19.  dx = new Array();
    20.  xp = new Array();
    21.  yp = new Array();
    22.  am = new Array();
    23.  stx = new Array();
    24.  sty = new Array();
    25.  
    26.  for (i = 0; i < no; ++ i) {  
    27.    dx[i] = 0;                        
    28.    xp[i] = Math.random()*(doc_width-50);  
    29.    yp[i] = Math.random()*doc_height;
    30.    am[i] = Math.random()*20;        
    31.    stx[i] = 0.02 + Math.random()/10;
    32.    sty[i] = 0.7 + Math.random();    
    33.    if (ns4up) {                      
    34.      if (i == 0) {
    35.        document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><a href=\"http://www.jswelt.de/\"><img src='"+snowsrc+"' border=\"0\"></a></layer>");
    36.      } else {
    37.        document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src='"+snowsrc+"' border=\"0\"></layer>");
    38.      }
    39.    } else if (ie4up) {
    40.      if (i == 0) {
    41.        document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><a href=\"http://java.topcool.de\"><img src='"+snowsrc+"' border=\"0\"></a></div>");
    42.      } else {
    43.        document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src='"+snowsrc+"' border=\"0\"></div>");
    44.      }
    45.    }
    46.  }
    47.   function snowNS() {  
    48.    for (i = 0; i < no; ++ i) {  
    49.      yp[i] += sty[i];
    50.      if (yp[i] > doc_height-50) {
    51.        xp[i] = Math.random()*(doc_width-am[i]-30);
    52.        yp[i] = 0;
    53.        stx[i] = 0.02 + Math.random()/10;
    54.        sty[i] = 0.7 + Math.random();
    55.        doc_width = self.innerWidth;
    56.        doc_height = self.innerHeight;
    57.      }
    58.      dx[i] += stx[i];
    59.      document.layers["dot"+i].top = yp[i];
    60.      document.layers["dot"+i].left = xp[i] + am[i]*Math.sin(dx[i]);
    61.    }
    62.    setTimeout("snowNS()", 10);
    63.  }
    64.  function snowIE() {  
    65.    for (i = 0; i < no; ++ i) {  
    66.      yp[i] += sty[i];
    67.      if (yp[i] > doc_height-50) {
    68.        xp[i] = Math.random()*(doc_width-am[i]-30);
    69.        yp[i] = 0;
    70.        stx[i] = 0.02 + Math.random()/10;
    71.        sty[i] = 0.7 + Math.random();
    72.        doc_width = document.body.clientWidth;
    73.        doc_height = document.body.clientHeight;
    74.      }
    75.      dx[i] += stx[i];
    76.      document.all["dot"+i].style.pixelTop = yp[i];
    77.      document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]);
    78.    }
    79.    setTimeout("snowIE()", 10);
    80.  }
    81.  
    82.  if (ns4up) {
    83.    snowNS();
    84.  } else if (ie4up) {
    85.    snowIE();
    86.  }
    87. // -->
    und hier die dazugehörige Seite:
    JavaScripts // Animationen // Schneeflocken bei jswelt.de - die java scripte-sammlung in deutsch - alles kostenlos!
     
    Zuletzt von einem Moderator bearbeitet: 24.09.2008
    #2      
  3. LaForge93

    LaForge93 Guest

    Animierte Schneeflocken
    AW: Animierte Schneeflocken

    Danke für die mühe.
    Ich brauche das ganze aber für Blender (=>in 3D....)
    Grüße
     
    #3      
  4. Repenning

    Repenning Blender-User

    2
    Dabei seit:
    23.02.2008
    Beiträge:
    1.276
    Geschlecht:
    männlich
    Ort:
    Radebeul
    Software:
    Blender, Gimp
    Kameratyp:
    Canon EOS 600D
    Animierte Schneeflocken
    AW: Animierte Schneeflocken

    @ tiroler

    die Idee war gut, aber leider hat Blender keine Java-Unterstützung, sondern beschränkt sich auf Python^^

    Ich würds aber trotzdem mit Partikeln versuchen,
    immerhin ist die Hin- und Her-Bewegung auf Luftbewegungen zurück zuführen.
    Als Animation kann man da für die Schneeflocken eine leichte Z-Gravitation einfügen (langsames Absinken) und eine wechselnde X- und Y- Gravitation für die Seitwärtsbewegung.
     
    #4      
  5. capcoyote

    capcoyote Guest

    Animierte Schneeflocken
    AW: Animierte Schneeflocken

    2 Mesh Objekte einfügen UVSphere
    Ein großen und ein ganz kleinen.
    Der Große vor die Kamera und der kleine seitlich.
    Mit OB: den kleinen renamen als flocke.
    Den großen mit Particle Funktion einstellen.

    BASIC:

    Amount = 5000
    Sta = 1.0
    End = 250.0
    Life = 120.0
    Random & Even aktivieren

    PHISIC:

    Normal = 2.700
    Random = 0.116
    Rotation = 0.040

    AccZ = -0.40

    VISUALIZATION:

    Object dann auf OB: flocke eingeben.

    Jetzt kannst du noch ein Empty Object einfügen und es als Wind oder Magnet declarieren und die Kraft einstellen.

    Dann ALT & A und schon siehst du eine Physic Animation die mit ein wenig Feineinstellung und probierphasen wie Schneeflocken aussieht.

    Viel Spass.
     
    #5      
x
×
×
teststefan