jalagar / animated-art-engine

A generative engine that takes various png layers on a sprite sheet format, combines them and then converts them into a .gif file
MIT License
167 stars 62 forks source link

Fixing layers resolution #22

Closed wawi3 closed 2 years ago

wawi3 commented 2 years ago

how can I fix the config on the code to match the layers so that i can generate a whole lot collection

this is the output of the layers.

4 3

jalagar commented 2 years ago

@eth-eth-eth can you upload each layer separately for me to test?

wawi3 commented 2 years ago

BG001 BG002 CAR001 CAR002

here is the layers you can test.

jalagar commented 2 years ago

Are these the layers you're putting into the layers folder directly? They shouldn't be spritesheets, they should be the individual frames themselves.

However if you want to just use these as spritesheets you can just skip step1, and upload these into step1_layers_to_spritesheet/output and then run make step2 and make step3. I just tried it here is what my folder looks like:

Screen Shot 2022-04-13 at 5 53 39 PM

Here is my global_config.json

{
  "totalSupply": 4,
  "height": 250,
  "width": 250,
  "debug": false,
  "framesPerSecond": 6,
  "numberOfFrames": 6,
  "saveIndividualFrames": false,
  "description": "Your description here",
  "baseUri": "ipfs://NewUriToReplace",
  "startIndex": 0,
  "quality": 100,
  "layersFolder": "layers"
}

and the layerConfigurations like this:

/* ONLY VARIABLE THAT YOU NEED TO EDIT IS HERE */
let layerConfigurations = [
  {
    growEditionSizeTo: totalSupply,
    namePrefix: "", // Use to add a name to Metadata `name:`
    layersOrder: [
      { name: "Background" },
      { name: "Car" },
    ],
  },
]

0 1 2 3

And it all worked!

wawi3 commented 2 years ago

it worked with you! Thank you for the solution! I have couple of questions.

  1. should i change the (layers) folder to step1_layers_to_spritesheet/output
  2. i can find the global_config.json. should i add the file manually?
jalagar commented 2 years ago
  1. Nope keep it as layers, you'll need to put the files into step1_layers_to_spritesheet/output to match my file configuration format, and then run only make step2 && make step3
  2. It definitely should exist, see it here https://github.com/jalagar/Generative_Gif_Engine/blob/main/global_config.json. You might want to try re-clone the repo and run make first_time_setup again.
jalagar commented 2 years ago

Hi @eth-eth-eth I have made it so you can pass in gifs as layers so instead of doing the hacky workaround, you can just pass the gifs into the layers. See layers_gif_example for an example. This should work for you! I am going to close this feel free to reply if you have any issues.

wawi3 commented 2 years ago

hey jalagar. Thank you for all your tips, however, while I follow your instructions, I am still getting errors when I make step 2 and 3. i did use the make step 2 but make is not recognized and then tried manually using cd command but i keep getting module not found. is there any solution? Thanks!

jalagar commented 2 years ago

What operating system are you using? But yea good idea you don't need make command you can just copy and paste the commands separately.

Can you copy and paste the error with the module not found? You can try cd step2_spritesheet_to_generative_sheet; npm i and see if that helps. I will need some more information for what is happening in step2

wawi3 commented 2 years ago

im using windows 10 right now. I have attached some error I got. thats the cd step2_spritesheet_to_generative_sheet; npm i error error 2 cd ./step2_spritesheet_to_generative_sheet; npm run generate error layers placed in step 2 layer folder layer folder thats step3 with python python step 3

wawi3 commented 2 years ago

UPDATE: I get png files of the layers ater executing step 3, see the image I attached. step 3 updat

jalagar commented 2 years ago

That's great! What is in build/gifs? Those should be the final gifs

wawi3 commented 2 years ago

thats when i run the step 3, no gifs, only png files as shown in the picture error gifsky

thats when i try to install gifsky. choco install gifsky

jalagar commented 2 years ago

I believe its spelled gifski not gifsky can you try that

jalagar commented 2 years ago

choco install gifski

jalagar commented 2 years ago

then try make step3 again

wawi3 commented 2 years ago

choco install gifski

same error

jalagar commented 2 years ago

Try sudo choco install gifski

wawi3 commented 2 years ago

choco install gifski sudo error

is it an issue on my side?

jalagar commented 2 years ago

Oh sorry sudo is only for Macs. So for some reason its a permissioning issue. Try this https://stackoverflow.com/questions/55600258/fix-chocolatey-access-is-denied

wawi3 commented 2 years ago

omg it finally worked! solution was to run visual studio as admin..... thank you very much jalagar!!!

I do have couple of follow up questions.

  1. how can I create a minting website for my collection with these, what i mean like what is the major files i need to have in order to create a minting files either for me or a developer?

  2. is generating the nft the collection is enough or i need to include strong details such as description, etc.. ?

jalagar commented 2 years ago

Great glad it worked!

  1. That's out of my wheelhouse, there are many videos on Youtube that might help (hashlips has created a few). There's also some out of the box solutions too. Sorry can't help much here!
  2. You will need to add a description in global_config.json and also add the ipfs URL as well
wawi3 commented 2 years ago

hey jalagar, how can i generate nfts with different bases? let layerConfigurations = [ { growEditionSizeTo: 200, namePrefix: "", // Use to add a name to Metadata name: layersOrder: [ { name: "Background" }, { name: "Car" }, { name: "Lambo Paint", }, { name: "Lambo Wheels" }, ], },{ growEditionSizeTo: 400, namePrefix: "", // Use to add a name to Metadata name: layersOrder: [ { name: "Background" }, { name: "Motor" },

  { name: "Motor Wheels" },
],

}, ] its not working.

jalagar commented 2 years ago

So just to confirm you want the first 200 to have lambo paint/wheel and the next 400 to have motor + motor wheels? I believe you'll have to do something like layers_grouping where you group the layers into two groups and then update the config similar to layerConfigurationsGrouping

wawi3 commented 2 years ago

hey bro, now that i made my layers and collection ready. whats the process of making it mintable?

jalagar commented 2 years ago

Hey that's out of my wheelhouse but I'd check this video by Hashlips https://www.youtube.com/watch?v=SD1DTrlJeKM. Its a pretty complicated process but once you've done it once you'll know how to do it. It requires Solidity, smart contracts, creating a mint website etc...

OR you could just manually upload each one of these into OpenSea directly but you won't be able to have other people mint it and reveal it.

wawi3 commented 2 years ago

Hey bro! :) I have a question regarding your code this time. how to change the 0 json default wallet address. check image for reference. c8242c9acfdeb16cd50fb65ff5de1a41

would take long time to change thousands of nfts manually. waiting for your reply! Thanks!

jalagar commented 2 years ago

Hi @eth-eth-eth it looks like you're not using my tool to generate this, but you can probably find the creators in SolanaConfig.js (or just ctrl-f the wallet address)

wawi3 commented 2 years ago

in relation to the previous questions, the answer was in configSolana.json, where you change the wallet and address for the json files.

jalagar commented 2 years ago

Great :)