{"id":1184,"date":"2020-04-23T22:25:19","date_gmt":"2020-04-23T22:25:19","guid":{"rendered":"http:\/\/ldbart.ca\/?page_id=1184"},"modified":"2020-06-04T21:01:20","modified_gmt":"2020-06-04T21:01:20","slug":"houdini-character-picker-2","status":"publish","type":"page","link":"http:\/\/ldbart.ca\/?page_id=1184","title":{"rendered":"Houdini Character Picker"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1184\" class=\"elementor elementor-1184\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6c4793e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6c4793e\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-2576f79\" data-id=\"2576f79\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-add2ff8 elementor-widget elementor-widget-image\" data-id=\"add2ff8\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"833\" height=\"833\" src=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cropped_cp.png\" class=\"attachment-full size-full wp-image-964\" alt=\"\" srcset=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cropped_cp.png 833w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cropped_cp-300x300.png 300w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cropped_cp-150x150.png 150w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cropped_cp-768x768.png 768w\" sizes=\"(max-width: 833px) 100vw, 833px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-622c108\" data-id=\"622c108\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a79ee9c elementor-widget elementor-widget-heading\" data-id=\"a79ee9c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-large\">Character Picker<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f9423c5 elementor-widget elementor-widget-text-editor\" data-id=\"f9423c5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h4><span style=\"font-weight: normal;\">While working as a co-op student at SideFX software in Toronto, one of my main tasks was improving the Character Picker tool within the 3D animation software Houdini. This was a great opportunity to learn the inner workings of the amazing Houdini software, while learning from some of the brightest minds in the computer graphics field. It was very rewarding to have my work become available to other artists!<\/span><\/h4>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-10e3b6a elementor-widget elementor-widget-text-editor\" data-id=\"10e3b6a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h4>By Lauren D. Bhagwandat<\/h4>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5bbe5fc elementor-section-content-middle elementor-reverse-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5bbe5fc\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f6e4486\" data-id=\"f6e4486\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-94d91fe elementor-view-stacked elementor-position-left elementor-shape-circle elementor-mobile-position-top elementor-vertical-align-top elementor-widget elementor-widget-icon-box\" data-id=\"94d91fe\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon elementor-animation-\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-tools\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tThe Tool\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tThe Character Picker is a character rigging tool within Houdini that enables the artist to set an image of the character they wish to rig, then add a series of buttons for easy access to the character's rig controls. \t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-070ea3c elementor-view-stacked elementor-position-left elementor-shape-circle elementor-mobile-position-top elementor-vertical-align-top elementor-widget elementor-widget-icon-box\" data-id=\"070ea3c\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon elementor-animation-\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-python\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tProgramming Technology\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tThe tool was written in Python using PySide and the Houdini Object Model (HOM) API.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6dce589 elementor-view-stacked elementor-position-left elementor-shape-circle elementor-mobile-position-top elementor-vertical-align-top elementor-widget elementor-widget-icon-box\" data-id=\"6dce589\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon elementor-animation-\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-briefcase\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tMy Role\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tI was responsible for refining the user interface, fixing bugs, as well as implementing panning, zooming, multi-selection, and grid snapping features. Afterwards, I was responsible to providing the documentation on the <a style=\"color: #f93db6\" href=\"https:\/\/www.sidefx.com\/docs\/houdini\/pypanel\/charpicker.html\" target=\"_blank\">SideFX website<\/a> with information on how to use the new features of the tool.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5ac3b16 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5ac3b16\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f1859a6\" data-id=\"f1859a6\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-323ec1d elementor-widget elementor-widget-heading\" data-id=\"323ec1d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><span style=\"caret-color: rgb(71, 69, 69); color: rgb(71, 69, 69); font-family: Roboto, sans-serif; font-size: 41px; font-weight: 600; letter-spacing: -0.800000011920929px; text-align: left; text-transform: none;\">Features<\/span><\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7797e98 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7797e98\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-9a1a527\" data-id=\"9a1a527\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d106ed6 elementor-widget elementor-widget-heading\" data-id=\"d106ed6\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">User Interface<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e9f23d4 elementor-widget elementor-widget-text-editor\" data-id=\"e9f23d4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><span style=\"caret-color: #726f6f; color: #726f6f; font-family: Poppins, sans-serif; font-size: 16px; white-space: pre-wrap;\">Unlike the old interface (top), I refined the new interface (bottom) to resemble other tools within Houdini and better match the overall Houdini interface design.\u00a0<\/span><\/p><p><span style=\"caret-color: #726f6f; color: #726f6f; font-family: Poppins, sans-serif; font-size: 16px; white-space: pre-wrap;\">This included replacing the &#8220;Edit Mode&#8221; checkbox with the pencil tool button and moving it to the menu bar; fixing the drop down button next to the Character line edit so that it has a more cohesive arrow icon that is properly positioned and visible within the button; and reorganizing the top menu bar with File and Select submenus.<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-e4defd9\" data-id=\"e4defd9\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0b1e4b3 elementor-widget elementor-widget-image\" data-id=\"0b1e4b3\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"494\" height=\"574\" src=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_ogInterface.jpg\" class=\"attachment-full size-full wp-image-1265\" alt=\"\" srcset=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_ogInterface.jpg 494w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_ogInterface-258x300.jpg 258w\" sizes=\"(max-width: 494px) 100vw, 494px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a1b6fba elementor-widget elementor-widget-image\" data-id=\"a1b6fba\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"835\" height=\"920\" src=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_noEdit.png\" class=\"attachment-full size-full wp-image-1204\" alt=\"\" srcset=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_noEdit.png 835w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_noEdit-272x300.png 272w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_noEdit-768x846.png 768w\" sizes=\"(max-width: 835px) 100vw, 835px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9bbb591 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9bbb591\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-332c53a\" data-id=\"332c53a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e97bca5 elementor-widget elementor-widget-image\" data-id=\"e97bca5\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"835\" height=\"920\" src=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_edit.png\" class=\"attachment-full size-full wp-image-1202\" alt=\"\" srcset=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_edit.png 835w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_edit-272x300.png 272w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_edit-768x846.png 768w\" sizes=\"(max-width: 835px) 100vw, 835px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-b55595b\" data-id=\"b55595b\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-70d31ce elementor-widget elementor-widget-heading\" data-id=\"70d31ce\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">User Interface: Edit Mode<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a4f4cfe elementor-widget elementor-widget-text-editor\" data-id=\"a4f4cfe\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><span style=\"caret-color: #726f6f; color: #726f6f; font-family: Poppins, sans-serif; font-size: 16px; white-space: pre-wrap;\">When the edit button is toggled, either by LMB-clicking or using the keyboard shortcut I set, the tabs can be removed or rearranged. A plus icon also appears next to the last tab to allow for new tabs to be added.<\/span><\/p><p><span style=\"caret-color: #726f6f; color: #726f6f; font-family: Poppins, sans-serif; font-size: 16px; white-space: pre-wrap;\">The bulky buttons hovering above the panel have been redesigned so that they are smaller and translucent in the top left corner of the panel. The button with the gear icon provides grid options, while the button with the plus icon can be clicked to add a new control button.<\/span><\/p><p><span style=\"color: #726f6f; font-family: Poppins, sans-serif; font-size: medium;\"><span style=\"caret-color: #726f6f; white-space: pre-wrap;\">When adding a new control button, an outline of the new button is initially positioned at the centre of the panel (or image, if set). Pressing the Enter key officially adds the control button at that default position. Otherwise, the outline of the new button will follow the cursor and be placed down in the position where the artist LMB-clicks. <\/span><\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f07e77d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f07e77d\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-e7bcc0e\" data-id=\"e7bcc0e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5f72a48 elementor-widget elementor-widget-heading\" data-id=\"5f72a48\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Marquee and Lasso Selection<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a9b4927 elementor-widget elementor-widget-text-editor\" data-id=\"a9b4927\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><span style=\"caret-color: #726f6f; color: #726f6f; font-family: Poppins, sans-serif; font-size: 16px; white-space: pre-wrap;\">The Character Picker now has the ability for multiple control buttons to be selected (in and out of edit mode). All selected buttons can then be moved, deleted, or retargeted simultaneously for a faster workflow. The controls are also highlighted within the Houdini viewport.<\/span><\/p><p><span style=\"color: #726f6f; font-family: Poppins, sans-serif; font-size: medium;\"><span style=\"caret-color: #726f6f; white-space: pre-wrap;\">This multi-selection can be performed by using either the default marquee tool or the lasso tool. The selection tool can be changed from the Select submenu in the top menu bar. I implemented both so that they appear and behave exactly the same as the marquee and lasso selection tools in the Houdini viewport.<\/span><\/span><\/p><p><span style=\"color: #726f6f; font-family: Poppins, sans-serif; font-size: medium;\"><span style=\"caret-color: #726f6f; white-space: pre-wrap;\">I also included the &#8220;Set from Viewport Selection&#8221; and &#8220;Add from Viewport Selection&#8221; options that can be found in the drop down menu of the control buttons.<\/span><\/span><\/p><p>\u00a0<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-7aa5d0e\" data-id=\"7aa5d0e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b4851e7 elementor-widget elementor-widget-image\" data-id=\"b4851e7\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"835\" height=\"920\" src=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_marquee.png\" class=\"attachment-full size-full wp-image-1200\" alt=\"\" srcset=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_marquee.png 835w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_marquee-272x300.png 272w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_marquee-768x846.png 768w\" sizes=\"(max-width: 835px) 100vw, 835px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-147c3e0 elementor-widget elementor-widget-image\" data-id=\"147c3e0\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"835\" height=\"920\" src=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_lasso.png\" class=\"attachment-full size-full wp-image-1201\" alt=\"\" srcset=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_lasso.png 835w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_lasso-272x300.png 272w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_lasso-768x846.png 768w\" sizes=\"(max-width: 835px) 100vw, 835px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-bd9209a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"bd9209a\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-252d914\" data-id=\"252d914\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-43cf859 elementor-widget elementor-widget-image\" data-id=\"43cf859\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"835\" height=\"920\" src=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_grid.png\" class=\"attachment-full size-full wp-image-1203\" alt=\"\" srcset=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_grid.png 835w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_grid-272x300.png 272w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_grid-768x846.png 768w\" sizes=\"(max-width: 835px) 100vw, 835px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6f51712 elementor-widget elementor-widget-image\" data-id=\"6f51712\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"460\" height=\"126\" src=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_gridSettings.png\" class=\"attachment-full size-full wp-image-1206\" alt=\"\" srcset=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_gridSettings.png 460w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_gridSettings-300x82.png 300w\" sizes=\"(max-width: 460px) 100vw, 460px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-291174a\" data-id=\"291174a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e992c90 elementor-widget elementor-widget-heading\" data-id=\"e992c90\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Grid<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8df5ebd elementor-widget elementor-widget-text-editor\" data-id=\"8df5ebd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><span style=\"caret-color: #726f6f; color: #726f6f; font-family: Poppins, sans-serif; font-size: 16px; white-space: pre-wrap;\">I implemented a grid feature that can be toggled on\/off while in edit mode.\u00a0<\/span><span style=\"caret-color: #726f6f; color: #726f6f; font-family: Poppins, sans-serif; font-size: 16px; white-space: pre-wrap;\">This provides the same benefits as the grid in the Houdini viewport for formatting control buttons.<\/span><span style=\"caret-color: #726f6f; color: #726f6f; font-family: Poppins, sans-serif; font-size: 16px; white-space: pre-wrap;\"> The Snap Options window can be opened from the button with the gear icon to allow the artist to adjust the cell size of the grid, as well as the minimum distance for a control button to snap into a grid position, as I will further explain below.<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c236573 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c236573\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-c1f481d\" data-id=\"c1f481d\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a9a4d54 elementor-widget elementor-widget-heading\" data-id=\"a9a4d54\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Zooming, Panning, and Grid Snapping<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-751c930 elementor-widget elementor-widget-text-editor\" data-id=\"751c930\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><span style=\"caret-color: #726f6f; color: #726f6f; font-family: Poppins, sans-serif; font-size: 16px; white-space: pre-wrap;\">The most notable features I implemented in the Character Picker were zooming, panning, and grid snapping in a similar fashion to those of the Houdini viewport.<\/span><\/p><p><span style=\"color: #726f6f; font-family: Poppins, sans-serif; font-size: medium;\"><span style=\"white-space: pre-wrap;\">RMB-click-and-dragging or spinning the mouse wheel on the panel zooms in\/out of the current tab panel. This does so while properly scaling and positioning the grid cells, as well as the control button and their corresponding labels. <\/span><\/span><\/p><p><span style=\"color: #726f6f; font-family: Poppins, sans-serif; font-size: medium;\"><span style=\"caret-color: #726f6f; white-space: pre-wrap;\">MMB-click-and-dragging on the panel allows the artist to pan around the pane, which is useful when the image is large or the panel is zoomed in.<\/span><\/span><\/p><p><span style=\"color: #726f6f; font-family: Poppins, sans-serif; font-size: medium;\"><span style=\"caret-color: #726f6f; white-space: pre-wrap;\">Whether or not the grid is made visible, grid snapping can also be toggled on so that control buttons can snap onto the corners of the grid cells for easy positioning and alignment. Four dots indicate the possible snapping points in the cell where the cursor is currently residing in. The dot becomes cyan-coloured once a control button snaps to it, which is visible when adding a new control button.<\/span><\/span><\/p><p>\u00a0<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-5c38c2b\" data-id=\"5c38c2b\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0a0a3d7 elementor-widget elementor-widget-image\" data-id=\"0a0a3d7\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"835\" height=\"920\" src=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_gridSnap.png\" class=\"attachment-full size-full wp-image-1205\" alt=\"\" srcset=\"http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_gridSnap.png 835w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_gridSnap-272x300.png 272w, http:\/\/ldbart.ca\/wp-content\/uploads\/2020\/04\/cp_gridSnap-768x846.png 768w\" sizes=\"(max-width: 835px) 100vw, 835px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-758d5fd elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"758d5fd\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-13a17c1\" data-id=\"13a17c1\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-11ebd38 elementor-widget elementor-widget-text-editor\" data-id=\"11ebd38\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: center;\"><span style=\"caret-color: #726f6f; color: #726f6f; font-family: Poppins, sans-serif; font-size: 24px; white-space: pre-wrap;\">See <a style=\"color: #f93db6;\" href=\"https:\/\/www.sidefx.com\/docs\/houdini\/credits.html\" target=\"_blank\" rel=\"noopener\">Houdini 18.0 Credits<\/a>.<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Character Picker While working as a co-op student at SideFX software in Toronto, one of my main tasks was improving the Character Picker tool within the 3D animation software Houdini. This was a great opportunity to learn the inner workings&#8230; <a href=\"http:\/\/ldbart.ca\/?page_id=1184\" class=\"read-more\">Read More<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1184","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/ldbart.ca\/index.php?rest_route=\/wp\/v2\/pages\/1184"}],"collection":[{"href":"http:\/\/ldbart.ca\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/ldbart.ca\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/ldbart.ca\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/ldbart.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1184"}],"version-history":[{"count":60,"href":"http:\/\/ldbart.ca\/index.php?rest_route=\/wp\/v2\/pages\/1184\/revisions"}],"predecessor-version":[{"id":1371,"href":"http:\/\/ldbart.ca\/index.php?rest_route=\/wp\/v2\/pages\/1184\/revisions\/1371"}],"wp:attachment":[{"href":"http:\/\/ldbart.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}