Skip to content

A miscellaneous collection of Blender Python function and class utilities to speed up add-on development

Notifications You must be signed in to change notification settings

oRazeD/EthansBPYUtils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

EthansBPYUtils

EthansBPYUtils is an incredibly loose collection of refined BPY-based functions and classes that perform; in most cases, frequently used operations. Some files such as materials.py are scraped directly from other add-ons and as such aren't currently usable in any capacity and only exist as an inlet for future ideas. This library will mainly be updated as I develop my other existing add-ons serving as a functionality bridge between them. EthansBPYUtils also comes with some example scripts that I've scraped from around online. You are welcome to use any of the code in this repo however you so wish under GPL licensing.

How to Use

EthansBPYUtils is not loaded with PIP or anything like that, but you can either add this library as a Git Submodule to your own repo or just manually download the files. If using the Git Submodule method, simply update the pointers to recieve updates from this repo as they are committed.

My Development Setup

My IDE (coding software) of choice is Visual Studio Code with the Blender Development extension installed for efficiently testing changed code. I also use fake_bpy_module for proper syntax highlighting. I personally recommend leaving the built-in Blender Text Editor ASAP as it very quickly becomes cumbersome to use, although I will also recognize its helpfulness demoing a handful lines of code from time to time. Some resources I recommend for learning how to code within the API are listed in the Extra Development Tips section.

Extra Development Tips

  • If you already know Python but aren't familiar with BPY specifically, I always recommend Dr Sybrens official Blender Studio Scripting for Artists tutorial series on developing add-ons. He offers clear and concise guidance on learning the API all the while being an extremely veteran coder giving useful code design advice along the way. You can also watch this talk for a more advanced but conference-like learning experience.
  • Basic Add-on Tutorial Your first blender add-on on the official Blender Docs. Personally speaking, the faster you get into single file add-ons over just text editor scripts the better.
  • If you're looking into Building Blender from source code I can't recommend this SVN repo enough for streamlining the process of getting your library files. This is specifically useful if you are working on any branch other than master (I.E. final releases). My experience getting things like CUDA and OPTIX working with builds was better with Ubuntu Linux, but Windows is also fully capable with a bit of extra work.
  • I do NOT recommend using tertiary user-made modules such as EasyBPY if you intend on ever making code longer than ~20 lines. It can be a useful tool for non-coders but Python is an incredibly user-readable language and I believe simplifying it further doesn't do it a service in the spirit of learning new; transferrable skills.

Random Development Resources

As far as utilities not specifically included in this repository, I will update this README to include any resources I find that I'd like share or explore myself in the future:

Add-ons I frequently use

While not entirely relevant to the purpose of this repository, I realized I have no location online where I share my favorite stuff. These add-ons are geared towards your average game artists toolkit being focused mostly on modeling, unwrapping, file handling, and rendering. I'll attempt to keep this list optimized and minimal as my workflow evolves. I will prioritize using only GitHub links and will substitute the paid only tools with Gumroad/Blender Market links where applicable:

Generic

Generic Modeling

Mesh Manipulation

UV Unwrapping

Rendering

I/O

Cloud-based User Preferences

  • Blender Cloud - Built-in!
  • Blender ID Auth - Built-in!

Blender Development

  • Icon Viewer - Built-in!
  • Math Vis (Console) - Built-in!

About

A miscellaneous collection of Blender Python function and class utilities to speed up add-on development

Resources

Stars

Watchers

Forks

Languages