p5.js je nejnovější implementace JavaScriptu slavné zpracování prostředků pro tvorbu desktopu. To trvá hodně z moci a snadného použití zpracování a vloží ji do prohlížeče. Pomáhá vám kreslit v plátně, ale také se integruje s webovou stránkou, což umožňuje, aby vaše "skica" reagovat a manipulovat s DOM.
p5.js. odnáší hodně bolesti hlavy animace a vizualizace dat Na webu a dělá to super-jednoduché vstávat a běží s animací pomocí dvou jednoduchých funkcí: založit() a kreslit() .
Ale nepředpokládejte, že tato jednoduchost je omezena, protože můžete přijímat dlouhou cestu vytvořením vlastních funkcí a rozšířit ji s mnoha knihovnami vytvořenými komunitami.
Pro více nástrojů a poradenství na návrh webu naleznete v našem seznamu skvělých web hosting poskytovatelé a jisti si vybrat perfektní Webové stránky Builder. a cloudové úložiště .
Vytváření designu a animace 'systémy' znamená definování souboru pravidel, parametrů a variabilních rozsahů, do kterých můžete podávat různá data. Schopnost hrát s parametry systému a vstupními daty znamená, že můžete vytvořit neomezené výstupní varianty s konzistentností systematického přístupu.
Různá data mohou vytvářet zcela různorodé vizuální výstupy a velký zdroj rychlého pohybu, bohatě texturovaných dat je zvuk. To je přesně to, co budeme používat v naší animaci.
Je animace řízená datová vizualizace? Ano i ne. Vaše animace bude vizuální reprezentací dat stejně jako vizualizace, ale účel je odlišný od tradiční vizualizace. Vizualizace dat se používá k doručení diváka vhled do dat, takže grafika je ve službě komunikace dat.
Budeme však používat data jako kreativní semeno, abychom nám umožnili vytvářet zajímavé a texturní grafické variace, proto jsou data ve službě grafiky. Samozřejmě, jedna disciplína je propojená a křížová opyanci s ostatními, ale je dobré rozpoznat svůj vlastní záměr při použití dat.
p5.js nám dává rychlý a snadný přístup k datům, které pocházejí z analýzy zvukového souboru (jako MP3). Budeme používat p5.fft. Pro analýzu různých frekvencí (basů a výšek) v rámci zvuku, jak se přehraje a vizualizuje "energie" nebo amplitudu této frekvence.
Abychom mohli být schopni vidět "tvar" zvuku, jak to hraje, nechceme jen ukázat aktuální amplitudu zvuku, ale zachytit "buffer" datových bodů. To nám umožní ukázat pohyblivou historii hodnot.
Chcete-li zobrazit naše datové body, vytvoříme řadu soustředných oblouků ze středu na vnější okraj obrazovky. Délka oblouku představuje amplitudu dat. Pro naše data také používáme jiné vizuální kódování, jako je například hmotnost a barva linie.
Práce prostřednictvím kódu, budeme pokrývat:
Soubory pro animaci jsou hostovány OpenProcessing. , skvělá platforma pro sdílení, objevování a vidlice náčrtků jiných lidí. Je to skvělé místo pro vás kódu.
Jak budeme používat zvuková data, budete potřebovat soubor MP3 pro přetažení do skica. Na OpenProcessing zřídíme nový skica; Takhle bude váš skica vypadat, jakmile jsme načtili zvuk, dostali data a nakreslili jednoduchý tvar dat ':
A tak bude dokončená skica vypadat:
Alternativně můžete také použít p5.js online editor nebo jen obsahovat knihovnu ve svém vlastním projektu přes stahování nebo cdn .
Získejte bezplatný účet OpenProcessing a ze stránky profilu klepněte na tlačítko Vytvořit náčrtek. To pak vytvoří nejzákladnější skici obsahující dva vestavěné funkce P5.JS:
Všimnete si to Pozadí() je povolán pouze jednou v nastavení. To vymaže obrazovku, takže pokud chcete vymazat obrazovku každý snímek, zahrnout to na začátku kreslit() funkce také.
Hrát s nějakým kódem zde, pomocí několika příkladů, které najdete na stránkách p5.js .
Jít do mého Příklad startéru skica .
Stiskněte tlačítko PLAY a uvidíte nějaký text, který vás požádá o propustit soubor MP3 na plátno. Počkejte několik sekund pro dokončení nahrávání a klepnutím na plátno začněte přehrávání. Měli byste vidět elipsu, následovat myš, která je měřítka a změna barvy spolu s basovou amplitudou v hudbě, kterou jste nahráli.
Hodně z kódu je komentováno, ale podívejme se na několik klíčových prvků:
Přímo na začátku skica, před založit() , vytvořili jsme nějaké globální proměnné.
V rámci založit() Máme pár důležitých řádků:
colorMode(HSB,360,100,100);
ColorMode () Umožňuje nastavit P5.JS pro práci v různých barevných prostorách, jako je RGB a HSB, stejně jako konfigurovat měřítko, kterou používáte pro navigaci kanálů. Zde jsme nastavili HSB rozsahy na hodnoty, které můžete být více obeznámeni s photoshopem spíše než výchozí nastavení (0 až 255).
canvas.drop(gotFile);
Tato funkce Super užitečná p5.js nám umožňuje poslouchat všechny události kapky souborů na našem plátně. Když dostaneme událost pro kapku souborů, zavoláme gotefile () Chcete-li zkontrolovat, zda je to správný typ a začněte analyzovat zvuk.
soundFile = new p5.SoundFile(file.data);
Zde otočíme naše upuštěná data do A Soundfile . Když máme zvukový soubor, používáme následující kód:
Tip: Je užitečné převést data do rozsahu 0 až 1, protože jej můžete snadno použít při mapování dat do vizuálních parametrů, jako je měřítko, rychlost a barva.
Podívejme se do funkce Draw (). Tento řádek požaduje aktuální amplitudu (mezi 0 a 1) basové frekvence a přiřadí ji proměnnou mydataval. .
var myDataVal = getNewSoundDataValue(“bass”)
Zavoláme naše zvyk getdatahsbolor () Funkce, která mapuje svou datovou hodnotu odděleně na odstín, sytost a jas a vrátí nás barvu. Čím vyšší je data, tím další se barva pohybuje přes spektrum odstínu a jasnější a nasycenější barvu.
var myDataColor = getDataHSBColor(myDataVal);
Než můžeme kreslit naši elipsa, musíme mu dát velikost, vynásobením 200 (px) naší datovou hodnotou. Takže čím vyšší hodnota, tím větší je elipsa.
var myEllipseSize = 200 * myDataVal;
Pro trochu zábavy, komentovat Pozadí() zavolat kreslit() Funkce a můžete použít svůj zvuk reaktivní elipsy, aby maloval s!
Kreslení jedné datové elipsy pro jednu frekvenci je skvělá, ale nyní vytvoříme řadu datových oblouků pro oba basové a treby. Budeme také nakreslit vyrovnávací paměť předchozích hodnot, které nám pomohou lépe vidět tvar zvuku.
Návštěva Tato hotová verze skica , Spusťte jej a pak na něj vypněte MP3.
Nyní uvidíte řadu oblouků, které se vynořují ze středu obrazovky. Horizontální oblouky jsou vizualizace basů a vertikální vybírají výšek mp3.
Při pohledu na kód, uvidíte hodně z nastavení, načítání, analýzu a získání dat je stejný jako poslední skica, takže to můžeme ignorovat. Zde je docela trochu kódu, jako dříve, pojďme si vybrat několik klíčových bodů.
Namísto kreslení oblouků přímo v kreslit() Ve skutečnosti vytváříme některé vlastní třídy:
Každá definice třídy má konstruktor, ve kterém nastavujeme některé hodnoty klíčů a také procházíme parametrům, které nám umožňují změnit chování třídy. Podívejme se na ně blíže.
Jedná se o třídu, která obsahuje jednu hodnotu dat a nakreslí pár symetrických oblouků.
setvalue () a getValue () Umožní nám získat data dovnitř a ven z oblouku a zatlačte data prostřednictvím pole oblouku jako aktualizace dat. RedrawFromdata () je vyzván k přepočítávání a překreslení oblouku.
Doštění () je místo, kde nazýváme Handy p5.js funkce oblouk() . Oblouk() Je rychlejší než dělat trigonometrii sami, ale musíme to projít několik hodnot, jako je pozice, velikost a zásadní, start a konec úhel pro náš oblouk.
Tento úhel se měří spíše v "radiánech" než stupňů. Radiáni jsou jako stupňů, ale v jiném měřítku: 360 ° je stejné jako 2 x pi radiány. P5.js má užitečné vestavěné konstanty Pi. , Half_pi. a Quarter_Pi. atd.
Jedná se o třídu managementu, která vytváří řadu našeho Radialarc {} Třídy a udržuje je aktuální přesun dat dovnitř a ven z každého a volání oblouku RedrawFromdata () funkce.
Inicializovat Radialucs () Třídy pro výšek a basy se podívejte založit() . Můžete vidět, že vytváříme dva Radialucs () instancí a také procházející v našich vlastních parametrech.
Tyto parametry jsou: Počet oblouků, velikostí vnitřních a nejvzdálenějších oblouků, počáteční úhel, hmotnost maximální linie a rozsah odstínu barvy. Vytvořením těchto zakázkových tříd nám umožňuje znovu použít náš kód, ale také každý jednotlivec instancí tím, že předáváním těchto parametrů.
Jakmile jsou objekty oblouku inicializovány, každý snímek zavolá UpdateradArcs () a drawradialArcs () v hlavní p5 kreslit() Funkce, která je, jak aktualizace animace a přesune.
Zde jsme pokryli spoustu kódu, ale zásadně doufám, že uvidíte, jak užíváme data a aplikujeme na vizuální prvky, jako je velikost, poloha, délka, hmotnost, hmotnost a barvu.
Jít dál, hrát s počtem oblouků, skupin a úhlů. Změňte rozsahy barev a vytvoříte nové třídy pro kreslení různých tvarů.
V tomto příkladu jsme použili data, která je neustále tekoucí a spojená s rychlým kmitočtem, vytváří iluzi animace. Ne všechna data jsou však taková a mohou aktualizovat pomaleji. Pro pomalejší data můžete stále vytvářet hladkou animaci "Tweening" animace vašich tvarů mezi jejich současným a jejich cílovými rozměry.
Hodně štěstí s dalšími animacemi řízenými daty!
Tento článek byl původně zveřejněn v čísle 320 síť Časopis nejprodávanějšího světa pro webové designéry a vývojáře. Prodám vydání 320. tady OR. Přihlásit se zde .
Související články:
Kino 4D Návody: Rychlé odkazy Hřebík základy Jít dál Tyto Cinema 4D tutoriály vám pomohou vytvořit něk..
(Image Credit: Matt Smith) Chcete vědět, jak udělat meme ve Photoshopu? Tato příručka je zde k pomoci. Vzhledem..
Umělá inteligence (AI) nám umožňuje vytvářet nové způsoby, jak se dívat na stávající problémy, od přehodnocení en..
Strana 1 z 2: Použití perspektivní mřížky v Illustrator: Kroky 01-09 ..
Pokud jste si někdy přáli, mohli byste replikovat účinky tradičního koláž maker. ve vašem Rozlo�..
Minulý týden Adobe vydal další videa do svého užitečného učinit to nyní playlist, dávat kreativy šanci vyzvednout řadu praktických dovedností za pouhých 60 sekund nebo méně...
Dělal jsem tužka umění Od mého dětství, když bych se mnou nést tužku a papír. Zbarvení a malování js..