Wow, this is precisely what I needed to make my intended didactic animation. Amazing. Extremely useful. No wasting of time, straight to the points. One of the best tutorial videos out there. No amount of thanks is enough... 😊
Its good and I love it.... BECAUSE I AM A PY DEV a guy who never touched code in his life will not understand python YOU ARE SCARING PEOPLE FROM PYTHON
Loved it, thanks for making this video. Reminds me of my Max script days when technical animators were called in for the strange effects that would take days if not weeks manually.
Yep... the "context" issue had me baffled for hours. So brave... but rewarded to finally have someone explain. Thanks a million. Hope to connect through your course soon. Awesome CG Cookie.
It's really cool to understand python. I am living in 2022 with Blender 3.2 so this particular function is better suited for geometry nodes. But as an intro to python, this was nice.
Great tutorial and thank you! I'm stuck on the texture coordinate part at 23:43. The texture coordinate isn't changing the cubes as it does on your screen.
Thanks for your video ! Can you answer a simple question? what about interactive scripts? ones that prompt the user for input? or say I have a dog character and I want to be able to control which direction it goes interactively by moving a switch? how do I have a script process running waiting for something to happen so that it can react without freezing the blender UI??
Great tutorial, What it helped me most was the last tip, on how to toggle to the correct context view !!! Thank you... A full tutorial on the other usual error situations is greatly needed, so this way the full path on how to script 3d blender will be open and an explosion of new, complete and supper powerful scripts can be achieved. The problem right now is that even that anyone wants to READ and look up the documentation, BECAUSE we don't have the full understanding of python we JUST cannot understand the documentation or the instructions given, In addition the documentation for python and 3d blender lacks SIMPLICITY and CLARITY, The current short and technical error reports JUST INCREASE the frustration when something is not working, These lack of ease in troubleshooting is STOPPING and KILLING experimentation and development for python and 3d blender. STRESS BOMBS: Right now in 3d blender when an error occurs it tells you "look in to the console for now" ... First problem "Where is the console" Then, the console gives you a short and technical report and on the last line it says " Look in the console for now" ... BUT we are in the console !!! For example: Yesterday I was trying to add a material color to the cube and I typed this line of code: ....code ...code mat_red.diffuse_color = (0.0, 0.8, 0.0) this code gives the cube a red color. When I run this code the ERROR said .... bs..bs four parameters are needed and only three are given !!! GTF!!! A better and helpful error report could be: To defuse material color needs the rgb parameters PLUS the Alpha parameter ... your code should look like this mat_red.diffuse_color = (0.0, 0.8, 0.0, 1.0 ) the last parameter of 1.0 sets the alpha to full opacity and these four parameters are needed to set a new diffuse color for you object, in addition if you set the alpha to less than one (0.6) the color will look semi transparent. For your convenience here are some links to other color related code, ... DON'T worry 3d blender got your ass cover! www.some cool and helpful 3d blender documentation.com Something like this will open up python and 3d blender to the masses and the development and the benefits will be infinite,.... and best of all, YOU Chris Bailey right now have the OPPORTUNITY to be the GREAT CREATOR of the path to full 3d blender scripting !!!! PLEASE MAKE this tuts!!! Thank You again. Marten.
You know Blender is open source right? You can just rewrite the documentation and submit it to be evaluated by the devs and if yours is a better job of it it will get added into the master branch. Having a rant about it in a company not related to Blender isn’t going to change anything
@@illmarten1073 Documentation is not code. Also, as a coder, I can assure you that the template "N parameters expected, N given" is used for all languages I know. It's a pretty common convention for that kind of messages. On top of that, python has one of the best documentation in the entire industry. Calling what error messages say "bs" says more about you and your willingness to learn and adapt, honestly
Ever since school I’ve wanted to do GUIs in python but the packets and libraries never worked in pycharm if blender has stuff like this baked in I can’t wait to try this more just got into doing 2d animation with blender this looks a lot more welcoming to me as a coder first now days
That's so so good you're a great artist,but to be honnest,(about the project) I made the whole animation without any scripting just some dope sheet,and with my weak computer I still working with blender 2.79,but that's a perfect course about python,I didn't use it ever.
How to create 10x10 blocks area: import bpy div = 2 for i in range(10): for j in range(10): bpy.ops.mesh.primitive_cube_add(size=2, enter_editmode=False, align='WORLD', location=(i * div, j * div, 0), scale=(1, 1, 1))
This is an awesome tutorial, thank you for this One question: alot of this is now possible with nodes right? Where does python scripting still become more or less helpful with the "everything nodes"?
Hallo, at 22.02 you copy paste "+ offset" to the next lines.... how did you do that.... ? that is amazing.... and a question on the side... are you coming back to the bcon this year....? hope to see you again...
Thanks for the great tutorial! When I did the "for x in Cubes: x.scale = [0.5, 0.5, 0.5]" bit, if the original 100 cubes were created using duplicating objects, after running that line the cubes look exactly like the video (all resized smaller, but separated). However if the original 100 cubes were created using an array modifier and then separated by loose parts, after running that line the cubes all got smaller but were still stuck together. Why is that?
Thanks for this much much helpful, how we can control timeline using python commands ? I need a character doing live lipsync by reading the str from file or a variable, pls help.
TRUE import means get code functions computer language compiled values maybe updated or not but contains structured functions so we may not need to start from 0 and 1 i believe right?
Hi Chris, I am python-dev and just started to learn blender last week, I am interested to learn animation could you please recommend any best tutorial for me. It would be great if you guide me on this, And one small doubt is that Cubes isn't part of the Collections, based on UI it should be like Collections[Cubes[Cube, cube 001, cube 002....]]. Thanks
Having a hard time getting the texture coordinate to apply to every cube; when I pull up the shader editor it's only for one of the cubes. how can i fix this?
so you know for the future: f3 and then link materials, had the same issue at first but you just have to learn problem solving my man, think logally, im 14 and found it out, if theres a link modifiers why not the same for every other property? You can even link the entire object data! Hope this helped
I dont get the list of options after typing 'bpy.' in Python console. What is the reason? I get the following error File "", line 1 bpy. ^ SyntaxError: invalid syntax
thanks a lot. I have 30 million dots in python and I want to animate them in blender, how can I do that? I mean blender gets crash every time I tried :)) do you have any solution for this?
Wow! Very impressive!!!! I One question. I am a beginner, and this is my first lesson in Python. All commands under bpy.context. etc. - Are they same commands in Maya, Unity, Unreal Engine, Houdini and Cinema 4D OR these are exclusive python commands for Blender?
Can I do the "arrays" collection on 2.68 v. as a group or I have other option to do it on this Blender version ? I've serach and can't find any solutions. Thanks for the tutorial, its so cool to learn a thing that is new for me !
Can we add two variables based on odd and even directory of the objects in the collection?? Like for eg. Cube cube1 Cube2 cube3 Cube4 cube5 . . . . . . Any advice ??
hello...First of all, I can see a lot of ancient animation on you tube. Clearly, they might have viewing problems on their battles.. can you able to fix it using blendings skill..
Hey, I learned a lot from this video but I have a question. You accomplished animation using with a py script that adds keyframes to the timeline. This is a fine. I want to perform an operation that calculates and sets force field values on every frame. Is there a blender pre-frame render callback that I can utilize to perform calculations on every frame? Thanks.
Yes there is you can add a frame callback to a function that run every frame like this bpy.app.handlers.frame_change_pre.append( myframefunction ) But i found that I cant get write access to global variables
Thanks a lot for this, I'll finally come to a point of combining my bad coding with my bad blender skills to create awesome new things
Bruh I relate to this so hard I was just thinking about this today ahhahahaa
combined enough bad skills you might make somthing good eventually right?
Us moment🤣
I love u
PLEASSEEE, MAKE A TUTORIAL SERIES MAN, PLEASEEEE
Please
please
pretty please 😁
PLEAAAAAAAAAAAAASE
Please
I've been trying to learn programming for a while. But this was the best tutorial I've seen for python, and its in a video about blender...
this is not the best way to learn python tbh, you need to watch python tutorial to understand it's syntax and how to build logic
Wow, this is precisely what I needed to make my intended didactic animation. Amazing. Extremely useful. No wasting of time, straight to the points. One of the best tutorial videos out there. No amount of thanks is enough... 😊
Finally I understand python praize the lord its a miracle XD
This is quite brilliantly explained. I was putting off looking at Python scripting, but it looks like it's much simpler than I thought. 👍🏻
This is the first video I've seen showing introduction to Python in Blender. Very educational!
there are actually quite a few out there now
Its good and I love it....
BECAUSE I AM A PY DEV
a guy who never touched code in his life will not understand python
YOU ARE SCARING PEOPLE FROM PYTHON
Loved it, thanks for making this video. Reminds me of my Max script days when technical animators were called in for the strange effects that would take days if not weeks manually.
Feeling blessed! This is liberating! Thank You so much!
Excellent Python demonstration! Straight to the point and using actual examples.
@26:00 This is exactly what I was trying to do and was running into same error. THANK YOU a lot..!!
i was looking for a quick primer and this was the perfect amount of info. thanks for putting this video together
Muchas gracias hace 3 meses empecé a estudiar python y hace 2 meses empecé con blender esto es perfecto, muchas gracias por compartir su conocimiento
chris this is amazing ...thank you for this step-by-step instruction on how to use python in blender
Un très grand merci ! This course is really great. Your explanations are crystal clear.
Yep... the "context" issue had me baffled for hours. So brave... but rewarded to finally have someone explain. Thanks a million. Hope to connect through your course soon. Awesome CG Cookie.
It's really cool to understand python. I am living in 2022 with Blender 3.2 so this particular function is better suited for geometry nodes. But as an intro to python, this was nice.
Thank you very much for the inspiration video for me. This is all enough blender python tutorial.
Great tutorial and thank you! I'm stuck on the texture coordinate part at 23:43. The texture coordinate isn't changing the cubes as it does on your screen.
Did you solved it?, I'm stuck at same point, I do the link but when all cubes are selected and i try to do a modification just one cube change
he switches over to render view (whereas the previous portions of the tutorial are using solid viewport shading).
Thanks for your video ! Can you answer a simple question? what about interactive scripts? ones that prompt the user for input? or say I have a dog character and I want to be able to control which direction it goes interactively by moving a switch? how do I have a script process running waiting for something to happen so that it can react without freezing the blender UI??
Great tutorial, What it helped me most was the last tip, on how to toggle to the correct context view !!! Thank you...
A full tutorial on the other usual error situations is greatly needed, so this way the full path on how to script 3d blender will be open and an explosion of new, complete and supper powerful scripts can be achieved.
The problem right now is that even that anyone wants to READ and look up the documentation, BECAUSE we don't have the full understanding of python we JUST cannot understand the documentation or the instructions given, In addition the documentation for python and 3d blender lacks SIMPLICITY and CLARITY, The current short and technical error reports JUST INCREASE the frustration when something is not working, These lack of ease in troubleshooting is STOPPING and KILLING experimentation and development for python and 3d blender.
STRESS BOMBS:
Right now in 3d blender when an error occurs it tells you "look in to the console for now" ... First problem "Where is the console"
Then, the console gives you a short and technical report and on the last line it says " Look in the console for now" ... BUT we are in the console !!!
For example:
Yesterday I was trying to add a material color to the cube and I typed this line of code:
....code
...code
mat_red.diffuse_color = (0.0, 0.8, 0.0) this code gives the cube a red color.
When I run this code the ERROR said .... bs..bs four parameters are needed and only three are given !!! GTF!!!
A better and helpful error report could be:
To defuse material color needs the rgb parameters PLUS the Alpha parameter ... your code should look like this
mat_red.diffuse_color = (0.0, 0.8, 0.0, 1.0 ) the last parameter of 1.0 sets the alpha to full opacity and these four parameters are needed to set a new diffuse color for you object, in addition if you set the alpha to less than one (0.6) the color will look semi transparent.
For your convenience here are some links to other color related code, ... DON'T worry 3d blender got your ass cover!
www.some cool and helpful 3d blender documentation.com
Something like this will open up python and 3d blender to the masses and the development and the benefits will be infinite,.... and best of all, YOU Chris Bailey right now have the OPPORTUNITY to be the GREAT CREATOR of the path to full 3d blender scripting !!!!
PLEASE MAKE this tuts!!! Thank You again. Marten.
You know Blender is open source right? You can just rewrite the documentation and submit it to be evaluated by the devs and if yours is a better job of it it will get added into the master branch. Having a rant about it in a company not related to Blender isn’t going to change anything
@@gower1973 I made it clear that I do not know how to code, so According to you how can I rewrite the full documentation?
@@illmarten1073 Documentation is not code. Also, as a coder, I can assure you that the template "N parameters expected, N given" is used for all languages I know. It's a pretty common convention for that kind of messages. On top of that, python has one of the best documentation in the entire industry. Calling what error messages say "bs" says more about you and your willingness to learn and adapt, honestly
The way that you teach this topic is excellent. Keep it up!
Background music is good. Makes video entertaining
Ever since school I’ve wanted to do GUIs in python but the packets and libraries never worked in pycharm if blender has stuff like this baked in I can’t wait to try this more just got into doing 2d animation with blender this looks a lot more welcoming to me as a coder first now days
finally i can use my meagre coding skills somewhere and a good refresher for the syntax while actually using it somewhere practical :P
Thank you for an excellent tutorial. I love that you used the animations for the section titles and thumbnail
That's so so good you're a great artist,but to be honnest,(about the project) I made the whole animation without any scripting just some dope sheet,and with my weak computer I still working with blender 2.79,but that's a perfect course about python,I didn't use it ever.
How to create 10x10 blocks area:
import bpy
div = 2
for i in range(10):
for j in range(10):
bpy.ops.mesh.primitive_cube_add(size=2, enter_editmode=False, align='WORLD', location=(i * div, j * div, 0), scale=(1, 1, 1))
This is an awesome tutorial, thank you for this
One question: alot of this is now possible with nodes right? Where does python scripting still become more or less helpful with the "everything nodes"?
Thank you so much! I had a lot of fun doing this
This is absolutely fantastic simple explanation. I think i'll finally get to python scripting today:) Thank you!
This is GREAT!
Thank you very much for putting in the effort to make this video.
thank you very much, very straight forward tutorial
Amazing tutorial! Really well presented. Thank you for sharing your knowledge.
Really liked this - Thank you!
You are killing it man. Great videos!
very helpful, thank you you're great
Excellent tutorial, with clear explanations for each step. A good way to learn Python at the same time!
Hallo, at 22.02 you copy paste "+ offset" to the next lines.... how did you do that.... ? that is amazing....
and a question on the side... are you coming back to the bcon this year....? hope to see you again...
we need more of this python tuts .. AWESOME
Great colors, by the way...
Sweet!! More stuff on scripting plzzz!!!
This was a great help. Thanks a million.
Thanks for the great tutorial! When I did the "for x in Cubes: x.scale = [0.5, 0.5, 0.5]" bit, if the original 100 cubes were created using duplicating objects, after running that line the cubes look exactly like the video (all resized smaller, but separated). However if the original 100 cubes were created using an array modifier and then separated by loose parts, after running that line the cubes all got smaller but were still stuck together. Why is that?
My guess. Different origin point. When sticking together origin is at 0 0 0 for all.
Thanks for this, it was fun!
can you tell me how to get vertices into camera view as pixel coordinates.
Thanks for this much much helpful, how we can control timeline using python commands ? I need a character doing live lipsync by reading the str from file or a variable, pls help.
Love this Tutorial great work just what I needed
loved the way you explained this ... :)
Inspiring tutorial! Thanks!
ahahah, the context is incorrect ! I've seen this error so often that I finally found out what it was about...but it's nicely explained, congrats ;)
Loved the soundtrack!
this is gorgeous
thanks for your vid - huge help!!!
Can you run the code in an non blender external ide and have a render as the output?
Absolutely great stuff !!
TRUE
import means get code functions computer language
compiled values maybe updated or not but contains structured functions so we may not need to start from 0 and 1 i believe right?
Hi Chris, I am python-dev and just started to learn blender last week, I am interested to learn animation could you please recommend any best tutorial for me. It would be great if you guide me on this, And one small doubt is that Cubes isn't part of the Collections, based on UI it should be like Collections[Cubes[Cube, cube 001, cube 002....]]. Thanks
thank you for this tutorial, if you dont mind some constructive criticism: for me with headphones the background music was a tad to loud
Can you make follow along tutorials? To learn the tools of blender and the scripting? How to draw and color in blender also using scripts?
17:19 it could be confused with X axis. Maybe better to use "for cube in cubes: cube.scale(x,y,z)"? ;)
Amazing! Very well done!
Having a hard time getting the texture coordinate to apply to every cube; when I pull up the shader editor it's only for one of the cubes. how can i fix this?
so you know for the future: f3 and then link materials, had the same issue at first but you just have to learn problem solving my man, think logally, im 14 and found it out, if theres a link modifiers why not the same for every other property? You can even link the entire object data! Hope this helped
Cg cookie does Python help out understanding the Geometry node logic ? because i suffer geometric node learning
Very nice, wonderful introduction!
I'm completely new so let me ask you...should I learn python first before adding blender?
Very Interesting.
Thank you very much! This was very useful.
Also someone can use dir()
Example 1, dir(bpy)
Example 2, dir(bpy.context)
and so on.
I dont get the list of options after typing 'bpy.' in Python console. What is the reason? I get the following error
File "", line 1
bpy.
^
SyntaxError: invalid syntax
try dir(bpy)
Very enlightening.
Thanks Bro... you help me
The best!!!👍👍👍
thanks a lot. I have 30 million dots in python and I want to animate them in blender, how can I do that? I mean blender gets crash every time I tried :)) do you have any solution for this?
Wow! Very impressive!!!! I One question. I am a beginner, and this is my first lesson in Python. All commands under bpy.context. etc. - Are they same commands in Maya, Unity, Unreal Engine, Houdini and Cinema 4D OR these are exclusive python commands for Blender?
Can I do the "arrays" collection on 2.68 v. as a group or I have other option to do it on this Blender version ? I've serach and can't find any solutions. Thanks for the tutorial, its so cool to learn a thing that is new for me !
I have struggles with the driver system. how can i replace that with python scripts?
Clearly explained! Thanks!
Thank you for your informative videos. How can I make python script runs automatically when I export Blender file by using game engine add on?
HOW TO USE IF CONDITIONS LIKE DRIVERS BECAUSE DRIVERS ARE KIND OF LIMITED IN CASE OF RANGE OF MIN AND MAX VALUE AND VARIABLE TYPES
Can we add two variables based on odd and even directory of the objects in the collection??
Like for eg.
Cube cube1
Cube2 cube3
Cube4 cube5
. .
. .
. .
Any advice ??
Can you tell me the name of the track that is playing in the background?
hello...First of all, I can see a lot of ancient animation on you tube. Clearly, they might have viewing problems on their battles.. can you able to fix it using blendings skill..
Awesome tutorial. Thank you.
Could scripting automate repetitive actions in a rig?
Yes, thats how Rigify works and many other rig addons. All made with python
Hey, I learned a lot from this video but I have a question. You accomplished animation using with a py script that adds keyframes to the timeline. This is a fine. I want to perform an operation that calculates and sets force field values on every frame. Is there a blender pre-frame render callback that I can utilize to perform calculations on every frame? Thanks.
Yes there is you can add a frame callback to a function that run every frame like this
bpy.app.handlers.frame_change_pre.append( myframefunction )
But i found that I cant get write access to global variables
@@stephenhumble7627 hey thanks for the pointer.
Nice but i had to use a lot my brain to flow it due to the lack of steps. Please do more
thank you for great tutorials 🙏🏻
I strongly suggest ,top view is very useful and many ...( i mean , made a lot different game on a story sences)..
Thanks for the video. I would lower the music next time though, it can be distracting at times.
Excellent
awesome!
How to create button and assign "place origin" script?
Awesome tutorial! My only critique would be to turn down or completely remove that music in the background.
for some reason, my shader editor steps were not affecting my cubes. did i miss something?
What a Legend!!
awesome video, thanks!
wizards of blender indeed
super awsome