Difference between revisions of "Start coding for Blender"
(Add bpy stubs) |
(→python) |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | Blender core is coded in C. Some part like Cycles are coded in C++. Python is widely used for extending Blender functionalities with scripts and addons. | + | {{Template:Start coding}} |
+ | |||
+ | [[Blender]] core is coded in C. Some part like Cycles are coded in C++. Python is widely used for extending Blender functionalities with scripts and addons. | ||
(For BlenderBIM Addon specific code see [[BlenderBIM Add-on code examples]]) | (For BlenderBIM Addon specific code see [[BlenderBIM Add-on code examples]]) | ||
Line 13: | Line 15: | ||
<youtube>https://youtu.be/XqX5wh4YeRw</youtube> | <youtube>https://youtu.be/XqX5wh4YeRw</youtube> | ||
+ | |||
+ | |||
+ | Useful resource on creating custom UI with Python in Blender: | ||
+ | |||
+ | https://blender.stackexchange.com/questions/57306/how-to-create-a-custom-ui | ||
+ | |||
+ | |||
+ | The Scripting for Artists tutorial series by Sybren Stuvel is another useful resource for learning to script with Python in Blender: | ||
+ | |||
+ | [https://www.youtube.com/watch?v=opZy2OJp8co&list=PLa1F2ddGya_8acrgoQr1fTeIuQtkSd6BW Scripting for Artists] | ||
+ | |||
+ | |||
+ | Ditto the series by Darkfall: | ||
+ | |||
+ | [https://www.youtube.com/watch?v=cyt0O7saU4Q&list=PLFtLHTf5bnym_wk4DcYIMq1DkjqB7kDb- Tutorial Series by Darkfall] | ||
+ | |||
To learn more checkout the [https://docs.blender.org/api/current/index.html Blender Python API documentation] especially Quickstart part. | To learn more checkout the [https://docs.blender.org/api/current/index.html Blender Python API documentation] especially Quickstart part. | ||
+ | |||
+ | ==Creating custom add-ons== | ||
+ | Creating a custom add-on is no magic. If you need help getting started, the [[Create your first Blender add-on]] tutorial will help you. | ||
+ | |||
==Tips and Tricks== | ==Tips and Tricks== | ||
===From Blender Python API doc=== | ===From Blender Python API doc=== | ||
Line 20: | Line 42: | ||
===bpy stubs for auto-completion=== | ===bpy stubs for auto-completion=== | ||
− | Main known project which provide stubs for auto-completion is [ | + | Main known project which provide stubs for auto-completion is [https://github.com/nutti/fake-bpy-module fake-bpy-module]. It also provide type hints for python >= 3.7 which should allow to perform type checking (eg. mypy). |
[[Category:Blender]] [[Category:BlenderBIM Add-on]] | [[Category:Blender]] [[Category:BlenderBIM Add-on]] |
Latest revision as of 09:08, 16 October 2021
![]() |
This page is part of a series about Starting to code. All articles in the series can be found in the Category:Start_coding |
Blender core is coded in C. Some part like Cycles are coded in C++. Python is widely used for extending Blender functionalities with scripts and addons.
(For BlenderBIM Addon specific code see BlenderBIM Add-on code examples)
C/C++[edit]
Blender foundation made a video to present code structure :
python[edit]
Introduction[edit]
Good introduction to python use in Blender from Curtis Holt :
Useful resource on creating custom UI with Python in Blender:
https://blender.stackexchange.com/questions/57306/how-to-create-a-custom-ui
The Scripting for Artists tutorial series by Sybren Stuvel is another useful resource for learning to script with Python in Blender:
Ditto the series by Darkfall:
To learn more checkout the Blender Python API documentation especially Quickstart part.
Creating custom add-ons[edit]
Creating a custom add-on is no magic. If you need help getting started, the Create your first Blender add-on tutorial will help you.
Tips and Tricks[edit]
From Blender Python API doc[edit]
Blender Python API documentation has a special Tips and Tricks chapter including external editor usage, inserting a python interpreter etc…
bpy stubs for auto-completion[edit]
Main known project which provide stubs for auto-completion is fake-bpy-module. It also provide type hints for python >= 3.7 which should allow to perform type checking (eg. mypy).