Instancing Geometry in TouchDesigner

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 มิ.ย. 2024
  • This beginner level TouchDesigner tutorial covers instancing with the Geometry COMP, a technique that lets you copy one piece of geometry many times in an efficient way. To accomplish this we go through various methods for generating and manipulating CHOP data to represent position, rotation and color values. Instancing is a flexible tool that is useful in a variety of applications. This tutorial provides a starter network that can be used for further explorations.
    If you have questions, comments, suggestions or corrections please leave them below, and thanks for watching and reading!
    Topic Timestamps:
    00:00 Intro
    01:43 Building the “capsule” geometry
    06:15 Setting up the render network and SSAO
    09:01 Generating a grid of instances
    12:33 Noise TOP to CHOP conversion
    16:09 Adding rotation and translation with noise
    20:27 Refining noise and adding motion
    21:06 Coloring with the Lookup CHOP
    24:50 Variations for exploration

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

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

    19:16 is the exact moment my pc said, "no we're done with touchdesigner for today"

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

    Just a tip, you can go to the parameter and copy it, then paste 'reference' so no need to type that code. Love these tutorials. Please keep it up

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

    Fantastic tutorial. I'd love to see more from your channel.

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

    Great tutorial - you're the best TD teacher out there - thank you!!!

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

    Love it! Thank you. You teach at a good pace and very informative

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

    Thank you so much for this introduction. It was really helpful! Much love from the Netherlands!

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

    Wow I learned so much in this short video, amazing job, keep it up!

  • @nanzhaohz
    @nanzhaohz 4 ปีที่แล้ว

    Please continue, I love this !

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

    I'm New to touchdesigner, but your tutorial helps so much !! You explain everythings Nice and clear, very great job man !!!

  • @mavro360
    @mavro360 4 ปีที่แล้ว +1

    thanks a lot. I am learning a lot thanks to your tutorials

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

    Very concise, learned a lot, thank you!

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

    Thanks. So much to learn. I'll need a week to digest this one...

  • @faustobrusamolino6345
    @faustobrusamolino6345 4 ปีที่แล้ว

    Great tutorial, thanks for sharing. I like your programming style.

  • @paxk.8624
    @paxk.8624 6 หลายเดือนก่อน

    very cool! Thanks so much :-)

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

    Awesome tutorial

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

    Thank u for explaining what shuffle does!

  • @olegsirotkin3205
    @olegsirotkin3205 4 ปีที่แล้ว +1

    Thank you so much! A very cool tutorial and a tidy network too! Great job! Keep going! :-)

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

    You are very talented tutor.. please keep going =)

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

    your tutorial helps me a lot, thanks u so much

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

    nice man, when i started to use it ... i would have give my soul for tutorial like this.

  • @Trentabyte
    @Trentabyte 6 หลายเดือนก่อน

    Yup. You da man! 🫡

  • @jrayalac
    @jrayalac 4 ปีที่แล้ว +1

    you're great, thanks!

  • @MxSkirelCrew
    @MxSkirelCrew 4 ปีที่แล้ว +1

    Perfect !!! thanks a lot

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

    thank you!

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

    Thanks!

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

    Thank you

  • @patrickklingler5383
    @patrickklingler5383 4 หลายเดือนก่อน +1

    For the frame rate issue, try bringing the number of rows and columns of your tube and spheres in half(or more). Brought my framerate up from 10 to 60 fps on an m2 mbp.

  • @s3ntry948
    @s3ntry948 4 ปีที่แล้ว +1

    JUST WOW!

  • @yunochoi8747
    @yunochoi8747 4 ปีที่แล้ว

    I like your mouse cursor!

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

    thanks for the great tutorial Simon. I had one doubt though:
    If I want to export a few parameters of the merged geometry to respond to instancing, e.g. if I want to change the radius of the tube and change it with Tz, how do I connect it?

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

    at 11.09 when you drag the null into the instance CHOP/DAT/SOP …. I've followed every step until then but my list of options doesn't include that 'instance CHOP/DAT/SOP' . I have 'default instance OP' instead.
    Any idea why?
    Thanks x

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

      Use "Default Instance OP" instead. This tutorial was made in TD Build 2019.14650. Since then, they have updated the instancing to accept multiple sources, and to include TOPs.

  • @piyuzygaming434
    @piyuzygaming434 4 ปีที่แล้ว +1

    great tutorial, but how do i export the movie ?

    • @polyhop
      @polyhop  4 ปีที่แล้ว

      Take a look at the MovieFileOut TOP docs.derivative.ca/Movie_File_Out_TOP You will want to make sure the Realtime flag is off as well (a checkbox on the top bar next to your FPS) otherwise you might end up with missing frames.

  • @AngusMacMinn
    @AngusMacMinn 4 ปีที่แล้ว +1

    for some reason when i put in op('tube1')par.rad1 it gives me an error. any ideas?

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

      Assuming that's exactly what you've entered you're missing a dot. You want "op('tube1').par.rad1" instead

    • @AngusMacMinn
      @AngusMacMinn 4 ปีที่แล้ว

      Simon Alexander-Adams ohh haha thank you!!

  • @sebastienjurkowski
    @sebastienjurkowski 4 ปีที่แล้ว +1

    @Simon what hardware are you using?

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

      I mostly use a computer I built about 5 years ago with an i7-4790K CPU (4 GHz) and it's held up well. This tutorial may have been on my last graphics card (Nvidia GTX 970,) though now I have a GTX 1080.

    • @thomasryan5764
      @thomasryan5764 4 ปีที่แล้ว

      @@polyhop crazy, im using a 1060 TI, and a I7-4790 and get 6fps

    • @polyhop
      @polyhop  4 ปีที่แล้ว

      ​@@thomasryan5764 Yes, I learned from this tutorial (the first one I made) that it's best not to push my own hardware to the limit in the interest of creating accessible learning materials. Hopefully it is still useful conceptually!

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

    at 18:25 when you change 32_bit? I've followed every step until then but my list of options doesn't include that 'pixel Format' Any idea why?
    Thanks

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

      Try "32-bit float (RGBA)"

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

    Hi, at 20:18 i have a little problem because when i put 'tz' in 'translate z', appears a warning symbol in geo1 and it says "instance attribute tz could not be found in node: /project1/instance. Can you help me please?

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

      That means your tz channel in your null CHOP ('instance') is not named 'tz.' You can use the carrot dropdown to select from available channels and find the actual channel there, though I would suggest simply renaming the channel 'tz.' If there is no tz channel then you need to make sure it is ending up in that final null CHOP.

  • @dr0mp507
    @dr0mp507 4 ปีที่แล้ว +5

    The grid destroys my laptop, gtx960m with i7 gen 7, i'm getting 15 fps, with ssao goes to 10.
    30 fps only at a grid of 25 by 25 with full quality ssao.
    As nice as it is only good if it's made on a desktop pc or a really high end laptop. Still a sleek look.

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

      Ah yes, this one in particular is pretty intensive. I typically push my own computer to it's limit when I'm working, so this tutorial was a learning experience in terms of creating tutorial content that is manageable on a wider range of machines.

    • @alexandrecarnevale8800
      @alexandrecarnevale8800 4 ปีที่แล้ว

      lucky guy, i'm stuck at 6FPS lol

  • @npolukarov
    @npolukarov 4 ปีที่แล้ว +1

    what’s the track in the beginning of the video?

    • @polyhop
      @polyhop  4 ปีที่แล้ว

      It's something I made myself a few years back. Not currently released, more of a sketch.

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

    Question; Is there any magic ways to reduce sizes of instance using a sphere , the closer the point is to the sphere , the smaller in size. Does this make sense? The idea is to make an L system tree with leaves reduce in size towards edges of tree.

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

      re-posted is help group on facebook. they might have ideas too

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

      Sure, essentially what you want to do here is calculate the distance to the center of your sphere (a point) and use this as the scale for your instances. You can do this in CHOPs with a Math CHOP and the length operation.

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

      @@polyhop great thx for that.

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

    very cool, unfortunately this one hammers the frame rate down to 6 on my laptop, which has a 930m D:

    • @polyhop
      @polyhop  4 ปีที่แล้ว +1

      Hey - yes I definitely learned from putting this tutorial together that I should limit the processing power required so a wider range of machines can run the content smoothly. In the future I will make sure tutorial content lighter weight :)

  • @f.spindler8258
    @f.spindler8258 4 ปีที่แล้ว +1

    ssao does not work in the right way.. it doesnt affect the instance geo.. instest the hole geo.. do you know why? maybe a dump question...

    • @polyhop
      @polyhop  4 ปีที่แล้ว +1

      Hey, I'm not entirely sure what problem you're encountering. One of my other tutorials talks more about the SSAO process however, so that might help clarify. See the write up on my website where I go into more detail about it and hopefully that helps! www.simonaa.media/tutorials/noisedisplacement

    • @f.spindler8258
      @f.spindler8258 4 ปีที่แล้ว

      Simon Alexander-Adams ... no i figured out the problem.. it is just a compatiblity problem. i got a older version of td. i tried it with a newer one and it works fine... thank you for your tutorials! there are pretty cool!

    • @ThisDaniel
      @ThisDaniel 4 ปีที่แล้ว

      @@f.spindler8258 Im also not seeing the SSAO applied properly.. Is a version issue you say? Also my frame rates are creeping somewhere around 12FPS. Not sure why that is either. Im working on a desktop with decent gpu.

    • @f.spindler8258
      @f.spindler8258 4 ปีที่แล้ว

      @@ThisDaniel i my case.. the ssao is applied.. but not on each instance. yes i am pretty sure it is a verion issue.

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

    Pls do other videos!

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

    YOU ARE A WIZARD

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

    I was following this tutorial and found that after instancing, the tubes would accumulate in the top right of the "grid"

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

      wait so TouchDesigner was instancing the tube WAAAAAY more than it needed to so I just manually entered the amount I wanted so like 25^2

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

      or op('grid1').par.rows * op('grid1').par.rows

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

    how annoying, my computer crashed 1000 times during this epic tutorial. Unfortunately I won't be able to implement. Probably my computer is way to old for this. (MacBook pro 2015 , intel 3.1, 16Gb ram, 500 ssd. )

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

      Ah! Sorry to hear that. Yes, it does push the CPU / GPU quite a bit! Hopefully you can still make use of the concepts and scale back the number of instances (which should improve performance)

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

      @@polyhop Yes I will try that out. I just started with TD and tutorials like yours are really inspiring!!! Thanks for the tip! God bless

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

    I've go a reasonable GPU; 8GB Nvidia. But as soon as I plug in the math chop my GPU shoots up to 98% and everything starts hanging.

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

    What kind of computer do you have? GPU? Lol

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

      This one was made on a computer with a GTX 1080. (I've since upgraded)