All Projects β†’ tashian β†’ multiverse

tashian / multiverse

Licence: MIT license
Adobe Photoshop scripts for making generative art

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to multiverse

photoshop-react-redux-ramda
πŸŽ¨πŸ˜±πŸ’€βš›οΈ
Stars: ✭ 24 (+14.29%)
Mutual labels:  photoshop, extendscript
ExtendScript
πŸ† Getting started with ExtendScript ✨ by Jeff Davis
Stars: ✭ 23 (+9.52%)
Mutual labels:  photoshop, extendscript
ovid-editor
Adobe panel providing the most advanced scripting environment possible -- Typescript, app DOM autocomplete, full I/O features and more
Stars: ✭ 43 (+104.76%)
Mutual labels:  photoshop, extendscript
NFT Art Generator
No description or website provided.
Stars: ✭ 58 (+176.19%)
Mutual labels:  photoshop, digital-art
Photoshop-Scripts
A collection of Photoshop scripts.
Stars: ✭ 53 (+152.38%)
Mutual labels:  photoshop, extendscript
A-Distant-Path
3D multiplayer puzzle game made for Ubisoft's Game Lab Competition
Stars: ✭ 18 (-14.29%)
Mutual labels:  art
srcset.sh
A command line script that generates multiple responsive versions of an image at width breakpoints -- 320,480,640,768,960,1024,1280,1440 pixels wide -- that match common Mobile and widescreen desktop/laptop viewports using Imagemagick's convert utility and outputs the needed <img/> tag
Stars: ✭ 20 (-4.76%)
Mutual labels:  photoshop
angular-autodraw
An Angular app integrating Google's AutoDraw AI API through Canvas
Stars: ✭ 28 (+33.33%)
Mutual labels:  art
Acid.Cam.v2.OSX
Acid Cam v2 for macOS distorts video to create art.
Stars: ✭ 91 (+333.33%)
Mutual labels:  art
elm-generative
Making generative art in Elm
Stars: ✭ 23 (+9.52%)
Mutual labels:  art
YuzuMarker
πŸ‹ [WIP] Manga Translation Tool
Stars: ✭ 76 (+261.9%)
Mutual labels:  photoshop
procedural-art
🌌 Procedural art with vanilla JavaScript
Stars: ✭ 83 (+295.24%)
Mutual labels:  art
DrawBot
Repository for DrawBot. The Discord Art bot!
Stars: ✭ 11 (-47.62%)
Mutual labels:  art
recoded
Re-coded by the School for Poetic Computationβ€”crowdsourced recreations of early digital works using new tools
Stars: ✭ 57 (+171.43%)
Mutual labels:  digital-art
image-optimisation-tools-comparison
A Benchmarking Suite for popular Image Optimisation Tools
Stars: ✭ 28 (+33.33%)
Mutual labels:  photoshop
react-native-sparkline
An ART-based sparkline component for react-native
Stars: ✭ 16 (-23.81%)
Mutual labels:  art
macuahuitl
The "Macuahuitl" Generative Art Toolbox
Stars: ✭ 68 (+223.81%)
Mutual labels:  art
DuAEF
Duduf After Effects Framework
Stars: ✭ 20 (-4.76%)
Mutual labels:  extendscript
Pix
🎨 Pix is an online pixel art community where everyone can unleash their creativity on a 16x16 canvas, built with React-Native for iOS devices. πŸš€
Stars: ✭ 86 (+309.52%)
Mutual labels:  art
reference
An online tool to help you sketch human figures.
Stars: ✭ 69 (+228.57%)
Mutual labels:  art

multiverse: Generative art with Adobe Photoshop

Multiverse is a collection of Adobe Photoshop scripts for making generative art, created by Carl Tashian and Petra Cortright for the 2018 edition of Rhizome's Seven on Seven event at the New Museum in NYC.

Usage

If you just want to use this project in Photoshop, simply download the contents of this repository. Then copy all the *.jsx files from the build directory into Photoshop's Scripts folder (under Presets) and restart Photoshop. The scripts will appear in Photoshop's File β†’ Scripts menu

The scripts that run forever can be cancelled by hitting Esc.

Here's a brief description of the individual scripts:

multiverse

This is a script that runs forever, and it combines a lot of the functionality of the other scripts listed here, to create a generative art piece.

Requirements

You will need three layer groups (sets) in your document, with the following names:

remix β€” the top layers in the document. These will be shown/hidden quite frequently.

midfield β€” middle layers (possibly with alpha) that we don't want to have floating to the top because they're too imposing

background β€” these layers should cover the entire canvas and, importantly, these layers have no alpha. They could be mixed together, hidden or shown at various opacities around 100%. Be sure they're not marked as background layers.

Locked and background layers will not be touched. The script will never move layers between layer sets, only to the top of the set they're in.

How it works

It starts by fading 80% of the remix and midfield layers.

Then, it alternates between two modes: regular mode and scene change mode.

In regular mode, we shuffle around the remix and midfield layers and adjust their opacity. Remix layers pop up on top or fade in. Midfield layers only fade in and out.

Scene change mode is a special mode that happens every 5-10 minutes.

In scene change mode, we fade out and hide most of the remix and midfield layers. Then we bring the lowest background layer to the top of the background layer set and fade it in.

Once that's done, we go back to regular mode and start building up the top of the canvas again.

Adjusting the settings

There's a lot you can change in the script that will affect its behavior. (see Development, below)

Some things that will affect the experience the most:

  • how often remix layers pop to the surface vs. fade in
  • the final opacity of each layer when it fades in
  • how many layers we attempt to operate on at a time (more layers in play -> script is slower, fewer -> script is faster)
  • how many steps of opacity to move through while fading in or out

It's important to note that the slowest operations are refreshing the canvas (calling refresh(), which happens after every tick), and adjusting the opacity of a layer. So, you can play with how many simultaneous changes you make between refreshes to achieve your desired pace. You can also manually insert calls to $.sleep() if you want to slow the pace.

assign_layer_names

This script prompts you to choose any text file and will assign the names of layers in the active document randomly, using lines from the file.

This is useful if you use a lot of layers and want names that are less generic than "Layer 23."

As an example, we've included a list of rose variatals in roses.txt.

random_layer_visibility

Go through the active document and randomly turn on and off layers.

random_opacity

Randomly set opacity for all layers in the active document.

random_opacity_and_visibility

A combination of the above two scripts!

random_motion_blur

Randomly apply some motion blur to all layers.

shuffle_unlocked_layers

Like Spotify for a Photoshop document, this shuffles all unlocked layers in the active document. This will not move layers outside of layer sets, but will shuffle layers within them.

Development

You will need:

Install the dependencies:

npm install

Build the scripts:

npm run build

Lint the scripts:

npm run lint

Thank you

Thank you to Rhizome for supporting the creation of this project, and for being a champion of digital art and culture.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].