{
    "version": "https://jsonfeed.org/version/1",
    "title": "btylerparker.com",
    "home_page_url": "https://www.btylerparker.com/",
    "feed_url": "https://www.btylerparker.com/feed.json",
    "description": null,
    "icon": "https://www.btylerparker.com/apple-touch-icon.png",
    "favicon": "https://www.btylerparker.com/favicon.ico",
    "expired": false,
    
    "author":  {
        "name": "Tyler Parker",
        "url": "btylerparker.com",
        "avatar": null
    },
    
"items": [
    
        {
            "id": "https://www.btylerparker.com/2024/10/16/cinderella-masks",
            "title": "Cinderella Raccoon and Fox Masks",
            "summary": null,
            "content_text": "Custom raccoon and fox masks, each with a bespoke face rest based on the actor’s 3D scan, 3D printed for Blue Hill Troupe’s production of Rodgers &amp; Hammerstein’s Cinderella. They were painted and performed in the show (I wasn’t in this one).I had people on site use a phone scanning app to capture their faces:The interior surface of each mask was designed to rest securely against the actor’s nose and eye sockets. The animal parts were existing models, modified and sculpted into a thin surface and sized to fit the head:On Instagram: the masks.",
            "content_html": "<p>Custom raccoon and fox masks, each with a bespoke face rest based on the actor’s 3D scan, 3D printed for Blue Hill Troupe’s production of Rodgers &amp; Hammerstein’s Cinderella. They were painted and performed in the show (I wasn’t in this one).</p><p>I had people on site use a phone scanning app to capture their faces:</p><p><img src=\"/assets/media/posts/2024-10-16-cinderella-masks/heads-3d.jpg\" alt=\"The actors' 3D face scans\" /></p><p>The interior surface of each mask was designed to rest securely against the actor’s nose and eye sockets. The animal parts were existing models, modified and sculpted into a thin surface and sized to fit the head:</p><p><img src=\"/assets/media/posts/2024-10-16-cinderella-masks/3d-scan-plus-mask.jpg\" alt=\"The masks fitted to the scans\" /><img src=\"/assets/media/posts/2024-10-16-cinderella-masks/mask-face-rest.jpg\" alt=\"A printed mask, showing the face rest\" /></p><p>On Instagram: <a href=\"https://www.instagram.com/p/DBMrqaYPZtW/\">the masks</a>.</p>",
            "url": "https://www.btylerparker.com/2024/10/16/cinderella-masks",
            
            
            
            
            
            "date_published": "2024-10-16T00:00:00-04:00",
            "date_modified": "2024-10-16T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2023/09/05/betty-boop",
            "title": "Betty Boop",
            "summary": null,
            "content_text": "     Betty Boop  by  Tyler Parker  on Sketchfab",
            "content_html": "<div class=\"sketchfab-embed-wrapper\"> <iframe title=\"Betty Boop\" frameborder=\"0\" allowfullscreen=\"\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allow=\"autoplay; fullscreen; xr-spatial-tracking\" xr-spatial-tracking=\"\" execution-while-out-of-viewport=\"\" execution-while-not-rendered=\"\" web-share=\"\" src=\"https://sketchfab.com/models/2c959b2e8455458f9d9aa33ebab9f747/embed?ui_theme=dark\"> </iframe> <p style=\"font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;\"> <a href=\"https://sketchfab.com/3d-models/betty-boop-2c959b2e8455458f9d9aa33ebab9f747?utm_medium=embed&amp;utm_campaign=share-popup&amp;utm_content=2c959b2e8455458f9d9aa33ebab9f747\" target=\"_blank\" rel=\"nofollow\" style=\"font-weight: bold; color: #1CAAD9;\"> Betty Boop </a> by <a href=\"https://sketchfab.com/btparker?utm_medium=embed&amp;utm_campaign=share-popup&amp;utm_content=2c959b2e8455458f9d9aa33ebab9f747\" target=\"_blank\" rel=\"nofollow\" style=\"font-weight: bold; color: #1CAAD9;\"> Tyler Parker </a> on <a href=\"https://sketchfab.com?utm_medium=embed&amp;utm_campaign=share-popup&amp;utm_content=2c959b2e8455458f9d9aa33ebab9f747\" target=\"_blank\" rel=\"nofollow\" style=\"font-weight: bold; color: #1CAAD9;\">Sketchfab</a></p></div>",
            "url": "https://www.btylerparker.com/2023/09/05/betty-boop",
            
            
            
            "tags": ["quillustration","sketchfab"],
            
            "date_published": "2023-09-05T00:00:00-04:00",
            "date_modified": "2023-09-05T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2023/08/01/fleischer-setback-camera-digital-reconstruction",
            "title": "Fleischer Setback Camera - Digital Reconstruction",
            "summary": null,
            "content_text": "Hello! I am a research engineer and traditional animation enthusiast working on digitally reconstructing the Fleischer Studios “Stereoptical Process”, namely the rotating sets and the setback camera, using modern computational techniques. My aim is to enable novel ways to interact with and explore this piece of animation history.My first rough proof of concept is from a segment in “Popeye the Sailor Meets Sindbad the Sailor (1936)”, where Popeye enters and walks through a cave. Even though I used a small crop of a relatively low resolution video, I was able to obtain a rudimentary point cloud (estimated 3D points in space) and a “NeRF” (neural radiance field, a sort of AI dream of a 3D scene):        Certainly room for improvement, but a promising start!To obtain higher quality reconstructions, I could:  use a higher quality version of the video, the greater the detail the better  mask out the cel painted characters (such as Popeye and the lions) to get more of the background per frame instead of just a rough crop where they don’t appear  mask out the foreground elements, which are not part of the 3D set and confuse the 3D reconstructionWhat would enable extremely high quality reconstructions of the background sets (and would be incredibly exciting!) is to virtually reconstruct the Setback Camera / Stereoptical Process entirely. By having a digital replica of the camera and all the dimensions of the elements used in the setup one can reduce a lot of the “computational guesswork”, and as a side effect we’d have a virtual recreation of this historic tool for animation.I’ve started to break down the device from pictures and from the patents, largely extrapolating dimensions based on what (little) I know about the pegboard and cels used:However, this is a difficult process to do “from principles”. Any additional data, such as dimensions of parts or arrangement of the setup, or exactly what type of camera, etc, would immensely help in this Setback Camera reconstruction which, in turn, would immensely help with the 3D set reconstructions.My hope is that not only we can obtain 3D models of these wonderful sets and of the Stereoptical Process apparatus as a form of digital archivization, but create an interactive VR exhibit (I am a VR artist/engineer as well). How amazing would it be to see the process play out in real-time, the cels of the characters playing out in front of a rotating set, yet the camera viewport shows the final illusion? Or, if you’re really so inclined, virtually go through the process of placing a new cel, cranking the rotation of the stage, adjusting a foreground element, view the shot and ::click:: take a photo and repeat (repeat, repeat).Again, any resources to help this project, such as high quality video of these rotating sets, dimensions and details of the Setback camera and its setup, anything at all would be immensely appreciated. I am based in NYC, so if there are local resources or people I can see in person, that would be great to know!Thanks for reading, and hopefully more to come!P.S. Here is a VR painting of Betty Boop, from “The Old Man of the Mountain (1933)” short:   P.P.S. Here is a rather terrible Fleischer-esque 2D animation I did of Sir Roderic from Gilbert and Sullivan’s ‘Ruddigore’, as a teaser for a show I was in:    ",
            "content_html": "<p>Hello! I am a research engineer and traditional animation enthusiast working on digitally reconstructing the Fleischer Studios “Stereoptical Process”, namely the rotating sets and the setback camera, using modern computational techniques. My aim is to enable novel ways to interact with and explore this piece of animation history.</p><p>My first rough proof of concept is <a href=\"https://www.instagram.com/reel/Cwf-QfNs09N/\">from a segment in “Popeye the Sailor Meets Sindbad the Sailor (1936)”</a>, where Popeye enters and walks through a cave. Even though I used a small crop of a relatively low resolution video, I was able to obtain a rudimentary point cloud (estimated 3D points in space) and a “NeRF” (neural radiance field, a sort of AI dream of a 3D scene):</p><div class=\"embed-container\">    <iframe src=\"https://www.youtube.com/embed/JeCzfTd7Vqw\" frameborder=\"0\" allowfullscreen=\"\"></iframe></div><div class=\"embed-container\">    <iframe src=\"https://www.youtube.com/embed/xZ3zOZRk3h8\" frameborder=\"0\" allowfullscreen=\"\"></iframe></div><p>Certainly room for improvement, but a promising start!</p><p>To obtain higher quality reconstructions, I could:</p><ul>  <li>use a higher quality version of the video, the greater the detail the better</li>  <li>mask out the cel painted characters (such as Popeye and the lions) to get more of the background per frame instead of just a rough crop where they don’t appear</li>  <li>mask out the foreground elements, which are not part of the 3D set and confuse the 3D reconstruction</li></ul><p>What would enable extremely high quality reconstructions of the background sets (and would be incredibly exciting!) is to virtually reconstruct the Setback Camera / Stereoptical Process entirely. By having a digital replica of the camera and all the dimensions of the elements used in the setup one can reduce a lot of the “computational guesswork”, and as a side effect we’d have a virtual recreation of this historic tool for animation.</p><p>I’ve started to break down the device from pictures and from the patents, largely extrapolating dimensions based on what (little) I know about the pegboard and cels used:</p><p><img src=\"/assets/media/pages/fleischer-setback-camera-digital-reconstruction/fSpy-setback-camera.png\" alt=\"\" /></p><p>However, this is a difficult process to do “from principles”. Any additional data, such as dimensions of parts or arrangement of the setup, or exactly what type of camera, etc, would immensely help in this Setback Camera reconstruction which, in turn, would immensely help with the 3D set reconstructions.</p><p>My hope is that not only we can obtain 3D models of these wonderful sets and of the Stereoptical Process apparatus as a form of digital archivization, but create an interactive VR exhibit (I am a VR artist/engineer as well). How amazing would it be to see the process play out in real-time, the cels of the characters playing out in front of a rotating set, yet the camera viewport shows the final illusion? Or, if you’re really so inclined, virtually go through the process of placing a new cel, cranking the rotation of the stage, adjusting a foreground element, view the shot and ::click:: take a photo and repeat (repeat, repeat).</p><p>Again, any resources to help this project, such as high quality video of these rotating sets, dimensions and details of the Setback camera and its setup, anything at all would be immensely appreciated. I am based in NYC, so if there are local resources or people I can see in person, that would be great to know!</p><p>Thanks for reading, and hopefully more to come!</p><p>P.S. Here is a VR painting of Betty Boop, from “The Old Man of the Mountain (1933)” short:</p><div class=\"sketchfab-embed-wrapper\"> <iframe title=\"Betty Boop\" frameborder=\"0\" allowfullscreen=\"\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allow=\"autoplay; fullscreen; xr-spatial-tracking\" xr-spatial-tracking=\"\" execution-while-out-of-viewport=\"\" execution-while-not-rendered=\"\" web-share=\"\" src=\"https://sketchfab.com/models/2c959b2e8455458f9d9aa33ebab9f747/embed\"> </iframe> </div><p>P.P.S. Here is a rather terrible Fleischer-esque 2D animation I did of Sir Roderic from Gilbert and Sullivan’s ‘Ruddigore’, as a teaser for a show I was in:</p><div class=\"embed-container\">    <iframe src=\"https://www.youtube.com/embed/bVPhIn1LiZo\" frameborder=\"0\" allowfullscreen=\"\"></iframe></div>",
            "url": "https://www.btylerparker.com/2023/08/01/fleischer-setback-camera-digital-reconstruction",
            
            
            
            
            
            "date_published": "2023-08-01T00:00:00-04:00",
            "date_modified": "2023-08-01T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2023/07/29/future-historical-acting",
            "title": "Future-Historical Acting",
            "summary": null,
            "content_text": "An interactive, virtual agent that hosts a wealth of historical acting technique, gestures and information, and can apply them dynamically.It started with Ruddigore at the International Gilbert and Sullivan Festival: my director pointed me to Dr Dionysios Kyropoulos’s work, his research project Chironomia and his thesis on harnessing historical techniques to empower modern performers, as reference for his classical melodrama vision for the production. I saw an opportunity to interpret this work through my technical experience.The idea:  research seventeenth and eighteenth century movement and gesture acting techniques relevant to opera  translate that research into a dataset of digital body pose and movement vocabulary  create a language model that uses the dataset to associate choreography (visual) with lyrics (textual and audio)  create an interactive agent of the model, as a tool and an art pieceThree facets: archiving (disparate historical sources in an open, interactive, unified system), teaching (exploring the techniques interactively), and creating (applying them computationally to new works). For the interaction I’m thinking of a brass planetarium meets Vitruvian man, to add a sense of “historical” to this “future”. The prototype moved from a Blender add-on to Unity VR.I entered the project in the Choreographic Coding Lab (CCL #15, September 2023) and it was accepted, but I couldn’t make the travel work.",
            "content_html": "<p>An interactive, virtual agent that hosts a wealth of historical acting technique, gestures and information, and can apply them dynamically.</p><p>It started with Ruddigore at the International Gilbert and Sullivan Festival: my director pointed me to Dr Dionysios Kyropoulos’s work, his research project Chironomia and his thesis on harnessing historical techniques to empower modern performers, as reference for his classical melodrama vision for the production. I saw an opportunity to interpret this work through my technical experience.</p><p>The idea:</p><ul>  <li>research seventeenth and eighteenth century movement and gesture acting techniques relevant to opera</li>  <li>translate that research into a dataset of digital body pose and movement vocabulary</li>  <li>create a language model that uses the dataset to associate choreography (visual) with lyrics (textual and audio)</li>  <li>create an interactive agent of the model, as a tool and an art piece</li></ul><p>Three facets: archiving (disparate historical sources in an open, interactive, unified system), teaching (exploring the techniques interactively), and creating (applying them computationally to new works). For the interaction I’m thinking of a brass planetarium meets Vitruvian man, to add a sense of “historical” to this “future”. The prototype moved from a Blender add-on to Unity VR.</p><p>I entered the project in the Choreographic Coding Lab (CCL #15, September 2023) and it was accepted, but I couldn’t make the travel work.</p>",
            "url": "https://www.btylerparker.com/2023/07/29/future-historical-acting",
            
            
            
            
            
            "date_published": "2023-07-29T00:00:00-04:00",
            "date_modified": "2023-07-29T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2023/05/01/pirates-of-penzance-airship",
            "title": "The Pirates of Penzance Airship",
            "summary": null,
            "content_text": "A VR-painted pirate airship, used in an animated sequence during the overture of Blue Hill Troupe’s “The Pirates of Penzance” (animated in VR too, using Quill). I also performed as the Pirate King, and 3D-printed props and set pieces.       ",
            "content_html": "<p>A VR-painted pirate airship, used in an animated sequence during the overture of Blue Hill Troupe’s “The Pirates of Penzance” (animated in VR too, using Quill). I also performed as the Pirate King, and 3D-printed props and set pieces.</p><div class=\"sketchfab-embed-wrapper\"> <iframe title=\"The Pirates of Penzance - Airship\" frameborder=\"0\" allowfullscreen=\"\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allow=\"autoplay; fullscreen; xr-spatial-tracking\" xr-spatial-tracking=\"\" execution-while-out-of-viewport=\"\" execution-while-not-rendered=\"\" web-share=\"\" src=\"https://sketchfab.com/models/98692048030844c192edd1e4d34aede3/embed?ui_theme=dark\"> </iframe> </div><div class=\"embed-container\">    <iframe src=\"https://www.youtube.com/embed/qxr_EiqunFY\" frameborder=\"0\" allowfullscreen=\"\"></iframe></div>",
            "url": "https://www.btylerparker.com/2023/05/01/pirates-of-penzance-airship",
            
            "external_url": "https://skfb.ly/oGJ9H",
            
            "tags": ["quillustration","sketchfab"],
            
            "date_published": "2023-05-01T00:00:00-04:00",
            "date_modified": "2023-05-01T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2023/02/17/pirates-of-penzance-props",
            "title": "The Pirates of Penzance Props",
            "summary": null,
            "content_text": "In addition to playing the Pirate King in Blue Hill Troupe’s The Pirates of Penzance, I assisted with prop fabrication. Collapsible, telescoping binoculars, printed with PrusaSlicer’s new “organic” supports (which look like cool trees), ready for the props department to add their touches. And a whole bunch of gears, since every steampunk rendition of Pirates of Penzance needs them.The binoculars, prepped to print (the green supports come off after), then printed, collapsed and extended:If you’re doing steampunk, you need decorative gears. I found a bunch of gear files, scaled them and printed them out. A bunch went on the dinghy, and many more “greeble” gears were printed to be added to costumes and props:I also printed a “toy wheel”, a mini version of the ship’s wheel:And for the pirates’ sherry still, I barely contributed: just various functional nozzle adapters.On Instagram: binoculars, binoculars printed, gears.",
            "content_html": "<p>In addition to playing the Pirate King in Blue Hill Troupe’s The Pirates of Penzance, I assisted with prop fabrication. Collapsible, telescoping binoculars, printed with PrusaSlicer’s new “organic” supports (which look like cool trees), ready for the props department to add their touches. And a whole bunch of gears, since every steampunk rendition of Pirates of Penzance needs them.</p><p>The binoculars, prepped to print (the green supports come off after), then printed, collapsed and extended:</p><p><img src=\"/assets/media/posts/2023-02-17-pirates-of-penzance-props/binoculars-3d-print-file.jpg\" alt=\"Binoculars 3D print file with green organic supports\" /><img src=\"/assets/media/posts/2023-02-17-pirates-of-penzance-props/binoculars-printed-collapsed.jpg\" alt=\"Printed binoculars, collapsed\" /><img src=\"/assets/media/posts/2023-02-17-pirates-of-penzance-props/binoculars-printed-extended.jpg\" alt=\"Printed binoculars, extended\" /></p><p>If you’re doing steampunk, you need decorative gears. I found a bunch of gear files, scaled them and printed them out. A bunch went on the dinghy, and many more “greeble” gears were printed to be added to costumes and props:</p><p><img src=\"/assets/media/posts/2023-02-17-pirates-of-penzance-props/gears.jpg\" alt=\"Printed gears\" /><img src=\"/assets/media/posts/2023-02-17-pirates-of-penzance-props/gears-on-dingy.jpg\" alt=\"Gears on the dinghy\" /><img src=\"/assets/media/posts/2023-02-17-pirates-of-penzance-props/greeble.jpg\" alt=\"Greeble gears on the printer\" /></p><p>I also printed a “toy wheel”, a mini version of the ship’s wheel:</p><p><img src=\"/assets/media/posts/2023-02-17-pirates-of-penzance-props/toy-ship-wheel.jpg\" alt=\"The toy ship wheel\" /></p><p>And for the pirates’ sherry still, I barely contributed: just various functional nozzle adapters.</p><p><img src=\"/assets/media/posts/2023-02-17-pirates-of-penzance-props/adapter.jpg\" alt=\"A printed nozzle adapter\" /></p><p>On Instagram: <a href=\"https://www.instagram.com/p/CoyggAMOmDj/\">binoculars</a>, <a href=\"https://www.instagram.com/p/Co7_G47P_u9/\">binoculars printed</a>, <a href=\"https://www.instagram.com/p/Co_eFjduraV/\">gears</a>.</p>",
            "url": "https://www.btylerparker.com/2023/02/17/pirates-of-penzance-props",
            
            
            
            
            
            "date_published": "2023-02-17T00:00:00-05:00",
            "date_modified": "2023-02-17T00:00:00-05:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2022/10/05/sweeney-todd-vr-stage",
            "title": "Sweeney Todd VR Stage",
            "summary": null,
            "content_text": "A Quill VR painting of the original Sweeney Todd stage, to be converted to VR, in the line of my other VR stages. So far: Pirelli’s cart, the pie and barber shop, a barrel and the table it rests on, a stool, mugs, and the barber stairs (which sent me back for better reference).The research leans on the 1979 Broadway production and its designer, Eugene Lee: the full show recordings, Martha Swope’s photographs at the NYPL, and Theater Design and Technology.The barber chairFrom the original 1979 Broadway commercial, the chair appears to use a spring and a weight: the spring brings it back to the seated position, and the weight drives the chair back as the seat back is raised. Eugene Lee has said that “a guy named ‘Spider’ solved the chair problem”, with no more real information, so the mechanism is reconstructed from the footage.Still in progress.",
            "content_html": "<p>A Quill VR painting of the original Sweeney Todd stage, to be converted to VR, in the line of my other VR stages. So far: Pirelli’s cart, the pie and barber shop, a barrel and the table it rests on, a stool, mugs, and the barber stairs (which sent me back for better reference).</p><p><img src=\"/assets/media/posts/2022-10-05-sweeney-todd-vr-stage/full-stage.jpg\" alt=\"The full stage, with the pie shop in place\" /></p><p><img src=\"/assets/media/posts/2022-10-05-sweeney-todd-vr-stage/pie-shop-overview.jpg\" alt=\"Mrs. Lovett's pie shop\" /></p><p><img src=\"/assets/media/posts/2022-10-05-sweeney-todd-vr-stage/pie-shop-front.jpg\" alt=\"The pie shop under the factory skylight\" /></p><p>The research leans on the 1979 Broadway production and its designer, Eugene Lee: the full show recordings, Martha Swope’s photographs at the NYPL, and Theater Design and Technology.</p><h2 id=\"the-barber-chair\">The barber chair</h2><p>From the original 1979 Broadway commercial, the chair appears to use a spring and a weight: the spring brings it back to the seated position, and the weight drives the chair back as the seat back is raised. Eugene Lee has said that “a guy named ‘Spider’ solved the chair problem”, with no more real information, so the mechanism is reconstructed from the footage.</p><p>Still in progress.</p>",
            "url": "https://www.btylerparker.com/2022/10/05/sweeney-todd-vr-stage",
            
            
            
            
            
            "date_published": "2022-10-05T00:00:00-04:00",
            "date_modified": "2022-10-05T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2022/01/01/bought-broken",
            "title": "Bought/Broken",
            "summary": null,
            "content_text": "I was the Unity/WebXR developer for Bought/Broken, Theresa Loong’s (director, producer) and Robbie Lynn Hunsinger’s (composer and performer, sound director) interactive piece about intimate partner violence, seen through the lens of objects broken in the relationship. It was a recipient of the IGDA Foundation 2021 Diverse Game Developers Fund.",
            "content_html": "<p>I was the Unity/WebXR developer for Bought/Broken, Theresa Loong’s (director, producer) and Robbie Lynn Hunsinger’s (composer and performer, sound director) interactive piece about intimate partner violence, seen through the lens of objects broken in the relationship. It was a recipient of the IGDA Foundation 2021 Diverse Game Developers Fund.</p>",
            "url": "https://www.btylerparker.com/2022/01/01/bought-broken",
            
            "external_url": "https://loong.com/boughtbroken",
            
            
            
            "date_published": "2022-01-01T00:00:00-05:00",
            "date_modified": "2022-01-01T00:00:00-05:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2021/09/12/amazon-astro",
            "title": "Amazon Astro Synthetic Data",
            "summary": null,
            "content_text": "To teach a home robot to see people, Amazon’s Lab126 (the project was codenamed Vesta) needed synthetic humans moving through synthetic homes in Unreal Engine 4. The pipeline retargeted the CMU motion-capture library onto Body Labs skeletons, combined them with a range of body shapes into FBX skeleton and animation files, and imported them into Unreal as characters spawned into the scene, across walking, standing, sitting and other actions.Models trained on the synthetic humans generalized poorly to real footage, and the search for that domain gap led to the keypoints. The keypoint “sockets” on the body came from three placements: at a joint (wrists, elbows, knees, ankles), whose position is a linear regression over the body’s vertices; at a surface vertex (nose, eyes, ears), parented to the neck; or interpolated between a joint and a vertex (hips, shoulders), parented to the joint. That held for the 2D image cases it was built for, but in 3D the hip and shoulder positions drifted, and extreme angles exaggerated the error. The limitation was parenting: a socket placed right relative to its joint moves wrong when that joint rotates.My fix was to give the sockets their own linear regression over the mesh vertices, the way the joints already had: place the sockets on the shape templates in Unreal, export them as ordered vertices with a parent list, and regress from there. Lab126 adopted the plan as its next steps.",
            "content_html": "<p>To teach a home robot to see people, Amazon’s Lab126 (the project was codenamed Vesta) needed synthetic humans moving through synthetic homes in Unreal Engine 4. The pipeline retargeted the CMU motion-capture library onto Body Labs skeletons, combined them with a range of body shapes into FBX skeleton and animation files, and imported them into Unreal as characters spawned into the scene, across walking, standing, sitting and other actions.</p><p><img src=\"/assets/media/posts/2021-09-12-amazon-astro/ue4-retarget.jpg\" alt=\"A retargeted human in the Unreal scene\" /></p><p>Models trained on the synthetic humans generalized poorly to real footage, and the search for that domain gap led to the keypoints. The keypoint “sockets” on the body came from three placements: at a joint (wrists, elbows, knees, ankles), whose position is a linear regression over the body’s vertices; at a surface vertex (nose, eyes, ears), parented to the neck; or interpolated between a joint and a vertex (hips, shoulders), parented to the joint. That held for the 2D image cases it was built for, but in 3D the hip and shoulder positions drifted, and extreme angles exaggerated the error. The limitation was parenting: a socket placed right relative to its joint moves wrong when that joint rotates.</p><p><img src=\"/assets/media/posts/2021-09-12-amazon-astro/shoulder-socket.jpg\" alt=\"The left shoulder socket at position 1 drifts to position 2 when its parent joint rotates\" /></p><p>My fix was to give the sockets their own linear regression over the mesh vertices, the way the joints already had: place the sockets on the shape templates in Unreal, export them as ordered vertices with a parent list, and regress from there. Lab126 adopted the plan as its next steps.</p>",
            "url": "https://www.btylerparker.com/2021/09/12/amazon-astro",
            
            "external_url": "https://youtu.be/YiHE5y1L2Bk",
            
            
            
            "date_published": "2021-09-12T00:00:00-04:00",
            "date_modified": "2021-09-12T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2021/05/16/drossling",
            "title": "Drossling",
            "summary": null,
            "content_text": "     Drossling  by  Tyler Parker  on SketchfabPainted in VR using the Quill application, on Oculus. Character design by the very talented Austin Sung",
            "content_html": "<div class=\"sketchfab-embed-wrapper\"> <iframe title=\"Drossling\" frameborder=\"0\" allowfullscreen=\"\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allow=\"autoplay; fullscreen; xr-spatial-tracking\" xr-spatial-tracking=\"\" execution-while-out-of-viewport=\"\" execution-while-not-rendered=\"\" web-share=\"\" src=\"https://sketchfab.com/models/1edf97136a574383a8decc3838785e83/embed\"> </iframe> <p style=\"font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;\"> <a href=\"https://sketchfab.com/3d-models/drossling-1edf97136a574383a8decc3838785e83?utm_medium=embed&amp;utm_campaign=share-popup&amp;utm_content=1edf97136a574383a8decc3838785e83\" target=\"_blank\" rel=\"nofollow\" style=\"font-weight: bold; color: #1CAAD9;\"> Drossling </a> by <a href=\"https://sketchfab.com/btparker?utm_medium=embed&amp;utm_campaign=share-popup&amp;utm_content=1edf97136a574383a8decc3838785e83\" target=\"_blank\" rel=\"nofollow\" style=\"font-weight: bold; color: #1CAAD9;\"> Tyler Parker </a> on <a href=\"https://sketchfab.com?utm_medium=embed&amp;utm_campaign=share-popup&amp;utm_content=1edf97136a574383a8decc3838785e83\" target=\"_blank\" rel=\"nofollow\" style=\"font-weight: bold; color: #1CAAD9;\">Sketchfab</a></p></div><p>Painted in VR using the Quill application, on Oculus. Character design by the very talented <a href=\"https://www.instagram.com/krispyartboi/\">Austin Sung</a></p>",
            "url": "https://www.btylerparker.com/2021/05/16/drossling",
            
            
            
            "tags": ["quillustration","sketchfab"],
            
            "date_published": "2021-05-16T00:00:00-04:00",
            "date_modified": "2021-05-16T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2021/04/28/audrey-2",
            "title": "Audrey II Digital Puppet",
            "summary": null,
            "content_text": "",
            "content_html": "",
            "url": "https://www.btylerparker.com/2021/04/28/audrey-2",
            
            
            
            
            
            "date_published": "2021-04-28T00:00:00-04:00",
            "date_modified": "2021-04-28T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2021/03/22/mallow-out",
            "title": "Mallow Out",
            "summary": null,
            "content_text": "     Mallow Out  by  Tyler Parker  on Sketchfab",
            "content_html": "<div class=\"sketchfab-embed-wrapper\"> <iframe title=\"Mallow Out\" frameborder=\"0\" allowfullscreen=\"\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allow=\"autoplay; fullscreen; xr-spatial-tracking\" xr-spatial-tracking=\"\" execution-while-out-of-viewport=\"\" execution-while-not-rendered=\"\" web-share=\"\" src=\"https://sketchfab.com/models/5dad65a3a026423499b9174e58fd7aa0/embed?ui_theme=dark\"> </iframe> <p style=\"font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;\"> <a href=\"https://sketchfab.com/3d-models/mallow-out-5dad65a3a026423499b9174e58fd7aa0?utm_medium=embed&amp;utm_campaign=share-popup&amp;utm_content=5dad65a3a026423499b9174e58fd7aa0\" target=\"_blank\" rel=\"nofollow\" style=\"font-weight: bold; color: #1CAAD9;\"> Mallow Out </a> by <a href=\"https://sketchfab.com/btparker?utm_medium=embed&amp;utm_campaign=share-popup&amp;utm_content=5dad65a3a026423499b9174e58fd7aa0\" target=\"_blank\" rel=\"nofollow\" style=\"font-weight: bold; color: #1CAAD9;\"> Tyler Parker </a> on <a href=\"https://sketchfab.com?utm_medium=embed&amp;utm_campaign=share-popup&amp;utm_content=5dad65a3a026423499b9174e58fd7aa0\" target=\"_blank\" rel=\"nofollow\" style=\"font-weight: bold; color: #1CAAD9;\">Sketchfab</a></p></div>",
            "url": "https://www.btylerparker.com/2021/03/22/mallow-out",
            
            
            
            "tags": ["quillustration","sketchfab"],
            
            "date_published": "2021-03-22T00:00:00-04:00",
            "date_modified": "2021-03-22T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2021/02/25/great-comet-stage",
            "title": "The Great Comet Stage",
            "summary": null,
            "content_text": "My fan VR stage rendition of the Broadway musical “Natasha, Pierre, and the Great Comet of 1812”. Painted in Quill, refined in Blender and Unity, and deployed to VRChat for live performance; Sketchfab is just a preview.   ",
            "content_html": "<p>My fan VR stage rendition of the Broadway musical “Natasha, Pierre, and the Great Comet of 1812”. Painted in Quill, refined in Blender and Unity, and deployed to VRChat for live performance; Sketchfab is just a preview.</p><div class=\"sketchfab-embed-wrapper\"> <iframe title=\"'Great Comet' Stage\" frameborder=\"0\" allowfullscreen=\"\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allow=\"autoplay; fullscreen; xr-spatial-tracking\" xr-spatial-tracking=\"\" execution-while-out-of-viewport=\"\" execution-while-not-rendered=\"\" web-share=\"\" src=\"https://sketchfab.com/models/e28698af9d144906b8fd2897a16b9191/embed?ui_theme=dark\"> </iframe> </div>",
            "url": "https://www.btylerparker.com/2021/02/25/great-comet-stage",
            
            "external_url": "https://skfb.ly/6ZqKM",
            
            "tags": ["quillustration","sketchfab"],
            
            "date_published": "2021-02-25T00:00:00-05:00",
            "date_modified": "2021-02-25T00:00:00-05:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2020/10/01/porgy-and-bass",
            "title": "Porgy and Bass",
            "summary": null,
            "content_text": "   ",
            "content_html": "<div class=\"sketchfab-embed-wrapper\"> <iframe title=\"Porgy And Bass\" frameborder=\"0\" allowfullscreen=\"\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allow=\"autoplay; fullscreen; xr-spatial-tracking\" xr-spatial-tracking=\"\" execution-while-out-of-viewport=\"\" execution-while-not-rendered=\"\" web-share=\"\" src=\"https://sketchfab.com/models/14dd5dc763bb487d89e7b3d1c5e47dbf/embed\"> </iframe> </div>",
            "url": "https://www.btylerparker.com/2020/10/01/porgy-and-bass",
            
            
            
            "tags": ["quillustration","sketchfab"],
            
            "date_published": "2020-10-01T00:00:00-04:00",
            "date_modified": "2020-10-01T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2020/09/02/multiplane-camera",
            "title": "Disney Multiplane Camera - Reverse Engineering",
            "summary": null,
            "content_text": "Disney’s Multiplane Camera is a marvelous tool used to give the illusion of depth, as seen in the opening forest shot of Bambi. Here, I’m using optical flow to “reverse engineer the performance” of the Multiplane Camera for this shot, and aim to be able to do so for any shot it was used in, using other computational techniques as well.Synthetic dataA synthetic multiplane-camera shot: a composite of the final image, and the “ground-truth” pixel-wise vector motion image, where color represents direction and brightness represents speed (things in front move faster, things in back slower).Synthetic data, when created and used correctly, can be very useful. At the very least it allows you to have varied data to test your algorithms and provides an objective metric; at best you can use it to train machine learning models that can be applied to real data. I’m optimistic it can work here, as the multiplane camera is itself a synthetic illusion.Reconstructing the cameraI’m roughly reconstructing the multiplane camera in 3D with at least plausible dimensions, since there are so many vague and conflicting accounts of the size of these things. I want my synthetic data to correspond to plausible real-world configurations of the machine, so that models making inferences from the pixel-wise data also have corresponding real-world positional data to map their results onto.Plus, you know, it’s fun.On Instagram: optical flow on Bambi, synthetic data, reconstructing the camera, notes on analyzing hand-drawn animated fire.",
            "content_html": "<p>Disney’s Multiplane Camera is a marvelous tool used to give the illusion of depth, as seen in the opening forest shot of Bambi. Here, I’m using optical flow to “reverse engineer the performance” of the Multiplane Camera for this shot, and aim to be able to do so for any shot it was used in, using other computational techniques as well.</p><p><img src=\"/assets/media/posts/2020-09-02-multiplane-camera/optical-flow.jpg\" alt=\"Optical flow on the opening shot of Bambi: the frame, and its dense flow\" /></p><h2 id=\"synthetic-data\">Synthetic data</h2><p><img src=\"/assets/media/posts/2020-09-02-multiplane-camera/thumbnail.jpg\" alt=\"A synthetic multiplane-camera shot and its ground-truth motion image\" /></p><p>A synthetic multiplane-camera shot: a composite of the final image, and the “ground-truth” pixel-wise vector motion image, where color represents direction and brightness represents speed (things in front move faster, things in back slower).</p><p>Synthetic data, when created and used correctly, can be very useful. At the very least it allows you to have varied data to test your algorithms and provides an objective metric; at best you can use it to train machine learning models that can be applied to real data. I’m optimistic it can work here, as the multiplane camera is itself a synthetic illusion.</p><h2 id=\"reconstructing-the-camera\">Reconstructing the camera</h2><p>I’m roughly reconstructing the multiplane camera in 3D with at least plausible dimensions, since there are so many vague and conflicting accounts of the size of these things. I want my synthetic data to correspond to plausible real-world configurations of the machine, so that models making inferences from the pixel-wise data also have corresponding real-world positional data to map their results onto.</p><p>Plus, you know, it’s fun.</p><p><img src=\"/assets/media/posts/2020-09-02-multiplane-camera/camera-reconstruction.jpg\" alt=\"The camera at the Walt Disney Family Museum, with the 3D reconstruction laid over the photo\" /></p><p><img src=\"/assets/media/posts/2020-09-02-multiplane-camera/camera-fspy.jpg\" alt=\"Matching the camera to the photo\" /></p><p><img src=\"/assets/media/posts/2020-09-02-multiplane-camera/camera-top.jpg\" alt=\"Looking down through the planes\" /></p><p>On Instagram: <a href=\"https://www.instagram.com/p/CEp5TVNDsXU/\">optical flow on Bambi</a>, <a href=\"https://www.instagram.com/p/CExum3MDE-X/\">synthetic data</a>, <a href=\"https://www.instagram.com/p/CFOP5-vD7dj/\">reconstructing the camera</a>, <a href=\"https://www.instagram.com/p/CFfNHnOjuht/\">notes on analyzing hand-drawn animated fire</a>.</p>",
            "url": "https://www.btylerparker.com/2020/09/02/multiplane-camera",
            
            
            
            
            
            "date_published": "2020-09-02T00:00:00-04:00",
            "date_modified": "2020-09-02T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2020/09/01/eyvind-earle-in-vr",
            "title": "Eyvind Earle's Sleeping Beauty in VR",
            "summary": null,
            "content_text": "Adapting Eyvind Earle’s Sleeping Beauty background tutorial (c. 1959) for Quill VR, from photos I took at the Walt Disney Family Museum exhibit.Most of the scene has a graphical feel, with flat shapes and colors layered to create visual complexity. The “hero” trees are a different story: a lot of texture and organic form, which is hard to reach in Quill without adding too much geometry. For those I used long 3D strokes like paint strokes, building up the textured form of the tree and suggesting its lighting.Geometry nodesLater I learned Blender’s geometry nodes and, instead of hand-painting every Earle-style bush, built a procedural setup from the base leaf assets that generates similar but slightly randomized bushes. The curious part: using geometry nodes to emulate a process in Quill that emulates an artist’s painting style, while eschewing all of the software’s own lighting and shading.A bird’s-eye view of the whole piece. I should host a concert in there someday.On Instagram: the start, hero trees, geometry nodes, painted trees, bird’s-eye view.",
            "content_html": "<p>Adapting Eyvind Earle’s Sleeping Beauty background tutorial (c. 1959) for Quill VR, from photos I took at the Walt Disney Family Museum exhibit.</p><p><img src=\"/assets/media/posts/2020-09-01-eyvind-earle-in-vr/first-tree.jpg\" alt=\"The first tree, in Quill\" /></p><p>Most of the scene has a graphical feel, with flat shapes and colors layered to create visual complexity. The “hero” trees are a different story: a lot of texture and organic form, which is hard to reach in Quill without adding too much geometry. For those I used long 3D strokes like paint strokes, building up the textured form of the tree and suggesting its lighting.</p><p><img src=\"/assets/media/posts/2020-09-01-eyvind-earle-in-vr/painted-tree.jpg\" alt=\"A hero tree: long 3D strokes built up like paint\" /></p><h2 id=\"geometry-nodes\">Geometry nodes</h2><p>Later I learned Blender’s geometry nodes and, instead of hand-painting every Earle-style bush, built a procedural setup from the base leaf assets that generates similar but slightly randomized bushes. The curious part: using geometry nodes to emulate a process in Quill that emulates an artist’s painting style, while eschewing all of the software’s own lighting and shading.</p><p><img src=\"/assets/media/posts/2020-09-01-eyvind-earle-in-vr/geometry-nodes.jpg\" alt=\"Procedural bushes from the geometry-nodes setup, in Blender\" /></p><p><img src=\"/assets/media/posts/2020-09-01-eyvind-earle-in-vr/birds-eye.jpg\" alt=\"A bird's-eye view of the whole piece\" /></p><p>A bird’s-eye view of the whole piece. I should host a concert in there someday.</p><p>On Instagram: <a href=\"https://www.instagram.com/p/CEnYwNwjD2U/\">the start</a>, <a href=\"https://www.instagram.com/p/CFtJTI2jQKd/\">hero trees</a>, <a href=\"https://www.instagram.com/p/CQpfF-LjGdw/\">geometry nodes</a>, <a href=\"https://www.instagram.com/p/CRPzi_ZjAKx/\">painted trees</a>, <a href=\"https://www.instagram.com/p/CQm4wnjD9OY/\">bird’s-eye view</a>.</p>",
            "url": "https://www.btylerparker.com/2020/09/01/eyvind-earle-in-vr",
            
            
            
            
            
            "date_published": "2020-09-01T00:00:00-04:00",
            "date_modified": "2020-09-01T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2020/08/01/walk-with-me",
            "title": "Walk With Me",
            "summary": null,
            "content_text": "Art-A-Hack DANCEDEMIC 2020. I developed the visuals and the framework that responded to the dancers’ Emotibit biometric data and art direction, for the Battery Dance Festival, which went virtual due to COVID.    ",
            "content_html": "<p>Art-A-Hack DANCEDEMIC 2020. I developed the visuals and the framework that responded to the dancers’ Emotibit biometric data and art direction, for the Battery Dance Festival, which went virtual due to COVID.</p><div class=\"embed-container\">    <iframe src=\"https://www.youtube.com/embed/aPwrJDgkJ2M?start=616\" frameborder=\"0\" allowfullscreen=\"\"></iframe></div>",
            "url": "https://www.btylerparker.com/2020/08/01/walk-with-me",
            
            "external_url": "https://youtu.be/aPwrJDgkJ2M?t=616",
            
            
            
            "date_published": "2020-08-01T00:00:00-04:00",
            "date_modified": "2020-08-01T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2020/04/19/a-little-night-music-stage",
            "title": "A Little Night Music Stage",
            "summary": null,
            "content_text": "My fan VR stage rendition of the Broadway musical “A Little Night Music”, by Stephen Sondheim. Painted in Quill, refined in Blender and Unity, and deployed to VRChat for live performance.   ",
            "content_html": "<p>My fan VR stage rendition of the Broadway musical “A Little Night Music”, by Stephen Sondheim. Painted in Quill, refined in Blender and Unity, and deployed to VRChat for live performance.</p><div class=\"sketchfab-embed-wrapper\"> <iframe title=\"'A Little Night Music' - Stage\" frameborder=\"0\" allowfullscreen=\"\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allow=\"autoplay; fullscreen; xr-spatial-tracking\" xr-spatial-tracking=\"\" execution-while-out-of-viewport=\"\" execution-while-not-rendered=\"\" web-share=\"\" src=\"https://sketchfab.com/models/d58444558b8346d49bbfe409eb2ff882/embed?ui_theme=dark\"> </iframe> </div>",
            "url": "https://www.btylerparker.com/2020/04/19/a-little-night-music-stage",
            
            "external_url": "https://skfb.ly/op7IA",
            
            "tags": ["quillustration","sketchfab"],
            
            "date_published": "2020-04-19T00:00:00-04:00",
            "date_modified": "2020-04-19T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2020/04/18/vr-painterly-stages",
            "title": "VR Painterly Stages",
            "summary": null,
            "content_text": "An ongoing series of stages painted in VR: each is painted in Quill, refined in Blender and Unity, and deployed to VRChat for live performance, or animated for the stage.  A Little Night Music, for live performance in VRChat  The Great Comet of 1812, for live performance in VRChat  Sweeney Todd, a painting of Eugene Lee’s original 1979 Broadway stage, in progress  The Pirates of Penzance airship, animated for the overture of Blue Hill Troupe’s live productionFurther Quill projects for musical numbers sit alongside them: “C’est Moi” and “Lancelot” from Camelot, “High Noon”, Little Shop, “Lonely Room”, with folders for opera and Gilbert &amp; Sullivan.",
            "content_html": "<p>An ongoing series of stages painted in VR: each is painted in Quill, refined in Blender and Unity, and deployed to VRChat for live performance, or animated for the stage.</p><ul>  <li><a href=\"/2020/04/19/a-little-night-music-stage\">A Little Night Music</a>, for live performance in VRChat</li>  <li><a href=\"/2021/02/25/great-comet-stage\">The Great Comet of 1812</a>, for live performance in VRChat</li>  <li><a href=\"/2022/10/05/sweeney-todd-vr-stage\">Sweeney Todd</a>, a painting of Eugene Lee’s original 1979 Broadway stage, in progress</li>  <li><a href=\"/2023/05/01/pirates-of-penzance-airship\">The Pirates of Penzance airship</a>, animated for the overture of Blue Hill Troupe’s live production</li></ul><p>Further Quill projects for musical numbers sit alongside them: “C’est Moi” and “Lancelot” from Camelot, “High Noon”, Little Shop, “Lonely Room”, with folders for opera and Gilbert &amp; Sullivan.</p>",
            "url": "https://www.btylerparker.com/2020/04/18/vr-painterly-stages",
            
            
            
            
            
            "date_published": "2020-04-18T00:00:00-04:00",
            "date_modified": "2020-04-18T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2019/06/05/amazon-go",
            "title": "Amazon Go Synthetic Data",
            "summary": null,
            "content_text": "Amazon Go’s computer vision needed labelled images of shoppers reaching into shelves, more and stranger than real stores could supply. The synthetic data framework, built in Blender through its Python API, rebuilt a virtual Go store (floor, shelves, fridges, the store’s real camera configurations and lighting) and filled it with virtual customers: textured 3D body scans in SMPL topology, rigged and animated by Body Labs’ Golem package, with skeletal motion retargeted from real in-store events.Crowd “drivers” composed each scene: replaying a real event, scattering a random crowd without collisions, augmenting a real event with extra shoppers for occlusion, or composing hard cases on purpose (crossed arms, vertical picks, a child in a parent’s arms). Hand poses were randomized so networks wouldn’t overfit to SMPL’s flat hands.Every frame came with its ground truth, rendered from every camera: 2D and 3D body joints (with visibility and inside-shelf flags for the palms), instance and body-part segmentation, head-tracking masks, depth, and the event-to-customer association vectors.Golem generated the rendered data itself: bodies placed in scenes across combinations of shape, pose, background and lighting, each image written out with its render passes (beauty, depth, diffuse albedo, normals, segmentation).Motion came in through Moshcap, packaged as a Docker image: pointed at CMU motion-capture files, it fit them to the body model and wrote animations Golem could load.",
            "content_html": "<p>Amazon Go’s computer vision needed labelled images of shoppers reaching into shelves, more and stranger than real stores could supply. The synthetic data framework, built in Blender through its Python API, rebuilt a virtual Go store (floor, shelves, fridges, the store’s real camera configurations and lighting) and filled it with virtual customers: textured 3D body scans in SMPL topology, rigged and animated by Body Labs’ Golem package, with skeletal motion retargeted from real in-store events.</p><p><img src=\"/assets/media/posts/2019-06-05-amazon-go/golem-render-example.jpg\" alt=\"A Golem render: a scanned body, reposed and composited into a background capture\" /></p><p>Crowd “drivers” composed each scene: replaying a real event, scattering a random crowd without collisions, augmenting a real event with extra shoppers for occlusion, or composing hard cases on purpose (crossed arms, vertical picks, a child in a parent’s arms). Hand poses were randomized so networks wouldn’t overfit to SMPL’s flat hands.</p><p>Every frame came with its ground truth, rendered from every camera: 2D and 3D body joints (with visibility and inside-shelf flags for the palms), instance and body-part segmentation, head-tracking masks, depth, and the event-to-customer association vectors.</p><p><img src=\"/assets/media/posts/2019-06-05-amazon-go/synthetic-render-layers.jpg\" alt=\"Render layers: the composite, the rendered body, its mask\" /></p><p>Golem generated the rendered data itself: bodies placed in scenes across combinations of shape, pose, background and lighting, each image written out with its render passes (beauty, depth, diffuse albedo, normals, segmentation).</p><p><img src=\"/assets/media/posts/2019-06-05-amazon-go/golem-render-passes.jpg\" alt=\"Golem render passes for two samples: beauty, depth, diffuse, normals, segmentation\" /></p><p>Motion came in through Moshcap, packaged as a Docker image: pointed at CMU motion-capture files, it fit them to the body model and wrote animations Golem could load.</p><p><img src=\"/assets/media/posts/2019-06-05-amazon-go/shape-pose.jpg\" alt=\"Shape and pose varied independently: one body from T-pose into two sampled poses\" /></p><p><img src=\"/assets/media/posts/2019-06-05-amazon-go/scanned-avatar.jpg\" alt=\"A textured body scan as a rigged avatar\" /></p><p><img src=\"/assets/media/posts/2019-06-05-amazon-go/synthetic-scenes.jpg\" alt=\"The same avatar animated and composited into captured street and shop scenes\" /></p><p><img src=\"/assets/media/posts/2019-06-05-amazon-go/synthetic-dance.jpg\" alt=\"A scanned body animated with a motion-capture dance and composited into a scene\" /></p>",
            "url": "https://www.btylerparker.com/2019/06/05/amazon-go",
            
            "external_url": "https://youtu.be/NrmMk1Myrxc",
            
            
            
            "date_published": "2019-06-05T00:00:00-04:00",
            "date_modified": "2019-06-05T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2015/11/25/the-abominable-showman",
            "title": "The Abominable Showman",
            "summary": null,
            "content_text": "For Ted Baker’s 2015 holiday campaign, The Abominable Showman, produced with The Science Project, I sang the title character’s songs: a Yeti with operatic ambitions, performing 15-second spots of “Figaro”, “Jingle Bells”, “The Twelve Days of Christmas” and “O Christmas Tree” on the campaign’s site.",
            "content_html": "<p>For Ted Baker’s 2015 holiday campaign, The Abominable Showman, produced with The Science Project, I sang the title character’s songs: a Yeti with operatic ambitions, performing 15-second spots of “Figaro”, “Jingle Bells”, “The Twelve Days of Christmas” and “O Christmas Tree” on the campaign’s site.</p>",
            "url": "https://www.btylerparker.com/2015/11/25/the-abominable-showman",
            
            
            
            
            
            "date_published": "2015-11-25T00:00:00-05:00",
            "date_modified": "2015-11-25T00:00:00-05:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2015/08/01/perry-ellis",
            "title": "Perry Ellis 'Shop of the Future'",
            "summary": null,
            "content_text": "Perry Ellis debuted its “Shop of the Future” in Macy’s Herald Square, built with The Science Project. The shop ran in three zones: a video wall, a proximity mirror and a lighting display, powered by five Mac Minis (one for the video wall, three for the mirror zone, one central server).I built the magic mirror. An ultrasonic proximity sensor on an Arduino, read by a Raspberry Pi, told a Meteor server in real time when a shopper stepped up to it; the server triggered the mirror and its two displays, drove the colors of the lighting display, and synced the shop’s media from the content system every night.Photo: MR Magazine.More: MR Magazine, “Perry Ellis Debuts ‘Shop of the Future’ Retail Concept at Macy’s Herald Square”.",
            "content_html": "<p>Perry Ellis debuted its “Shop of the Future” in Macy’s Herald Square, built with The Science Project. The shop ran in three zones: a video wall, a proximity mirror and a lighting display, powered by five Mac Minis (one for the video wall, three for the mirror zone, one central server).</p><p>I built the magic mirror. An ultrasonic proximity sensor on an Arduino, read by a Raspberry Pi, told a Meteor server in real time when a shopper stepped up to it; the server triggered the mirror and its two displays, drove the colors of the lighting display, and synced the shop’s media from the content system every night.</p><p><img src=\"/assets/media/posts/2015-08-01-perry-ellis/shop-video-wall.jpg\" alt=\"The shop's video wall at Macy's Herald Square\" /></p><p>Photo: MR Magazine.</p><p>More: <a href=\"https://mr-mag.com/perry-ellis-debuts-shop-of-the-future-retail-concept-at-macys-herald-square/\">MR Magazine, “Perry Ellis Debuts ‘Shop of the Future’ Retail Concept at Macy’s Herald Square”</a>.</p>",
            "url": "https://www.btylerparker.com/2015/08/01/perry-ellis",
            
            "external_url": "https://mr-mag.com/perry-ellis-debuts-shop-of-the-future-retail-concept-at-macys-herald-square/",
            
            
            
            "date_published": "2015-08-01T00:00:00-04:00",
            "date_modified": "2015-08-01T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2014/12/14/cooper-hewitt-mansion-history",
            "title": "Mansion History",
            "summary": null,
            "content_text": "When the Cooper Hewitt reopened in 2015, its visitor experience was digital: touchscreen tables built by Ideum, running interactive software designed by Local Projects.At Local Projects I built Mansion History, the second-floor screen that reveals the Carnegie Mansion before it became the museum. Visitors navigate it by the building’s original floor plan, browsing architectural details, original fittings and fixtures, and the quirks of the mansion’s first residents. I also helped deploy all of the museum’s touch apps.The other interactives were retired in 2022; Mansion History is still on view.Photos: Local Projects, via the Core77 Design Awards.Sources: Cooper Hewitt, “The Interactive Digital Visitor Experience (2015–2022)” · Cooper Hewitt, “Carnegie Mansion: Architecture &amp; Interiors”",
            "content_html": "<p>When the Cooper Hewitt reopened in 2015, its visitor experience was digital: touchscreen tables built by Ideum, running interactive software designed by Local Projects.</p><p>At Local Projects I built Mansion History, the second-floor screen that reveals the Carnegie Mansion before it became the museum. Visitors navigate it by the building’s original floor plan, browsing architectural details, original fittings and fixtures, and the quirks of the mansion’s first residents. I also helped deploy all of the museum’s touch apps.</p><p><img src=\"/assets/media/posts/2014-12-14-cooper-hewitt-mansion-history/tables-gallery.jpg\" alt=\"The touch tables in the galleries\" /></p><p><img src=\"/assets/media/posts/2014-12-14-cooper-hewitt-mansion-history/table-visitor.jpg\" alt=\"A young visitor at a table\" /></p><p>The other interactives were retired in 2022; Mansion History is still on view.</p><p>Photos: Local Projects, via the Core77 Design Awards.</p><p>Sources: <a href=\"https://www.cooperhewitt.org/new-experience/\">Cooper Hewitt, “The Interactive Digital Visitor Experience (2015–2022)”</a> · <a href=\"https://www.cooperhewitt.org/carnegie-mansion-history/\">Cooper Hewitt, “Carnegie Mansion: Architecture &amp; Interiors”</a></p>",
            "url": "https://www.btylerparker.com/2014/12/14/cooper-hewitt-mansion-history",
            
            "external_url": "https://www.cooperhewitt.org/new-experience/",
            
            
            
            "date_published": "2014-12-14T00:00:00-05:00",
            "date_modified": "2014-12-14T00:00:00-05:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2014/09/30/canvs-sentiment-app",
            "title": "Canvs Sentiment App",
            "summary": null,
            "content_text": "Canvs, Mashwork’s sentiment-analysis application, turns the Twitter conversation around a TV episode into measured audience emotion. Among the features: automated insights, a recap written from the data for each episode, covering its reactions against total tweets, five-minute “moments” with their emotion and representative tweets, the top emotions and what drove them, top hashtags, mentions, influencers and most-retweeted tweets, and how the episode ranked across the season (“Episode 4 received the 2nd most love reactions this season”).See also: Canvs Reactions.",
            "content_html": "<p>Canvs, Mashwork’s sentiment-analysis application, turns the Twitter conversation around a TV episode into measured audience emotion. Among the features: automated insights, a recap written from the data for each episode, covering its reactions against total tweets, five-minute “moments” with their emotion and representative tweets, the top emotions and what drove them, top hashtags, mentions, influencers and most-retweeted tweets, and how the episode ranked across the season (“Episode 4 received the 2nd most love reactions this season”).</p><p>See also: <a href=\"/2014/09/23/canvs-reactions\">Canvs Reactions</a>.</p>",
            "url": "https://www.btylerparker.com/2014/09/30/canvs-sentiment-app",
            
            
            
            
            
            "date_published": "2014-09-30T00:00:00-04:00",
            "date_modified": "2014-09-30T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2014/09/23/canvs-reactions",
            "title": "Canvs Reactions",
            "summary": null,
            "content_text": "Canvs measures how audiences feel about TV by reading their tweets. The reactions view charts an episode’s reactions across its airtime (a spike of “moments” through the broadcast hour), breaks them down by emotion (love, intense, good, can’t wait, sucked, WTF…), and surfaces the topics, hashtags, mentions and most-retweeted tweets driving them.Behind the reaction bars, the data had to be sliced by network, series, season, genre and time slot (morning, daytime, primetime, late night), so I added a field-selection option to the API that made topic queries across large sets, such as a whole network, return faster.",
            "content_html": "<p>Canvs measures how audiences feel about TV by reading their tweets. The reactions view charts an episode’s reactions across its airtime (a spike of “moments” through the broadcast hour), breaks them down by emotion (love, intense, good, can’t wait, sucked, WTF…), and surfaces the topics, hashtags, mentions and most-retweeted tweets driving them.</p><p><img src=\"/assets/media/posts/2014-09-23-canvs-reactions/thumbnail.jpg\" alt=\"The reactions chart: an episode's Twitter reactions across airtime, with moments marked\" /></p><p><img src=\"/assets/media/posts/2014-09-23-canvs-reactions/emotions.jpg\" alt=\"The emotion breakdown, with the topics, hashtags and mentions driving it\" /></p><p>Behind the reaction bars, the data had to be sliced by network, series, season, genre and time slot (morning, daytime, primetime, late night), so I added a field-selection option to the API that made topic queries across large sets, such as a whole network, return faster.</p>",
            "url": "https://www.btylerparker.com/2014/09/23/canvs-reactions",
            
            
            
            
            
            "date_published": "2014-09-23T00:00:00-04:00",
            "date_modified": "2014-09-23T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2014/09/06/kidoairaku",
            "title": "Kidoairaku",
            "summary": null,
            "content_text": "              ",
            "content_html": "<div class=\"embed-container\">    <iframe src=\"https://player.vimeo.com/video/105759161\" frameborder=\"0\" webkitallowfullscreen=\"\" mozallowfullscreen=\"\" allowfullscreen=\"\">    </iframe>  </div><div class=\"embed-container\">    <iframe src=\"https://www.youtube.com/embed/Ptv5nDWMPag\" frameborder=\"0\" allowfullscreen=\"\"></iframe></div>",
            "url": "https://www.btylerparker.com/2014/09/06/kidoairaku",
            
            
            
            
            
            "date_published": "2014-09-06T00:00:00-04:00",
            "date_modified": "2014-09-06T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2014/04/21/brookfield-place",
            "title": "Brookfield Place",
            "summary": null,
            "content_text": "Brookfield Place asked Local Projects how digital media could shape the visitor and shopping experience at its new luxury development across from One World Trade Center. The answer was a series of touch screens placed around Brookfield Place that give visitors directions, social media and branded content, unifying the shopping experience. I built the multi-touch kiosk app, in openFrameworks, and its deployment on the digital signage.Photos: Local Projects.Sources: Theresa Loong, the project’s manager at Local Projects · Local Projects, “Retail Made Personal”",
            "content_html": "<p>Brookfield Place asked Local Projects how digital media could shape the visitor and shopping experience at its new luxury development across from One World Trade Center. The answer was a series of touch screens placed around Brookfield Place that give visitors directions, social media and branded content, unifying the shopping experience. I built the multi-touch kiosk app, in openFrameworks, and its deployment on the digital signage.</p><p><img src=\"/assets/media/posts/2014-04-21-brookfield-place/kiosk-map.jpg\" alt=\"A visitor finding a store on the kiosk's map\" /></p><p><img src=\"/assets/media/posts/2014-04-21-brookfield-place/kiosk-lobby.jpg\" alt=\"A kiosk in the Winter Garden\" /></p><p><img src=\"/assets/media/posts/2014-04-21-brookfield-place/kiosk-events.jpg\" alt=\"Upcoming events at the escalators\" /></p><p>Photos: Local Projects.</p><p>Sources: <a href=\"https://loong.com/work#/brookfield-place/\">Theresa Loong, the project’s manager at Local Projects</a> · <a href=\"https://localprojects.com/work/corporate-experience/retail-made-personal/\">Local Projects, “Retail Made Personal”</a></p>",
            "url": "https://www.btylerparker.com/2014/04/21/brookfield-place",
            
            "external_url": "https://localprojects.com/work/corporate-experience/retail-made-personal/",
            
            
            
            "date_published": "2014-04-21T00:00:00-04:00",
            "date_modified": "2014-04-21T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2013/05/20/shadow-plane-scanner",
            "title": "Shadow Plane 3D Scanner",
            "summary": null,
            "content_text": "I built a 3D scanner using shadow planes: sweep a stick’s shadow across an object on two calibrated planes, film it, and recover the object’s shape. I re-implemented the project in C++, with openFrameworks and OpenCV, and OpenGL for the 3D view.    Calibration. The camera’s intrinsics come from automatic checkerboard detection in OpenCV, with sub-corner refinement, and its distortion is corrected with remap images. From the intrinsics and extrinsics, every pixel becomes a ray in world coordinates.Shadow edges. A first pass over the video builds minimum, maximum and threshold shadow images, plus a mask of pixels in shadow the whole time. Each frame’s shadow crossings are fit with least-squares lines on the vertical and horizontal planes; projected into 3D, the two lines define that frame’s shadow plane. A temporal image records, per pixel, the frame the shadow crossed it, and planes can be interpolated between frames.Reconstruction. Each pixel’s ray is intersected with the shadow plane of its crossing time, skipping rays nearly parallel to their plane, where the tiniest error throws the point wildly off. The result is a colored point cloud, viewable in the app and exported as .ply.",
            "content_html": "<p>I built a 3D scanner using shadow planes: sweep a stick’s shadow across an object on two calibrated planes, film it, and recover the object’s shape. I re-implemented the project in C++, with openFrameworks and OpenCV, and OpenGL for the 3D view.</p><div class=\"embed-container\">    <iframe src=\"https://www.youtube.com/embed/W98pMUba5Ek\" frameborder=\"0\" allowfullscreen=\"\"></iframe></div><p><strong>Calibration.</strong> The camera’s intrinsics come from automatic checkerboard detection in OpenCV, with sub-corner refinement, and its distortion is corrected with remap images. From the intrinsics and extrinsics, every pixel becomes a ray in world coordinates.</p><p><img src=\"/assets/media/posts/2013-05-20-shadow-plane-scanner/calibration.jpg\" alt=\"Checkerboard calibration, detected automatically\" /></p><p><strong>Shadow edges.</strong> A first pass over the video builds minimum, maximum and threshold shadow images, plus a mask of pixels in shadow the whole time. Each frame’s shadow crossings are fit with least-squares lines on the vertical and horizontal planes; projected into 3D, the two lines define that frame’s shadow plane. A temporal image records, per pixel, the frame the shadow crossed it, and planes can be interpolated between frames.</p><p><img src=\"/assets/media/posts/2013-05-20-shadow-plane-scanner/temporal.jpg\" alt=\"The temporal image: each pixel colored by when the shadow crossed it\" /></p><p><strong>Reconstruction.</strong> Each pixel’s ray is intersected with the shadow plane of its crossing time, skipping rays nearly parallel to their plane, where the tiniest error throws the point wildly off. The result is a colored point cloud, viewable in the app and exported as .ply.</p><p><img src=\"/assets/media/posts/2013-05-20-shadow-plane-scanner/point-cloud.jpg\" alt=\"A scanned ship in the point-cloud viewer\" /></p>",
            "url": "https://www.btylerparker.com/2013/05/20/shadow-plane-scanner",
            
            "external_url": "https://github.com/btparker/shadow-plane-scan",
            
            
            
            "date_published": "2013-05-20T00:00:00-04:00",
            "date_modified": "2013-05-20T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2013/05/01/interactive-shadow-animation",
            "title": "Shadow Figures",
            "summary": null,
            "content_text": "Shadow Figures: An Interactive Shadow Animation Platform for Performance (2013). Front projection is a good way to make large displays, but it breaks down once someone interacts with it: a performer in front of a projection casts a shadow and blocks the imagery. Even the Metropolitan Opera’s Siegfried ran into it with its projection mapping. Shadow Figures eliminates the performer’s shadow and occlusion, then replaces or augments the shadow with pre-recorded and generated imagery, so the shadow can become an independent character.Detecting a shadow in visible light proved too noisy against a projected, changing background, so the system reads the performer in infrared, which neither the projected background nor a generated shadow disturbs. Built in openFrameworks with OpenCV, it drives two projectors, each corner-warped onto its surface, and runs through a set of modes: the performer’s real shadow, no shadow, a computed shadow, a recorded shadow, a recorded shadow that tracks the performer, and a tween between them, with front projection onto the performer. Despite projector latency and calibration imprecision, it worked as a proof of concept for interactive shadow performance.    ",
            "content_html": "<p><em>Shadow Figures: An Interactive Shadow Animation Platform for Performance</em> (2013). Front projection is a good way to make large displays, but it breaks down once someone interacts with it: a performer in front of a projection casts a shadow and blocks the imagery. Even the Metropolitan Opera’s <em>Siegfried</em> ran into it with its projection mapping. Shadow Figures eliminates the performer’s shadow and occlusion, then replaces or augments the shadow with pre-recorded and generated imagery, so the shadow can become an independent character.</p><p>Detecting a shadow in visible light proved too noisy against a projected, changing background, so the system reads the performer in infrared, which neither the projected background nor a generated shadow disturbs. Built in openFrameworks with OpenCV, it drives two projectors, each corner-warped onto its surface, and runs through a set of modes: the performer’s real shadow, no shadow, a computed shadow, a recorded shadow, a recorded shadow that tracks the performer, and a tween between them, with front projection onto the performer. Despite projector latency and calibration imprecision, it worked as a proof of concept for interactive shadow performance.</p><div class=\"embed-container\">    <iframe src=\"https://www.youtube.com/embed/0Ys5AYuykUc\" frameborder=\"0\" allowfullscreen=\"\"></iframe></div>",
            "url": "https://www.btylerparker.com/2013/05/01/interactive-shadow-animation",
            
            "external_url": "https://github.com/btparker/shadow-play",
            
            
            
            "date_published": "2013-05-01T00:00:00-04:00",
            "date_modified": "2013-05-01T00:00:00-04:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2013/02/11/infographics-data-visualization",
            "title": "Infographics.com Data Visualization",
            "summary": null,
            "content_text": "At Infographics.com (2012–2014) I built interactive data-visualization widgets and applications for clients. Among them:  Bank of America: a content calendar (2013), with an admin view for setting up the calendar’s essential entries and a user view for creating and updating the content itself.  The Boston Consulting Group: an interactive site for its global payments research (2014).  InfographicsLabs (2013): pieces for McKinsey, the Boston Consulting Group and TEDx, and CompanyRank.",
            "content_html": "<p>At Infographics.com (2012–2014) I built interactive data-visualization widgets and applications for clients. Among them:</p><ul>  <li><strong>Bank of America</strong>: a content calendar (2013), with an admin view for setting up the calendar’s essential entries and a user view for creating and updating the content itself.</li>  <li><strong>The Boston Consulting Group</strong>: an interactive site for its global payments research (2014).</li>  <li><strong>InfographicsLabs</strong> (2013): pieces for McKinsey, the Boston Consulting Group and TEDx, and CompanyRank.</li></ul>",
            "url": "https://www.btylerparker.com/2013/02/11/infographics-data-visualization",
            
            
            
            
            
            "date_published": "2013-02-11T00:00:00-05:00",
            "date_modified": "2013-02-11T00:00:00-05:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2012/12/07/illumin-s",
            "title": "Illumin-S Laser Harp",
            "summary": null,
            "content_text": "In 2012 I did a mini-collaboration with Avant Muse (@reynwaves), augmenting his laser harp, the illumin-s, with computer vision and a depth camera. The instrument was limited to one note or event per laser; adding a Kinect depth camera, with custom software to go with it, enabled attenuation of the lasers (pitch modulation, sound and more), which he could control by moving his hands in Z-space.          Eight years later, in 2020, I reconnected with him at his new music studio, and after only a little finagling on the hardware side, the app I wrote still worked, now driving the illumin-s 2.0.On Instagram: the 2020 reunion.",
            "content_html": "<p>In 2012 I did a mini-collaboration with Avant Muse (<a href=\"https://www.instagram.com/reynwaves/\">@reynwaves</a>), augmenting his laser harp, the illumin-s, with computer vision and a depth camera. The instrument was limited to one note or event per laser; adding a Kinect depth camera, with custom software to go with it, enabled attenuation of the lasers (pitch modulation, sound and more), which he could control by moving his hands in Z-space.</p><div class=\"embed-container\">    <iframe src=\"https://player.vimeo.com/video/47997894\" frameborder=\"0\" webkitallowfullscreen=\"\" mozallowfullscreen=\"\" allowfullscreen=\"\">    </iframe>  </div><p>Eight years later, in 2020, I reconnected with him at his new music studio, and after only a little finagling on the hardware side, the app I wrote still worked, now driving the illumin-s 2.0.</p><p><img src=\"/assets/media/posts/2012-12-07-illumin-s/reunion-2020.jpg\" alt=\"Avant Muse playing the illumin-s 2.0 in his studio, 2020\" /></p><p>On Instagram: <a href=\"https://www.instagram.com/p/CF_K2-UjrT5/\">the 2020 reunion</a>.</p>",
            "url": "https://www.btylerparker.com/2012/12/07/illumin-s",
            
            "external_url": "https://vimeo.com/47997894",
            
            
            
            "date_published": "2012-12-07T00:00:00-05:00",
            "date_modified": "2012-12-07T00:00:00-05:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        },
    
        {
            "id": "https://www.btylerparker.com/2010/12/01/painterly-rendering-for-animation",
            "title": "Painterly Rendering for Animation",
            "summary": null,
            "content_text": "“Painterly Rendering for Animation: A Maya Extension”, built with David Dufresne and Matt Forni for Brown’s Interactive Computer Graphics (CS224, class of 2010). Given 3D models and painting parameters, it generates brush strokes from the models’ attributes so the render looks hand painted, frame after frame.Brush strokes are billboards placed over the mesh by barycentric coordinates of their parent faces, so they follow the surface when the mesh deforms. Each frame, a blurred ordinary render supplies the strokes’ colors, and the spatial gradients of a grayscale render (positive and negative x and y) set their orientation. Billboards scale with distance from the camera so strokes keep the same apparent size, and any grayscale image can serve as the brush. Strokes are layered by level of detail, the way a painter blocks in a base color and then refines with smaller brushes.",
            "content_html": "<p>“Painterly Rendering for Animation: A Maya Extension”, built with David Dufresne and Matt Forni for Brown’s Interactive Computer Graphics (CS224, class of 2010). Given 3D models and painting parameters, it generates brush strokes from the models’ attributes so the render looks hand painted, frame after frame.</p><p>Brush strokes are billboards placed over the mesh by barycentric coordinates of their parent faces, so they follow the surface when the mesh deforms. Each frame, a blurred ordinary render supplies the strokes’ colors, and the spatial gradients of a grayscale render (positive and negative x and y) set their orientation. Billboards scale with distance from the camera so strokes keep the same apparent size, and any grayscale image can serve as the brush. Strokes are layered by level of detail, the way a painter blocks in a base color and then refines with smaller brushes.</p><p><img src=\"/assets/media/posts/2010-12-01-painterly-rendering-for-animation/thumbnail.jpg\" alt=\"Levels of detail composited into the final painterly render\" /></p><p><img src=\"/assets/media/posts/2010-12-01-painterly-rendering-for-animation/brushes.jpg\" alt=\"Different brush images and the painting effects they produce\" /></p>",
            "url": "https://www.btylerparker.com/2010/12/01/painterly-rendering-for-animation",
            
            
            
            
            
            "date_published": "2010-12-01T00:00:00-05:00",
            "date_modified": "2010-12-01T00:00:00-05:00",
            
                "author":  {
                "name": "Tyler Parker",
                "url": "btylerparker.com",
                "avatar": null
                }
                
            
        }
    
    ]
}