I opplæringsvideoen utforsker vi P3D-rendereren og lager en typografisk kule som jeg påfører en enkel sin()-bølgebevegelse. Jeg bruker Processing for å lage animasjonen min, et Java-basert program. For å begynne med, lagde jeg et 2D-rutenett med nøstede løkker. Dette 2D-rutenettet kan være ekstremt nyttig og fleksibelt, samtidig som det er ganske enkelt. Det er grunnlaget for mye av arbeidet mitt. Jeg påfører deretter bølgen på x- og y-aksen. Vi kan leke med de forskjellige verdiene og skape en bølge vi ønsker. Ved å bruke den parametriske ligningen skifter vi så fra et 2D-rutenett til en 3D-kule. Biblioteket Peasy blir også introdusert, et innebygd kamera i P3D som fritt kan beveges med musen vår. For å gjøre ting mer interessante, brukte jeg deretter tekst for å lage kula vår. Dette gir et moderne estetisk uttrykk, og jeg tenkte det ville være nyttig å se hvordan tekst fungerer i Processing.
Kildekode:
import peasy.*;
PeasyCam cam;
//GLOBE TUTORIAL
int cols = 20;
int rows = 20;
String s = "C2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HOC2HO";
String[] input = s.split("");
float inputL = input.length;
float waveSize = 60;
float t;
float speed = 0.05;
float phi, theta;
float globeRadius = 400;
float txtSize;
PFont font;
void setup() {
size(900,900,P3D);
font = createFont("AktivGrotesk-Regular.ttf",txtSize);
cam = new PeasyCam(this, 1000);
frameRate(60);
fill(255);
noStroke();
phi = 2*PI/rows;
theta = PI/rows;
}
void draw() {
background(0);
for (int j = 0; j < cols; j++) {
for (int i = 0; i < inputL; i++) {
float thisRadius = globeRadius * sin(j*theta);
txtSize = (2*PI*thisRadius/(inputL*1.5));
//wave
float w = cos(i*0.5+j*0.5+t)*waveSize;
float globeWave = globeRadius+w;
float x = globeWave*sin(j*theta)*cos(i*phi);
float y = globeWave*sin(j*theta)*sin(i*phi);
float z = globeWave*cos(j*theta);
pushMatrix();
translate(x,y,z);
rotateX(radians(w));
textFont(font,0.1+txtSize);
text(input[i],0,0,0);
popMatrix();
}
}
t+= speed;
}
Forfatterens Instagram: https://www.instagram.com/andreiongd
© Andreion De Castro 2024, Noen Rettigheter Forbeholdt
Det hvor annet ikke er nevnt, er dette arbeidet lisensiert under https://creativecommons.org/licenses/by/4.0/