Instancing Geometry in TouchDesigner

Поделиться
HTML-код
  • Опубликовано: 26 июл 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 года назад +8

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

  • @AdnanAlsannaa
    @AdnanAlsannaa 4 года назад +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.

  • @rmaturana
    @rmaturana 3 года назад +2

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

  • @mascarimedia
    @mascarimedia 3 года назад

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

  • @nanzhaohz
    @nanzhaohz 4 года назад

    Please continue, I love this !

  • @Jessebeauchamp
    @Jessebeauchamp 4 года назад +2

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

  • @DrCharmsTV
    @DrCharmsTV 3 года назад

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

  • @faustobrusamolino6345
    @faustobrusamolino6345 4 года назад

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

  • @olegsirotkin3205
    @olegsirotkin3205 4 года назад +1

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

  • @dreamaera
    @dreamaera 2 года назад

    Very concise, learned a lot, thank you!

  • @mavro360
    @mavro360 4 года назад +1

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

  • @JustinPaj
    @JustinPaj 2 года назад

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

  • @imtlac
    @imtlac 3 года назад +1

    Thank u for explaining what shuffle does!

  • @alexeyyakukin8679
    @alexeyyakukin8679 4 года назад +4

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

  • @unveil7762
    @unveil7762 3 года назад

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

  • @markus_knoedel
    @markus_knoedel 2 года назад

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

  • @Djolewatchtastife
    @Djolewatchtastife 3 года назад

    Awesome tutorial

  • @jerrslzheng2169
    @jerrslzheng2169 3 года назад

    your tutorial helps me a lot, thanks u so much

  • @jrayalac
    @jrayalac 4 года назад +1

    you're great, thanks!

  • @MxSkirelCrew
    @MxSkirelCrew 4 года назад +1

    Perfect !!! thanks a lot

  • @s3ntry948
    @s3ntry948 4 года назад +1

    JUST WOW!

  • @ylvykaaz5056
    @ylvykaaz5056 2 года назад

    thank you!

  • @FLSguys98
    @FLSguys98 3 года назад

    Thank you

  • @hkzzzzzzzz
    @hkzzzzzzzz 3 года назад

    Thanks!

  • @paxk.8624
    @paxk.8624 7 месяцев назад

    very cool! Thanks so much :-)

  • @patrickklingler5383
    @patrickklingler5383 6 месяцев назад +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.

  • @Trentabyte
    @Trentabyte 8 месяцев назад

    Yup. You da man! 🫡

  • @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 4 года назад

    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  4 года назад +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.

  • @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

  • @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.

  • @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.

  • @giulioromano8371
    @giulioromano8371 Год назад

    Pls do other videos!

  • @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

  • @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 :)

  • @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!!

  • @RusticRaver
    @RusticRaver 4 года назад

    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 4 года назад

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

    • @polyhop
      @polyhop  4 года назад +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 4 года назад

      @@polyhop great thx for that.

  • @squidface666
    @squidface666 2 года назад

    YOU ARE A WIZARD

  • @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!

  • @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.

  • @BADblake00
    @BADblake00 6 месяцев назад

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

    • @BADblake00
      @BADblake00 6 месяцев назад

      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 6 месяцев назад

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

  • @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.

  • @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)