Artistic Coding in Blender by David Mignot

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 พ.ย. 2024

ความคิดเห็น • 112

  • @drioko
    @drioko 5 วันที่ผ่านมา

    this is surreal. i had absolutely no idea of how easy this was. what a joy

  • @jonbob9872
    @jonbob9872 4 หลายเดือนก่อน

    Loving this, no filler, no pausing.. only as long as it needed to be to demonstrate the techniques.
    Much appreciated, guys. 👍

  • @darrennew8211
    @darrennew8211 3 ปีที่แล้ว +105

    Nice. I'm pretty sure "grid of primitives" is the bpy equivalent of "Hello World". :-)

    • @brunoarnabar7450
      @brunoarnabar7450 2 ปีที่แล้ว +3

      What is bpy?

    • @jamie.goodson
      @jamie.goodson 2 ปีที่แล้ว +4

      @@brunoarnabar7450 Blender Python. Python is the scripting language you see David using here :)

  • @samieb4712
    @samieb4712 2 ปีที่แล้ว +31

    after introductions, with 16 seconds of instructions i now know how to make any procedural collection of cubes. that is awesome. and this technique of watching the log for commands is much easier than learning the whole docs. A++++ 100

  • @karlduckett
    @karlduckett 3 ปีที่แล้ว +23

    That was aweomse. Thanks David, a sneak preview behind the curtain to how some of the magic is made! Amazing work! 10/10.

  • @vain3d973
    @vain3d973 3 ปีที่แล้ว +5

    Thank you David Mignot & Blender Daily!

  • @NicholasRenotte
    @NicholasRenotte 3 ปีที่แล้ว +6

    Unveilling the mysteries of bpy one line at a time. Starts to show what's possible with a couple of lines of Python and Blender. Thanks David!

    • @TheeRebel
      @TheeRebel 2 ปีที่แล้ว

      So that’s python?

  • @unknowndistrict
    @unknowndistrict 3 ปีที่แล้ว +20

    I was expecting more, but it's enough to make me want to get into some coding in blender.

    • @karijoart
      @karijoart 3 ปีที่แล้ว +6

      Hello Kurt, this video is meant as an introduction to Davids work and artistic coding in Blender. It is not meant to be an in depth tutorial. David has now posted another tutorial and resources in the pinned comment, they might be useful to you. All the best with your coding in Blender!

    • @anoopta6595
      @anoopta6595 3 ปีที่แล้ว

      @@karijoart . pp

    • @arthatamayusuf8848
      @arthatamayusuf8848 3 ปีที่แล้ว +1

      if you want lo learn about blender python coding, then you might want to consider reading from this book.
      www.amazon.com/Learning-Blender-Python-Beginners-Understanding-ebook/dp/B07SL5VDCJ
      and if you need some guide in hiw to apply it, you can also use this book.
      www.amazon.com/dp/B08SJQXXGV
      good luck.

  • @jeffg4686
    @jeffg4686 3 ปีที่แล้ว +43

    Thanks for the share. scripting definitely opens up a world of possibilities. Would be interesting to compare / contrast scripting with geometry nodes.

    • @thebricktop
      @thebricktop 3 ปีที่แล้ว +6

      currently geometry nodes are far less powerfull than few lines of code and far less readable, but probably few updates down the lane and they might achieve what is possible in houdini or similar sphagetti based scripts.

  • @narratorjay
    @narratorjay 3 ปีที่แล้ว +46

    Saved £50+ by not spending it on a udemy course, I'll see how far I can get with this. Thank you for sharing.

    • @BlenderDaily
      @BlenderDaily  3 ปีที่แล้ว +3

      that's cool, thank you!

    • @TorIvanBoine
      @TorIvanBoine 3 ปีที่แล้ว

      How far did you get? :)

    • @narratorjay
      @narratorjay 3 ปีที่แล้ว +1

      … but it’s not generative, I am investigating Python code that will provide configurations that can then be animated.

    • @narratorjay
      @narratorjay 3 ปีที่แล้ว +1

      Created the code that animated these videos th-cam.com/video/GJzb4eRNzgk/w-d-xo.html

    • @narratorjay
      @narratorjay 3 ปีที่แล้ว

      Oh! TH-cam does not post replies that contain an external link. Is that in the T&Cs?

  • @BelchamberUs
    @BelchamberUs 2 ปีที่แล้ว +2

    Super cool, thanks for showcasing!

  • @obj3d425
    @obj3d425 3 ปีที่แล้ว +4

    This is so surprising and fun

  • @Akryl
    @Akryl 3 ปีที่แล้ว +3

    Here you can see again that blender is amazing
    Nice Video

  • @ki777iz
    @ki777iz 3 ปีที่แล้ว +1

    This is a fantastic fondue with baguette video! Thank you so much!!!

  • @pixelwrinkly1528
    @pixelwrinkly1528 3 ปีที่แล้ว +2

    beautiful

  • @otaeotay
    @otaeotay 2 ปีที่แล้ว +3

    Just FYI, they removed bpy.context.scene.update() and now I think you would use bpy.context.view_layer.update()

  • @hackraise
    @hackraise 3 ปีที่แล้ว +2

    Awesome !

  • @greersome
    @greersome 2 ปีที่แล้ว +1

    Wow!! One of the best instructional Blender videos I've ever seen and I'VE SEEN A LOT!!

  • @BOSSdesigns
    @BOSSdesigns 3 ปีที่แล้ว +1

    awesome we need more of this

  • @patrickmagnin3654
    @patrickmagnin3654 3 ปีที่แล้ว +4

    Great art 👍

  • @fatihinf5409
    @fatihinf5409 2 ปีที่แล้ว

    BROTHER, YOU ARE THE BEST!!! You oooh really helped me!! THANK YOU VERY MUCH!

  • @polilla.asesina2548
    @polilla.asesina2548 2 ปีที่แล้ว

    Still helping after 2 years

  • @moabd6013
    @moabd6013 2 ปีที่แล้ว +1

    Very concise and clear. Thank you

  • @vectoralphaSec
    @vectoralphaSec 2 ปีที่แล้ว

    All of that in only under 100 lines of code? Cool. I might have to get into this later.

  • @joygillmoriah2562
    @joygillmoriah2562 3 ปีที่แล้ว +4

    This was a real fun and easy to follow walkthrough!

  • @sonu-jangir
    @sonu-jangir ปีที่แล้ว

    This video is soooooo much helpful for me...
    🎉🎉🎉
    ❤❤❤
    Thanks a lot...😊

  • @naruechatea7517
    @naruechatea7517 2 ปีที่แล้ว

    That was great. Thank you.

  • @quargskpgreene
    @quargskpgreene 2 ปีที่แล้ว

    Wow. I didn’t know Blender could do this.

  • @spiderloool
    @spiderloool 3 ปีที่แล้ว +2

    i loved it wonderful job

  • @TimelessGamingSoftware
    @TimelessGamingSoftware 8 หลายเดือนก่อน

    INSPIRED

  • @silverman1438
    @silverman1438 3 ปีที่แล้ว +2

    Thank u 🙏🏻 for this wonderful video

    • @arthatamayusuf8848
      @arthatamayusuf8848 3 ปีที่แล้ว +1

      if you want lo learn about blender python coding, then you might want to consider reading from this book.
      www.amazon.com/Learning-Blender-Python-Beginners-Understanding-ebook/dp/B07SL5VDCJ
      and if you need some guide in hiw to apply it, you can also use this book.
      www.amazon.com/dp/B08SJQXXGV
      good luck.

  • @Donatellangelo
    @Donatellangelo ปีที่แล้ว

    What made modeling difficult for me is the too much to learn....and then there's sculpting. I'm a "lazy-hard" type person; I'll do things the hard way if doing things the easy way has a barrier to entry. I'll just sculpt (and then retopo) anything with geometry more complex than a table fan for example. This is good since I kinda know python already. I can basically make my own generators with this!

  • @lechatsportif124
    @lechatsportif124 3 ปีที่แล้ว

    This looks way better than coding it in processing.

  • @SeeRapidly
    @SeeRapidly 10 หลายเดือนก่อน

    Thanks.Blender, my Python new stage

  • @arkemal
    @arkemal 2 ปีที่แล้ว

    very interesting, thanks

  • @3d_nahla289
    @3d_nahla289 3 ปีที่แล้ว +1

    thanks that's helpful

  • @gaurabgain2782
    @gaurabgain2782 2 ปีที่แล้ว

    5:40 how the materials remained after deleating cubes?
    my blender version 3.3 it is not working materials get deleated

  • @ScientObject40
    @ScientObject40 10 หลายเดือนก่อน

    This is very similar to what Geometry Nodes allows us to do.

  • @dubpper98
    @dubpper98 2 ปีที่แล้ว

    very nice! thanks

  • @Top10-q7m1p
    @Top10-q7m1p 2 ปีที่แล้ว

    Thank you for this! Super cool video! A+++

  • @Byemiek
    @Byemiek 2 ปีที่แล้ว

    sick

  • @magnuswootton6181
    @magnuswootton6181 ปีที่แล้ว

    script modelling in blender, nice! anything involving arrays comes out better just typing it in I think.

  • @bvc5187
    @bvc5187 3 ปีที่แล้ว +2

    what's the function of import bpy and import random command at the beginning of script? is that separated files?

    • @idflood
      @idflood 3 ปีที่แล้ว +4

      In python when the interpreter is run not every libraries/package are imported, you have to manually import what is needed. The "bpy" package is made available by blender to get access to blender data and functions. The random module is a default python package but needs to be loaded too, it gives access to pseudo-random number generators:
      - docs.blender.org/api/blender_python_api_2_59_0/info_overview.html
      - docs.python.org/3/library/random.html

  • @hoprem.
    @hoprem. 3 ปีที่แล้ว

    nice but, how make the final ?

  • @ttm-2909
    @ttm-2909 ปีที่แล้ว

    A hope for Engineer Artist.❤

    • @riskiadhitama-j6s
      @riskiadhitama-j6s ปีที่แล้ว

      #aqua

    • @riskiadhitama-j6s
      @riskiadhitama-j6s ปีที่แล้ว

      #marblle

    • @riskiadhitama-j6s
      @riskiadhitama-j6s ปีที่แล้ว

      #nano

    • @riskiadhitama-j6s
      @riskiadhitama-j6s ปีที่แล้ว

      #gas
      #nos
      #dep
      #bio
      #hai
      #fox
      #mt
      #tm
      #dc
      #uv
      #text
      #font
      #lipo
      #puri
      #tugu
      #kota
      #elf
      #org
      #ctr
      #sim
      #alt
      #nim
      #btn
      #tng
      #atm
      #livin
      #url
      #mc

    • @riskiadhitama-j6s
      @riskiadhitama-j6s ปีที่แล้ว

      #udara
      #polusi
      #minyak
      #fisika
      #pajak
      #kimia
      #jaksa
      #puspa
      #serbuk
      #molekul
      #oxigen
      #kumparan

  • @Gabykk
    @Gabykk 3 ปีที่แล้ว +1

    Wow.

  • @dukeballer11
    @dukeballer11 2 ปีที่แล้ว +1

    Great video, thank you! Could we please get the source code for the last script he showed on the screen?

  • @plavali_znaem
    @plavali_znaem ปีที่แล้ว

    As a total newbie to artistic coding and the one who haven’t even installed Blender yet: it’s not possible to do it without the Blender software installed, right? No Python modules like this?

  • @srikanthburra2689
    @srikanthburra2689 2 ปีที่แล้ว

    Can we do coding by formulaes which covers negligible things that looks like 100 percent virtual reality in blender

  • @procrastinatingcartoonstm5130
    @procrastinatingcartoonstm5130 3 ปีที่แล้ว +1

    cool

  • @maxgh8534
    @maxgh8534 2 ปีที่แล้ว

    i am new and having trouble creating and assigning materials directly via the code:
    bpy.ops.material.new() is the only command I seem to find.
    I don't find bpy.ops.material.append() as shown in the video.
    Am I missing something? :/

  • @nestori1337
    @nestori1337 ปีที่แล้ว

    Awesome content! Any idea how I could add my own custom mesh/objects, and not just the primitive objects to be generated in a grid with python?

  • @sasishaan
    @sasishaan 3 ปีที่แล้ว

    Hi guys what is this type of art style called? Much thanks!

  • @JiMiDuclos
    @JiMiDuclos ปีที่แล้ว

    In all human history, from Cleopatre to Napoleon, Nobody ever open blender without deleting the default cube first.

  • @stefanmegerle4517
    @stefanmegerle4517 2 ปีที่แล้ว

    How can I randomly assign more than 2 materials to my grid objects? Got a palette of 6 matching colors which shall be randomly assigned to the cubes. 🤔

    • @heckfyman
      @heckfyman 2 ปีที่แล้ว +1

      make material number = random range 6

  • @stephenkrus
    @stephenkrus 3 ปีที่แล้ว

    Trés bien... French dude! 💎✨👌

  • @BongbokCG
    @BongbokCG 2 ปีที่แล้ว

    🔥🔥🔥🔥

  • @plavali_znaem
    @plavali_znaem ปีที่แล้ว

    I wonder, how to copy and paste the code for object from info section to the actual console section? ctrl+c ctrl+v doesn't work fpr me. Anyone else with this issue?

    • @plavali_znaem
      @plavali_znaem ปีที่แล้ว

      figured it out! ctrl + F1 + C / ctrl + F1 + V for Macs!

  • @FabioGopfert
    @FabioGopfert 3 ปีที่แล้ว

    can i batch render those? something like: run script + render (loop this x times)....
    so i can generate x different pieces

    • @Mr850man
      @Mr850man 3 ปีที่แล้ว

      yes you can

  • @ferguslees7994
    @ferguslees7994 11 หลายเดือนก่อน +1

    import bpy
    import random
    import time
    from mathutils import Vector
    materials = [
    bpy.data.materials[1],
    bpy.data.materials[1],
    bpy.data.materials[0],
    bpy.data.materials[1],
    bpy.data.materials[0],
    bpy.data.materials[1]
    ]
    sizes = [
    1,
    2,
    4,
    ]
    bpy.ops.mesh.primitive_cube_add(size=1.0, location=(0,0,0))
    ob = bpy.context.object
    ob.rotation_mode = 'XYZ'
    obs = []
    sce = bpy.context.scene
    start = time.time()
    def index_exists(ls,i):
    return (0

  • @alejo_3d_art
    @alejo_3d_art 3 ปีที่แล้ว +2

    Thank you very much for your tutorial. But I've a question and I hope it is not too dumb... Why when I try to sum instead of multiplying it moves the whole block of cubes in one direction. What I mean is that I expect that 10 * 2.2 is the same as saying 10 + 12.
    I hope this make sense... and again this is really cool

    • @idflood
      @idflood 3 ปีที่แล้ว +5

      Hi Alejandro. It's not easy to answer without seeing the code but I will try my best. We multiply by 2.2 to increase the spacing because with 1 cubes are stacked since the width is 2 by default. I guess your position is defined like this "x + 12, y + 12". So eventually this offset the whole thing by 12:
      with x = 0, result 12
      with x 10, result 22
      Instead if you multiply by 2.2
      with x = 0, result 0
      with x = 10, result 22
      So if you increase your 12 it will continue to offset the whole grid but the cubes will still be stacked. I hope it will help you figure it out, if you have any question feel free to add more comment : )

    • @jmoneydroid
      @jmoneydroid 3 ปีที่แล้ว +1

      In the "for loop", the x increments its value from 0 up to but not including 10. So, 0 to 9. He multiplied by 2.2 each time and got
      0 * 2.2 = 0
      1 * 2.2 = 2.2
      2 * 2.2 = 4.4
      3 * 2.2 = 6.6
      4 * 2.2 = 8.8
      5 * 2.2 = 11
      6 * 2.2 = 13.2
      7 * 2.2 = 15.4
      8 * 2.2 = 17.6
      9 * 2.2 = 19.8
      so the 10 is never used because python is "0-indexed". for x in range(N) cycles x from 0 to N-1
      Not sure but you may have just added 12 to each x? That would give you 12 through 21, which would just move all your blocks over by 12, but still touching each other.
      Hope that helps

  • @dreamstar6521
    @dreamstar6521 3 ปีที่แล้ว

    your projects are at Behance

  • @cyborg009337
    @cyborg009337 2 ปีที่แล้ว

    What program language is in using to generate this art

  • @DanDanceMotion
    @DanDanceMotion 2 ปีที่แล้ว

    Miraculous!!

  • @alexandterfst6532
    @alexandterfst6532 ปีที่แล้ว

    French genius

  • @VincentWuAnimation
    @VincentWuAnimation 3 ปีที่แล้ว

    Can we use p5.js or JavaScript in blender?

    • @TheInfinites
      @TheInfinites 3 ปีที่แล้ว

      Nope. P5js is just a library based off of javascript. And blender's text editor only works with python. But if you know javascript, then you'll find python pretty easy, i guess. But the hard part is remembering the functions that blender uses.

  • @clown786
    @clown786 2 ปีที่แล้ว

    Can I download an old version of Blender and use Python on it?

  • @hermitcrypto2787
    @hermitcrypto2787 3 ปีที่แล้ว

    Some people are really freaking clever..

  • @felixliewhan1461
    @felixliewhan1461 ปีที่แล้ว

    what language is this? is it python? can we use C# for python?

  • @ReMii912
    @ReMii912 2 ปีที่แล้ว

    미쳤다.....

  • @purpl_panda
    @purpl_panda 3 ปีที่แล้ว +1

    what the hell!!!!❤❤🤩🤩😮😮

  • @HuanLeVuong
    @HuanLeVuong 3 ปีที่แล้ว

    This was where I lost 4:26

  • @chungfeng4765
    @chungfeng4765 2 ปีที่แล้ว

    Sae

  • @flaubertjamilrabanalchavez8677
    @flaubertjamilrabanalchavez8677 2 ปีที่แล้ว

    Sorry for being too null

  • @faramarzzrn
    @faramarzzrn ปีที่แล้ว

    not even close to what the thumbnail is ....

  • @werrutkyupnext
    @werrutkyupnext 2 ปีที่แล้ว

    LMAO when I heard his terrible mic quality

  • @robotomato13
    @robotomato13 3 ปีที่แล้ว

    oh wow! 2 years of using Blender and I never used the coding feature🥲