{"id":8342,"date":"2020-12-09T15:25:37","date_gmt":"2020-12-09T20:25:37","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/?p=8342"},"modified":"2020-12-09T15:33:22","modified_gmt":"2020-12-09T20:33:22","slug":"lampsauce-arsculpture","status":"publish","type":"post","link":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/shivanapandrew-cmu-edu\/12\/09\/lampsauce-arsculpture\/","title":{"rendered":"lampsauce-ARSculpture"},"content":{"rendered":"<h1 style=\"text-align: center\">Augmented Creatures<\/h1>\n<p><iframe title=\"Augmented Reality Sculpture\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/WoUZgEeNqnM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p><iframe title=\"Augmented Reality Sculpture (uncropped)\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/FUOR37RnRII?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<pre>I ended up using Blender for the entirety of this assignment instead of Unity. It is <strong>not really AR<\/strong> in that it is not realtime. Instead, I used <strong>image tracking<\/strong> within <strong>Blender<\/strong> to map certain image targets. Then, I rendered the animation I wanted superimposed over the original video. I definitely think using Unity probably would have been easier to do than what I did. However, I still learned a lot about FBX files (the main reason I did use Unity is because I could not properly make an FBX of the creature asset I made).<\/pre>\n<h2 style=\"text-align: center\">Process<\/h2>\n<div id='gallery-1' class='gallery galleryid-8342 gallery-columns-3 gallery-size-full'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Recording-2020-12-08-at-11.08.30-AM.gif'><img width=\"480\" height=\"292\" src=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Recording-2020-12-08-at-11.08.30-AM.gif\" class=\"attachment-full size-full\" alt=\"\" loading=\"lazy\" aria-describedby=\"gallery-1-8348\" \/><\/a>\n\t\t\t<\/div>\n\t\t\t\t<figcaption class='wp-caption-text gallery-caption' id='gallery-1-8348'>\n\t\t\t\tmeshes follow path\n\t\t\t\t<\/figcaption><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Recording-2020-12-08-at-11.47.27-AM.gif'><img width=\"500\" height=\"304\" src=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Recording-2020-12-08-at-11.47.27-AM.gif\" class=\"attachment-full size-full\" alt=\"\" loading=\"lazy\" aria-describedby=\"gallery-1-8349\" \/><\/a>\n\t\t\t<\/div>\n\t\t\t\t<figcaption class='wp-caption-text gallery-caption' id='gallery-1-8349'>\n\t\t\t\tAdd rotation keyframes\n\t\t\t\t<\/figcaption><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Recording-2020-12-08-at-12.13.03-PM.gif'><img width=\"500\" height=\"304\" src=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Recording-2020-12-08-at-12.13.03-PM.gif\" class=\"attachment-full size-full\" alt=\"\" loading=\"lazy\" aria-describedby=\"gallery-1-8350\" \/><\/a>\n\t\t\t<\/div>\n\t\t\t\t<figcaption class='wp-caption-text gallery-caption' id='gallery-1-8350'>\n\t\t\t\tAdd scale\/spacing keyframes\n\t\t\t\t<\/figcaption><\/figure>\n\t\t<\/div>\n\n<p><strong>Creating the creature<\/strong>: I made one generic creature in Blender using a series of pentagonal toruses. I animated them as I wanted and the style is inspired by my <a href=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/shivanapandrew-cmu-edu\/09\/16\/lampsauce-clock\/\" target=\"_blank\" rel=\"noopener noreferrer\">Creature Clock<\/a> for deliverable03.<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_8347\" aria-describedby=\"caption-attachment-8347\" style=\"width: 800px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/12\/image_tracking_demo.gif\"><img loading=\"lazy\" class=\"wp-image-8347 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/12\/image_tracking_demo.gif\" alt=\"\" width=\"800\" height=\"450\" \/><\/a><figcaption id=\"caption-attachment-8347\" class=\"wp-caption-text\">Image tracking demo<\/figcaption><\/figure>\n<p><strong>Tracking the video<\/strong>: I prerecorded this rather mundane scene of my family&#8217;s dining table (honestly, we never eat here tho). Using the Movie Clip Editor within Blender, I detected the features and tracked them throughout the clip. Then, I assigned a plane and a scene using the trackers so that I could map my assets onto that plane.<\/p>\n<figure id=\"attachment_8352\" aria-describedby=\"caption-attachment-8352\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Recording-2020-12-09-at-1.35.17-AM.gif\"><img loading=\"lazy\" class=\"wp-image-8352\" src=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Recording-2020-12-09-at-1.35.17-AM.gif\" alt=\"\" width=\"630\" height=\"383\" \/><\/a><figcaption id=\"caption-attachment-8352\" class=\"wp-caption-text\">AR scene arrangement<\/figcaption><\/figure>\n<p><strong>Arranging the scene<\/strong>: I then created multiple copies of the original asset. Here, you can see the camera movement is calculated based on the previously mentioned tracking.<\/p>\n<figure id=\"attachment_8346\" aria-describedby=\"caption-attachment-8346\" style=\"width: 800px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/12\/image_sequence.gif\"><img loading=\"lazy\" class=\"wp-image-8346 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/12\/image_sequence.gif\" alt=\"\" width=\"800\" height=\"450\" \/><\/a><figcaption id=\"caption-attachment-8346\" class=\"wp-caption-text\">Rendered animation<\/figcaption><\/figure>\n<p><strong>Time to render<\/strong>: Because I wanted the shadows of the objects to be realistic, I used the cycles renderer. Unfortunately, these measly 372 frames took close to 12 hours to render. Each image here is actually a PNG (ie. it has a clear background)<\/p>\n<figure id=\"attachment_8344\" aria-describedby=\"caption-attachment-8344\" style=\"width: 800px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/12\/final_render_2.gif\"><img loading=\"lazy\" class=\"wp-image-8344 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/12\/final_render_2.gif\" alt=\"\" width=\"800\" height=\"450\" \/><\/a><figcaption id=\"caption-attachment-8344\" class=\"wp-caption-text\">Composited animation<\/figcaption><\/figure>\n<p><strong>Putting the two parts together<\/strong>: This was honestly a tad disappointing because after 12 hours of waiting, seeing that black border was not a fun time. I still think it looks cool but, no need to worry because cropping is a thing.<\/p>\n<figure id=\"attachment_8345\" aria-describedby=\"caption-attachment-8345\" style=\"width: 800px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/12\/image_sequence_2.gif\"><img loading=\"lazy\" class=\"wp-image-8345 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/12\/image_sequence_2.gif\" alt=\"\" width=\"800\" height=\"450\" \/><\/a><figcaption id=\"caption-attachment-8345\" class=\"wp-caption-text\">Cropped final render<\/figcaption><\/figure>\n<p><strong>Cropping<\/strong>: After the final cropping, there is a bit of compression, so the quality is a bit reduced, but I am super satisfied with how the shadows appear on the table and the wall.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Augmented Creatures I ended up using Blender for the entirety of this assignment instead of Unity. It is not really AR in that it is not realtime. Instead, I used image tracking within Blender to map certain image targets. Then, I rendered the animation I wanted superimposed over the original video. I definitely think using &hellip; <a href=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/shivanapandrew-cmu-edu\/12\/09\/lampsauce-arsculpture\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;lampsauce-ARSculpture&#8221;<\/span><\/a><\/p>\n","protected":false},"author":56,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[79],"tags":[],"_links":{"self":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/posts\/8342"}],"collection":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/users\/56"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/comments?post=8342"}],"version-history":[{"count":5,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/posts\/8342\/revisions"}],"predecessor-version":[{"id":8390,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/posts\/8342\/revisions\/8390"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/media?parent=8342"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/categories?post=8342"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/tags?post=8342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}