GithubHelp home page GithubHelp logo

torrinworx / blend_my_nfts Goto Github PK

View Code? Open in Web Editor NEW
1.0K 46.0 337.0 22.5 MB

Easily generate thousands of 3D models, images, and animation automatically in Blender for free with Blend_My_NFTs.

License: GNU General Public License v3.0

Python 100.00%
blender nft python blender-addon blender-scripts blenderpython blender-plugin cardano ethereum cnft

blend_my_nfts's Introduction

blend_my_nfts's People

Contributors

abraradnan avatar batmanscode avatar defektu avatar glassbrickstudio avatar junoburger avatar kimnagui avatar knockturnal avatar matt-159 avatar philipdenys avatar talha345 avatar torrinworx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blend_my_nfts's Issues

Cardano MetaData

Hello Dear Developers!
I appreciate your hard-work and its a great help!

I am facing the issue in metadata output that there is rarity number and item number in hierarchy which should not be there so kindly make it easy and remove that numbers. see attachments for reference

Current Issue
image

Need Correction like following:
image

if that happens then I can easily upload my metadata on NFT Maker Pro. thanks in advance

Enable rarity for external 3d Models

Hi,
I already wrote a script that mostly covers this. The folder structure just has to be exactly the same as you already laid out in the readme.
You just postfix the rarity to filenames of the external 3d models to enable rarity.

After that setup, just import those files into a scene while keeping to the .blend scene collection structure reuqired for the main script. (The scene collection structure is mirrored by the folder structure for the external 3d models anyway).

After that you can simply run your main script and use it normally.

My importer script is extremely messy as I have never worked with the blender API and not well integrated into you scripts. So currently you have to load the importer script and run it before loading the main.py script.

I dont have much time to rewrite this currently. Just let me know if youd rather implement this yourself or if you're ok with waiting a few weeks for me to commit the cleaned up, more integrated importer.

cheers.

Garuntee Logic rules are followed

From Random Noise#2267 in the Discord:

ok, after one week of testing with your script, I have finally found what is the problem with the logic part.
apparently, your logic script is checking one rule at a time, so when there is more than one rule, the next rule can overwrite the previous one.
This is why only the last rule is always correct.
Basically, you have to rewrite the logic part, so that the script is checking that all of the rules are fulfilled, and not just one by one.
(expand the loop, so that it is running until all of the rules are checked)

Screen Shot 2022-03-22 at 11 02 50 AM

Screen Shot 2022-03-22 at 11 03 06 AM

error on running script on Blender

Hi, I'm having the following error while running main.py the first time (generating json file): Python script failed, check the message in the system console

I can say the the line throwing the error is #35: Batch_Sorter.makeBatches(), but I can't understand more, as the console output is not helping

environment:

  • osx Big Sur
  • Blender v2.93.6
  • using the example file in project root directory

"Generate NFTs" Button is Missing on UI

image
The "Generate NFTs" button is missing on the user interface.
I have verified that I am using the most recent version of BMNFTs and have tried Blender 3.1.2 as well as Blender 3.0.0
Note that Version 2.0.0 of BMNFTs DOES show the button for this particular .blend file.

Also If I start a new .blend file, the "Generate NFTs" button DOES show.

Arch linux error

hey, i'm a little newbie with blender, i am trying to install the v2 like in tutorial, when i try to active addon i get this error,
i am using arch linux
could someone point me what should i do, thanks
image
image

Suggested Multiple Computer Configuration for Batch Rendering

Hey Torrin & Crew,

This isn't as much of an issue as much as it is asking for a recommendation for how to get multiple computers going at a time (e.g. computer 1 rending batch 1 and computer 2 rendering batch 2, etc.).

There are options for both "Virtual Drive" and "Mirror Drive" for google drive...
image
Could you foresee potential issues with using a Virtual Drive system where the documents needing to be uploaded prior to accessing? For instance if a batch was prematurely ended and part of a file changed such that the renderer would know where to pick up the render again, this would have to be uploaded prior to reopening the .blend file?

Would you recommend a "Mirror Drive" system instead?

What have you used in the past? Box? Google Drive? DropBox? OneDrive?

Thank you,

Blender Hairs render

To renderout the blender hair particles in renderfarm we need to implement feature in which all the 3d models are instanced straight inside the new blenderfile and each frame represents each NFT model so that it is easy to renderout the entire collection

Add the ability to start batch from failure

Before every render in the Exporter.py, a log.json file is opened and the current NFT and it's generation number and media file type is recorded.

At the top of the log.json there should be a record of what type of media was being generated: 3D models, images, animations, and the file types that the user chose for those media. (This will be used to help users remember what they set in Blender before the crash)

Some kind of dictionary is set so that a bool determines if a render/generation was completed in the log.json file. Log.json is created after the Export NFTs operator (button) is pressed.

Logs folder is created within NFT_Data folder in Blend_My_NFTs Output. Each Log.json file name will be dated with the exact date and time it was created.

START FROM FAILED STATE Operator (Button) in the Export NFT panel that appears if log fail state detected. - Possible?

Low maxNFTs and combo count missing

Create a way to generate every possible combination of NFTs if the maxNFTs and maximum number of combinations is below 500-1000.

If maxNFTs == maxCombinations:
Generate all combinations of NFT

The current method of doing this can't reliable generate all possible combinations and occasionally skips one or two, when the above variables are closer to zero. I believe this was the old method for generating NFT DNA, so check the old commits before the rarity patch to see if we can implement that old code in an if statement in the DNA_Generator.py.

