YouTube2Text

2. Basic Muscle Pass — Transcript

by Houdini · 1,787 words · 262 segments · language en · Watch on YouTube

Full transcript

  1. 0:00okay let's start by diving into this
  2. 0:01geometry object and we'll drop down the
  3. 0:04capibara test
  4. 0:06geometry with the capar asset we can
  5. 0:09output the outer skin the muscle
  6. 0:10surfaces bones and the animated skeleton
  7. 0:13which we'll use shortly so let's switch
  8. 0:15the output to muscles and then we can
  9. 0:17convert these polygonal surfaces to
  10. 0:19solids we'll use a muscle solidify node
  11. 0:21to do that for us this node will Loop
  12. 0:24through each of the connected pieces on
  13. 0:25the incoming geometry and convert it to
  14. 0:27tetrahedrons
  15. 0:30um there are parameters here that allow
  16. 0:31us to go in and change the resolution of
  17. 0:34those tets um so for instance if I just
  18. 0:37raise the minimum size slightly we're
  19. 0:39going to get a slightly coarser model
  20. 0:41but that should be sufficient for what
  21. 0:42we're going to do here today now I might
  22. 0:45also add that all the muscle tools that
  23. 0:46we're going to be interested in can be
  24. 0:48found by hitting the tab menu going
  25. 0:50under character effects and then over to
  26. 0:52the muscles subtab so everything we need
  27. 0:55we'll find in this area here so while
  28. 0:57we're here we're going to grab the
  29. 0:59muscle solver node
  30. 1:00which we can now drop down and append to
  31. 1:02our
  32. 1:05Network let that
  33. 1:08initialize and if we look at the output
  34. 1:12of this node here now um we're ready to
  35. 1:15start simulating with this geometry um
  36. 1:17let me just first turn on the ground
  37. 1:19plane so that we have something to
  38. 1:20collide with so if I run that um we
  39. 1:24won't have much of a muscle
  40. 1:25simulation going on as much as we do
  41. 1:27just a bunch of soft body objects
  42. 1:29falling to the floor and colliding with
  43. 1:31each
  44. 1:37other let me come over here and adjust
  45. 1:39my frame
  46. 1:46range and if we play
  47. 1:49that like I said it's a uh just a
  48. 1:52collection of soft body objects
  49. 1:56falling so how do we get this to look
  50. 1:58more like a muscle simulation
  51. 2:00let's duplicate the capua asset and
  52. 2:03switch the output to Bone
  53. 2:06surfaces and this will now give us our
  54. 2:09skeleton model which um is not animated
  55. 2:13at all it's a static it's a static
  56. 2:16skeleton and if we wire the output to
  57. 2:19the second input on the muscle solver
  58. 2:22the second input is expecting the
  59. 2:24attachment Target for the
  60. 2:26muscles and maybe we can play our
  61. 2:28simulation at this point to to get an
  62. 2:30idea of where things
  63. 2:41are and now we get a new Avalanche of
  64. 2:43soft body objects this time finding new
  65. 2:46Collision geometry on its way
  66. 2:49down so let's take this one step
  67. 2:53further let's come back over to our
  68. 2:56solid muscles and let's layer on some
  69. 2:58attributes that will inform the muscle
  70. 3:01solver node how to configure the
  71. 3:03constraints that will attach to the
  72. 3:05bones so we'll drop down a muscle
  73. 3:07constraint properties
  74. 3:09node and as we wire that in um we'll
  75. 3:13save the details for exactly how the
  76. 3:15muscles relate to the bones um for later
  77. 3:18on in the video series for now we'll
  78. 3:20just U connect it to the muscle solver
  79. 3:23and just get the default values to work
  80. 3:26for us for this example
  81. 3:30Let's uh hit play and see where our
  82. 3:31simulation goes
  83. 3:36next and as that solving already we can
  84. 3:39see that the muscles are no longer
  85. 3:40falling
  86. 3:42off they are um they are keeping an
  87. 3:45attachment somewhat springy but um again
  88. 3:48nothing's been tweaked at this
  89. 3:50point okay so let's continue to build on
  90. 3:53this and maybe we can add some more
  91. 3:55movement as things currently stand we're
  92. 3:58using the static non at output from the
  93. 4:00capar asset to give us our
  94. 4:03skeleton um but this asset does give us
  95. 4:05animated joints on the second and third
  96. 4:08outputs so what we can do is drop down a
  97. 4:10joint to form
  98. 4:13node and as we wire that
  99. 4:17up all of a sudden now we see we have
  100. 4:20animation on our
  101. 4:24skeleton now normally we'd be able to
  102. 4:26take this animated skeleton and feed it
  103. 4:28directly into the muscle solver but
  104. 4:29there is a small issue that we're going
  105. 4:31to need to address before moving on if
  106. 4:33we look at the components as they arrive
  107. 4:36into the muscle solver uh we see that
  108. 4:38the initial position for the bones and
  109. 4:40the muscles no longer sink up and this
  110. 4:43is due to the skeleton geometry coming
  111. 4:46from an animated position right from
  112. 4:48frame one and the muscles being set up
  113. 4:52in uh the rest
  114. 4:54position to fix this we'll need to
  115. 4:56intercept The Joint animation coming out
  116. 4:58of the third input and transition into
  117. 5:01it from the rest position so we'll use a
  118. 5:04skeleton blend soap here to blend from
  119. 5:07the tpost position into the animated
  120. 5:11output and we can simply key frame that
  121. 5:15transition so that at the first frame
  122. 5:18we're at a weight of zero I.E the rest
  123. 5:21pose and by frame five let's say we
  124. 5:23transition fully into our animated
  125. 5:26joints
  126. 5:29confirm that the transition is
  127. 5:31working and if we look at the initial
  128. 5:34setup for the muscle
  129. 5:37solver we are
  130. 5:39now back in business we'll start the
  131. 5:42simulation up and we can see now that
  132. 5:45the muscles are staying attached to the
  133. 5:48animated bone
  134. 5:52positions that's looking pretty springy
  135. 5:55and loose as far as an attachment goes
  136. 5:57so maybe we can tweak that a little bit
  137. 5:59just before we we move
  138. 6:00forward we'll come back up here to the
  139. 6:02muscle constraint properties and I'm
  140. 6:05just going to go over to the um muscle
  141. 6:07to Bone Tab and enable the stiffness
  142. 6:11parameter let's see what a stiffness
  143. 6:13value of 10 is going to give us come
  144. 6:16back to the solver node run that one
  145. 6:19more
  146. 6:20time and sure enough that has stiffened
  147. 6:22up the constraints quite a bit so this
  148. 6:24is a constraint that's attaching each
  149. 6:26muscle to whatever bone it finds in the
  150. 6:29in its vicinity and uh by stiffening it
  151. 6:32up we've um removed a lot of the springy
  152. 6:36quality that the muscle to Bone
  153. 6:38attachments
  154. 6:39had so maybe the stiffness here is a
  155. 6:42little too high uh we may want to bring
  156. 6:44back a little bit of the bounce and uh
  157. 6:47just relax that spring a little bit so
  158. 6:49let's do that once again come back up
  159. 6:51here let's say take that down to
  160. 6:58five and we'll run it once
  161. 7:03more so that's looking a little more
  162. 7:06Dynamic we're getting some bounce and
  163. 7:08some secondary
  164. 7:13motion so I'm just about to run my
  165. 7:15simulation and write the output to disk
  166. 7:17I've added a file cache node here to
  167. 7:19capture the output but before I do that
  168. 7:21there's um uh one or two things we want
  169. 7:23to just talk about real quick here um
  170. 7:26the uh when the when the muscle solver
  171. 7:29uh config figures its constraints it
  172. 7:30does this by um going back to a rest
  173. 7:34position so it takes away your animation
  174. 7:36puts your gometry in the rest position
  175. 7:38and configures the constraints there the
  176. 7:41uh the rest position by convention is
  177. 7:43something we're calling T pose now where
  178. 7:45is T POS coming from uh for starters on
  179. 7:47the muscle solver if we scroll down we
  180. 7:50see here that under rest position the
  181. 7:52muscle solver is expecting to find a
  182. 7:53toose attribute on the muscle input and
  183. 7:55a separately named toose attribute on
  184. 7:57the bones now the muscle input
  185. 8:00um if we look at from the point when we
  186. 8:01solidified the geometry that toose
  187. 8:04attribute was generated for us
  188. 8:05automatically so basically it's
  189. 8:06capturing the construction position for
  190. 8:09all the data and and storing it as a
  191. 8:12rest position named to POS on the bone
  192. 8:15side uh since the source of the bones
  193. 8:18could be from anywhere um we need to
  194. 8:20ensure that the attribute is placed
  195. 8:22there
  196. 8:23manually by by default if the uh solver
  197. 8:27does not find uh these attributes the
  198. 8:31the rest position attributes it will use
  199. 8:33the start frame the initialization frame
  200. 8:36here as though it were the T POS so it
  201. 8:38will um Park everything at this Frame
  202. 8:40construct the constraints and Carry On
  203. 8:42from there um but let's put in a a t POS
  204. 8:46attribute in here explicitly so to do
  205. 8:48that we simply um append
  206. 8:51um um a modified version of the rest
  207. 8:54position swap that we find here under
  208. 8:57this tool called set T pose
  209. 9:01and what it's doing is it's simply
  210. 9:02capturing the uh incoming position as a
  211. 9:05rest attribute naming it t pose so now
  212. 9:07as this data flows through um the muscle
  213. 9:10solver will find the T pose and make all
  214. 9:12the necessary connections as it did
  215. 9:14before and just before we run our
  216. 9:16simulation and save it out the output
  217. 9:19from the muscle solver included uh all
  218. 9:22the original attributes and U groups
  219. 9:25that were necessary for it to run um as
  220. 9:27we move forward into the next pass for
  221. 9:29the tissue solver those attributes and
  222. 9:32groups are no longer
  223. 9:34needed also we only really need
  224. 9:36polygonal geometry uh when we get to our
  225. 9:39tissue pass so we're going to go ahead
  226. 9:40and convert the tetrahedrons to polygons
  227. 9:42as
  228. 9:44well okay so for the cleanup um as I
  229. 9:47said we are converting uh our tits to uh
  230. 9:51polygon so what we end up with here are
  231. 9:54just the polygonal shells that surround
  232. 9:55our our muscles um we're going to delete
  233. 9:58all attributes so I've used this syntax
  234. 10:00here to just basically say clear out all
  235. 10:02attributes and if you notice here we're
  236. 10:04saying everything except the T POS
  237. 10:06attribute we're going to hang on to that
  238. 10:08now a word about that the um you may
  239. 10:11find it's more efficient to uh save out
  240. 10:15your T pose separately and then uh
  241. 10:17reapply it uh later on as I'm writing
  242. 10:20out a full sequence of uh the simulation
  243. 10:23frame by frame every single frame in my
  244. 10:25case is going to contain data that
  245. 10:27represents the T pose and it doesn't
  246. 10:28change so so uh you can choose to uh
  247. 10:31have a more efficient workflow if you
  248. 10:32like but for for my purposes this is
  249. 10:35just a test so uh we're going to just
  250. 10:37make it simple do that uh and then
  251. 10:39finally uh removing any groups uh again
  252. 10:42we don't need anything so we've
  253. 10:43basically stripped everything down uh
  254. 10:46very close to the bare minimum
  255. 10:47here uh also I've um just simply renamed
  256. 10:51uh this file cache node as a name that I
  257. 10:54can easily reference later on and I've
  258. 10:56appended a null sop to our bone anim so
  259. 10:59that that can also be referenced and
  260. 11:01easily uh retrieved when we need it from
  261. 11:04our second pass so let's uh run our
  262. 11:07simulation and uh move forward

About this transcript

This page contains the full transcript of 2. Basic Muscle Pass by Houdini, generated from the public captions YouTube serves with the video. The transcript has 1,787 words across 262 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.