|
41 | 41 | <meta name="google" content="notranslate"> |
42 | 42 | <meta name="google" content="nositelinkssearchbox"> |
43 | 43 |
|
44 | | - <meta name="og:title" content="My Film Work - About Kevin Edzenga"> |
| 44 | + <meta name="og:title" content="Film Work - About Kevin Edzenga"> |
45 | 45 | <meta name="og:description" content="My work at Blue Sky Studios"> |
46 | 46 | <meta name="og:image" content="https://procstack.github.io/images/ProcStack_th.jpg"> |
47 | 47 | <meta name="og:url" content="http://localhost:3000/AboutMe/Film_Work.htm"> |
48 | 48 |
|
49 | 49 | <meta name="twitter:card" content="summary_large_image"> |
50 | | - <meta name="twitter:title" content="My Film Work - About Kevin Edzenga"> |
| 50 | + <meta name="twitter:title" content="Film Work - About Kevin Edzenga"> |
51 | 51 | <meta name="twitter:description" content="My work at Blue Sky Studios"> |
52 | 52 | <meta name="twitter:image" content="https://procstack.github.io/images/ProcStack_th.jpg"> |
53 | 53 | <meta name="twitter:url" content="https://procstack.github.io"> |
54 | 54 | <meta name="twitter:domain" content="procstack.github.io"> |
55 | 55 | <meta name="twitter:label1" content="Written by"> |
56 | 56 | <meta name="twitter:data1" content="Kevin Edzenga"> |
57 | 57 |
|
58 | | - <title>My Film Work - About Kevin Edzenga</title> |
59 | | - <meta name="title" content="My Film Work - About Kevin Edzenga"> |
| 58 | + <title>Film Work - About Kevin Edzenga</title> |
| 59 | + <meta name="title" content="Film Work - About Kevin Edzenga"> |
60 | 60 |
|
61 | 61 | <script type="application/ld+json" id="ldjsonSchema">{ |
62 | 62 | "@context": "https://schema.org", |
63 | 63 | "@type": "WebPage", |
64 | | - "name": "My Film Work", |
| 64 | + "name": "Film Work", |
65 | 65 | "description": "My work at Blue Sky Studios, including character simulation, effects, and crowds.", |
66 | 66 | "keywords": "film work, Blue Sky Studios, character simulation, effects, crowds, animated films", |
67 | 67 | "url": "https://procstack.github.io/AboutMe/Film_Work.htm", |
|
137 | 137 | <!-- -- -- -- --> |
138 | 138 |
|
139 | 139 | <div id="pxlPagesContentBlock" class="pxlPagesContentBlockStyle gpcpVisibleStyle heightFader"> |
140 | | - <div id="pxlPagesContentParent" class="pxlPagesContentParentStyle"><div class="gpcpVisibleStyle procPagesContentStyle procPagesPlacementVerticalStyle procPagesLockVertical gitAboutMePageStyle pagesFader pagesVisOn"><div class="procPagesInnerBeforeBase procPagesInnerBefore"></div><div class="procPagesParentStyle gitAboutMePageParentStyle procPagesLockVertical" id="pxlPage_AboutMe"><div class="procPageHeader procPagesHeaderStyle">About Me</div><nav role="navigation" aria-label="Page sections" class="procPageVerticalLockSectionList gitAboutMePage-sectionNavListStyle"><div class="procPagesVerticalLockNavSectionStyle procPagesButtonStyle procPagesSectionNavColor gitAboutMePage-sectionNavButtonStyle" role="button" tabindex="0" aria-label="Navigate to What am I? section">What am I?</div><div class="procPagesVerticalLockNavSectionStyle procPagesButtonStyle procPagesSectionNavColor gitAboutMePage-sectionNavButtonStyle procPagesNavActive gitAboutMePage-sectionNavButtonActiveStyle" role="button" tabindex="0" aria-label="Navigate to My Film Work section">My Film Work</div><div class="procPagesVerticalLockNavSectionStyle procPagesButtonStyle procPagesSectionNavColor gitAboutMePage-sectionNavButtonStyle" role="button" tabindex="0" aria-label="Navigate to Plushies section">Plushies</div></nav><section class="procPageMediaView procPagesScrollbarStyle" role="region" aria-label="Media gallery for AboutMe page sections" aria-describedby="Dynamic media content that changes based on selected section" style="align-items: center; height: auto;"><div class="procPagesMediaListStyle pagesVisOff"><iframe src="https://www.youtube-nocookie.com/embed/trt9dGUYevs" title="Technical Art Reel 2024" frameborder="0" allow="encrypted-media; picture-in-picture" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="true" class="procPagesMediaStyle procPagesLimitWidthStyle"></iframe></div><div class="procPagesMediaListStyle procPagesSectionActive pagesVisOn"><iframe src="https://www.youtube-nocookie.com/embed/er4E9K_4jpU" title="Blue Sky Studios film reel" frameborder="0" allow="encrypted-media; picture-in-picture" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="true" class="procPagesMediaStyle procPagesLimitWidthStyle"></iframe></div></section><section class="procPageVerticalLockContentView procPagesScrollbarStyle" role="main" aria-label="Primary content area for AboutMe page" aria-describedby="Main content that updates dynamically based on selected section navigation"><div class="procPageSectionContentStyle pagesVisOff" id="0"><div class="procPagesInnerContentStyle pagesVisOff"> |
| 140 | + <div id="pxlPagesContentParent" class="pxlPagesContentParentStyle"><div class="gpcpVisibleStyle procPagesContentStyle procPagesPlacementVerticalStyle procPagesLockVertical gitAboutMePageStyle pagesFader pagesVisOn"><div class="procPagesInnerBeforeBase procPagesInnerBefore"></div><div class="procPagesParentStyle gitAboutMePageParentStyle procPagesLockVertical" id="pxlPage_AboutMe"><div class="procPageHeader procPagesHeaderStyle">About Me</div><nav role="navigation" aria-label="Page sections" class="procPageVerticalLockSectionList gitAboutMePage-sectionNavListStyle"><div class="procPagesVerticalLockNavSectionStyle procPagesButtonStyle procPagesSectionNavColor gitAboutMePage-sectionNavButtonStyle" role="button" tabindex="0" aria-label="Navigate to What am I? section">What am I?</div><div class="procPagesVerticalLockNavSectionStyle procPagesButtonStyle procPagesSectionNavColor gitAboutMePage-sectionNavButtonStyle procPagesNavActive gitAboutMePage-sectionNavButtonActiveStyle" role="button" tabindex="0" aria-label="Navigate to Film Work section">Film Work</div><div class="procPagesVerticalLockNavSectionStyle procPagesButtonStyle procPagesSectionNavColor gitAboutMePage-sectionNavButtonStyle" role="button" tabindex="0" aria-label="Navigate to Plushies section">Plushies</div></nav><section class="procPageMediaView procPagesScrollbarStyle" role="region" aria-label="Media gallery for AboutMe page sections" aria-describedby="Dynamic media content that changes based on selected section" style="align-items: center; height: auto;"><div class="procPagesMediaListStyle pagesVisOff"><iframe src="https://www.youtube-nocookie.com/embed/trt9dGUYevs" title="Technical Art Reel 2024" frameborder="0" allow="encrypted-media; picture-in-picture" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="true" class="procPagesMediaStyle procPagesLimitWidthStyle"></iframe></div><div class="procPagesMediaListStyle procPagesSectionActive pagesVisOn"><iframe src="https://www.youtube-nocookie.com/embed/er4E9K_4jpU" title="Blue Sky Studios film reel" frameborder="0" allow="encrypted-media; picture-in-picture" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="true" class="procPagesMediaStyle procPagesLimitWidthStyle"></iframe></div></section><section class="procPageVerticalLockContentView procPagesScrollbarStyle" role="main" aria-label="Primary content area for AboutMe page" aria-describedby="Main content that updates dynamically based on selected section navigation"><div class="procPageSectionContentStyle pagesVisOff" id="0"><div class="procPagesInnerContentStyle pagesVisOff"> |
141 | 141 | <div class="textSpacer"></div> |
142 | 142 |
|
143 | 143 | <div class="procPagesAboutMe-topTextStyle"> |
144 | 144 | <span class="textBold">Technical Artist</span>; particles, shaders, asset optimization, & pipeline |
145 | 145 | </div> |
146 | | - <div class="procPagesAboutMe-skillListStyle"> |
| 146 | + <div class="procPagesAboutMe-skillListStyle" id="ppamSkillListParent"> |
147 | 147 | <span class="ppamSkillListing">Houdini <span class="textDrinkMeAlice"> / </span> VEX</span> |
148 | 148 | <span class="ppamSkillListing">Maya <span class="textDrinkMeAlice"> / </span> MEL</span> |
149 | 149 | <span class="ppamSkillListing">Unity <span class="textDrinkMeAlice"> / </span> C<span class="textSuper">#</span></span> |
|
153 | 153 | <span class="ppamSkillListing">PyQT</span> |
154 | 154 | <span class="ppamSkillListing">GLSL</span> |
155 | 155 | <span class="ppamSkillListing">JavaScript</span> |
| 156 | + |
| 157 | + <span class="ppamSkillListing" id="ppamOverflowListing">Nginx</span> |
| 158 | + |
156 | 159 | </div> |
157 | 160 |
|
158 | 161 | <div class="procPagesAboutMe-subHeaderStyle"> |
|
182 | 185 | <br> I just know I like figuring out puzzles, and for the life of me, can't seem to stop my fidgety fingers. |
183 | 186 |
|
184 | 187 | <br><br>Always gotta be tapping away at some code, |
| 188 | + <br> or making particle effects, |
185 | 189 | <br> or building some diy contraption, |
186 | 190 | <br> or 3d modeling, |
187 | 191 | <br> or sewing, |
|
190 | 194 |
|
191 | 195 | <br><br>An undiagnosed something-or-another, |
192 | 196 | <br> Who spawned-in with the energy befitting a gift from the mythical Red Bull itself! |
193 | | - <br> |
194 | | - <br> |
| 197 | + |
| 198 | + |
| 199 | + <br><br><div class="ppamHBar"></div> |
| 200 | + |
| 201 | + <br> <span class="textBump">Web Dev Note</span> : I'm a <span class="textNudge">3D & Shader Technical Artist</span> first, that brings me the most joy. |
| 202 | + <br> <span class="textNudge">JavaScript</span> has been a personal <span class="textNudge">hobby</span> of mine for <span class="textNudge">28-29 years</span> now, |
| 203 | + <br> But I barely know any frameworks, only working knowledge of React & Node.js. |
| 204 | + <br> For my projects, I make ESM modules in <span class="textNudge">Native JavaScript</span>, served using <span class="textNudge">Node.js</span> & <span class="textNudge">Nginx</span> or <span class="textNudge">Plex</span> |
| 205 | + |
| 206 | + <br><br> I can always learn frameworks if needed. |
| 207 | + |
| 208 | + <br><br> They're usually just a lot of bloat, so I never wanted to use them. |
| 209 | + <br> JQuery ruined it for me hahah. |
| 210 | + <br> |
| 211 | + <br> Then after a decade, you end up with your own frameworks anyway. |
| 212 | + <br> Let alone the NPM horror stories of packages like 'isEven()' |
| 213 | + <br> Just use - <span class="textName">let isEven = ( v ) => !(v & 0x0001);</span> |
| 214 | + <br> And call it a day! |
| 215 | + |
| 216 | + <br><br> Bootstraps of Bootstraps of Bootstraps, |
| 217 | + <br> Over the years, creating tools for most web, style, & network situations. |
| 218 | + |
| 219 | + <br><br> React Native does seem cool though. |
| 220 | + |
195 | 221 | </div> |
| 222 | + <br> |
| 223 | + <br> |
196 | 224 | </div></div><div class="procPageSectionContentStyle pagesVisOn procPagesSectionActive" id="1"><div class="procPagesInnerContentStyle procPagesSectionActive pagesVisOn"> |
197 | 225 | <div class="textSpacer"></div> |
198 | 226 | <div class="procPagesAboutMe-infoStyle"> |
|
214 | 242 | <br> <span class="textName">Ferdinand</span>, <span class="textName">Rio 2</span>, <span class="textName">Peanuts</span>, <span class="textName">Ice Age 5</span>, & <span class="textName">Spies In Disguise</span> |
215 | 243 |
|
216 | 244 |
|
217 | | - <br> |
| 245 | + <br><br><div class="ppamHBar"></div> |
| 246 | + |
218 | 247 | <br><span class="innerCenter"> |
219 | 248 | I was part of 2 published Siggraph papers and was allowed the opportunity to speak at <span class="textBump">Siggraph 2015</span>. |
220 | 249 | <br>The talk was to a decently full room, my bit was about camera based crowd navigation for <span class="textName">Peanuts</span>. |
| 250 | + |
| 251 | + <br><br> For <span class="textName">Peanuts</span>, I built an angle-to-camera locking system to drive agent's Movement and Head, Torso, & Legs joint orientation to match the 2D style of the original cartoons. Along with Rails, Agents could choose to break free from, yet stay in rows on screen. |
| 252 | + <br><br> For <span class="textName">Ferdinand</span>, I built dynamic Arm IK to have drivers hold 10&2 on steering wheels, passengers to sit, and co-developed a horse-and-jockey system to keep the Passengers (Jockeys) in the Cars (Horses) while they drive the streets. |
| 253 | + <br> |
| 254 | + <br>Please note, prior to Ferdinand, Houdini didn't have Crowd Simulation yet. |
| 255 | + <br>We developed our crowd tools & pipeline in-house. |
221 | 256 | </span> |
222 | 257 |
|
223 | 258 | <br><div class="ppamHBar"></div> |
224 | 259 |
|
225 | 260 | <br>While working in <span class="textName">Crowds</span>, |
226 | | - <br> I built most of the navigation tools, placement, pathing, obstacle detection, and made the usual crowd/boid navigation logic itself in Houdini for Birds & Land critters. |
| 261 | + <br> I built most of the navigation tools, placement, pathing, obstacle detection, and the usual crowd/boid navigation logic itself in Houdini for Birds & Land critters. |
227 | 262 |
|
228 | 263 | <br> |
229 | 264 | <br>I wrote systems to understand the terrain and how to follow the flow of the ground, |
| 265 | + <br> <span class="textItalic">(Hence why I like AI Development now.)</span> |
230 | 266 | <br> Multi-limb IK for the people & animals to walk over uneven terrain, and a 'lookAt' system for the characters to look around with multiple neck joints smoothly. |
231 | 267 | <br> While calculating the linear algebra to limit joint rotation in the neck to determine if the agent could look at their target or not. |
232 | 268 |
|
|
236 | 272 | <br> This gave the crowd a more natural feel, as if a few had "somewhere to be". |
237 | 273 |
|
238 | 274 | <br> |
239 | | - <br>I could talk about the horse-and-jockey system I helped build, or the post-simulation joint editing tools, or the IK heel offsets & foot locking, |
| 275 | + <br>I could talk about the post-simulation joint editing & cycle shifting tools, or the IK heel offsets & foot locking; |
240 | 276 | <br> But I think I'll save that for another time. |
241 | 277 |
|
242 | 278 | <br> |
|
0 commit comments