Rename and Refactor Partial Collection

Hey Torrin!

Is there any way that a not-fully-rendered-collection could be renamed/refactored with the metadata in order to have a sequenced release of an NFT collection? Example would be renaming/refactoring per batch.

I ask because in the case of video NFTs, render time is LONG (potentially hundreds of times longer duration) and breaking down the finalization of a chunk of the collection could prove very useful.

Forgive my ignorance if this has already been implemented, but according to the documentation, It seems that an entire collection must be rendered prior to renaming/refactoring.

Thank you for all of your hard work.

DNA created with Logic isn't guaranteed to be unique.

Create new method for creating DNA:

DNASet = set()

def create_single_DNA(something):
     create DNA with random
     create DNA with Rarity
     create DNA with Logic

some loop: 
    DNAList = create_single_DNA(something)
    DNASet |= {''.join([dnaPushToList()]) for _ in range(maxNFTs - len(DNASet))}

DNAList = list(DNASet)

Couple of potential bugs - Object render disabled and Text objects with numbers

I'm using Blender 3.0.1 and the latest release of BMNFTs (downloaded 22/02/22)

In 'Create NFT Data', when I hit 'Create Data', it works as intended, however it disables render on random objects. I say random, because if I run the process twice, different objects get disabled. If I go ahead and click the 'generate nfts' button, those layers won't render. It's not a show stopper, I just turn render on again for those objects that have been disabled before generating the NFT's.

Second issue I've encountered, which is a bit odd. If I have text objects in my scene with numbers (not in the object title, in the actual scene), it won't render that object. In my case these text objects have numbers, a minus symbol and full stops. If I convert the text object to a mesh, problem solved.

Hope that helps squish a couple of buggies. Thanks for the epic addon!!!

Ensure time is accurate despite a batch failure

batch_complete_time = time.time() - time_start_1

The time it takes to generate a batch should be accurate even in the event of a batch failure. I don't currently know how it would be handled in the event of a failure. More testing needs to be done, as I don't think it takes it into account. Just open batch_info.json and add the time if a batch failure is detected somehow I guess with one of the failure variables passed to the Exporter.py file from the resumeFailedBatch Operator.

Integrate with Google Colab

Please consider integrating your project with Google Colab which currently supports max render time of 12 hours and idle time out at 90 minutes.

For inspiration, check out Micro Singularity's Github repo and YouTube video showing how to use the repo.

Keep up the great work at This Cozy Studio!

Logic Bug

There is a recurring bug with the "never with" function of the logic implementation. When used, there are certain instances of "blanks" where if 2 objects are ruled out form one another, neither of them would appear. As an example, with the test blender file, In the case of not wanting the sphere with the square, there was instances where there was neither (only the cone and torus appeared).
examplebug

(screenshot taken directly from BMNFT 3.0 tutorial video at 13:33)

Material Randomizer selection is not sent to Metadata.py

Materials selected for each NFT DNA are not sent to the metadata in the Refactororer.py. I think a format like this would be good:

"trait_type": Material for <Variant selected with Materials>, "value": <Material Name selected>

^^ Don't forget to do it for ERC721, CIP, and Solana.

Usage in 2.83 or 2.79 on MacOS

I am using blender version 2.79, and cannot upgrade it due to my OS. Whenever I try running it, it gives me an error. Here is a screenshot (It would not let me copy and paste)
Screen Shot 2022-03-23 at 7 29 24 PM
Is there a patch I can apply to the code to make it work for my version? (I don't use python or bpy)

List Index Out Of Range

I did everything in your instructions and this notice pops up. I started eliminating Each collection from the bottom up to find the corrupt file. After I deleted Left Hand Held Stuff with 99 items in it. I was able to make NFT's. I then quit w/o saving, restarted, and eliminated only that collection and was able to make NFT's. Something in that collection is causing this notice I believe. Then I started eliminating each item in the collection one at a time to find the corrupted file. I got all the way to up to zero contents and I still got this message. I then eliminated the collection file and still got this notice. Weird. What could be causing this?
Issue With Converting to NFT
?

octane

Works perfectly with eevee and cycles, but crashes when using octane as render engine. Any way to solve this?

ERC 1155

Forgive my ignorance. How compatible is the ERC-721 contract with ERC-1155 when using the rebatching feature?
As in, would you recommend rebatching with ERC-721 and then somehow manipulating the metadata towards ERC-1155?

Add ERC1155 Polygon json data support.

Don't have any sources or information to base the format off of as it's kind of elusive. Maybe look at the Haships YouTube channel as he recently did a thing on Polygon.

Unable to install addon in blender 3.0 stable

Upon enabling the addon, I encounter this error

Traceback (most recent call last):
File "I:\Blender Versions\stable\blender-3.0.0+stable.f1cca3055776\3.0\scripts\modules\addon_utils.py", line 351, in enable
mod = import(module_name)
ModuleNotFoundError: No module named 'Blend_My_NFTs-2'

set image url in metadata

hi
i try to refactor and export metadata but in .json files the "image" section is empty
i try to change the metadata.py file and its work to input for example ++<.png> to set "image" in metadatas

please add a baseUrl in this generator to set image url automatically

Thanks

Remove Watermark

What are the steps to remove the "The Cozy Place" watermark from output images in the Cozy Place Example file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.