{"id":124311,"date":"2018-04-11T04:00:30","date_gmt":"2018-04-11T04:00:30","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=124311"},"modified":"2020-01-29T02:47:35","modified_gmt":"2020-01-29T10:47:35","slug":"palladio-open-source-cityengine-plugin-for-houdini","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini","title":{"rendered":"Palladio: an open-source CityEngine plugin for Houdini"},"author":6031,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23771,22941],"tags":[42631,549072,40801,40821,40831],"industry":[],"product":[36781],"class_list":["post-124311","blog","type-blog","status-publish","format-standard","hentry","category-3d-gis","category-mapping","tag-cityengine","tag-esrirdzurich","tag-houdini","tag-rpk","tag-vfx","product-city-engine"],"acf":{"flexible_content":[{"acf_fc_layout":"image","image":{"ID":124011,"id":124011,"title":"Palladian Graveyard Downtown","filename":"cam3_03_contrast.jpg","filesize":166504,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_03_contrast.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini\/cam3_03_contrast","alt":"","author":"6031","description":"","caption":"","name":"cam3_03_contrast","status":"inherit","uploaded_to":124311,"date":"2018-03-22 20:24:18","modified":"2018-09-18 10:59:41","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1280,"height":720,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_03_contrast.jpg","thumbnail-width":213,"thumbnail-height":120,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_03_contrast.jpg","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_03_contrast.jpg","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_03_contrast.jpg","large-width":1280,"large-height":720,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_03_contrast.jpg","1536x1536-width":1280,"1536x1536-height":720,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_03_contrast.jpg","2048x2048-width":1280,"2048x2048-height":720,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_03_contrast.jpg","card_image-width":826,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_03_contrast.jpg","wide_image-width":1280,"wide_image-height":720}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: right;\"><em>Matthias Buehler, vrbn.io<br \/>\nSimon Haegler, Esri R&amp;D Center Zurich<\/em><\/p>\n"},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify;\">One of the original motivations for <a title=\"Esri CityEngine\" href=\"http:\/\/www.esri.com\/software\/cityengine\" target=\"_blank\" rel=\"noopener\">Esri CityEngine<\/a>\u00a0was to create digital urban environments for movies in a more efficient way than modelling everything manually. While the main application of CityEngine has shifted to urban planning since it joined the Esri product family, we still have a small but strong user base in the visual effects industry (VFX). A recent example of a movie where CityEngine has been used is <a title=\"Blade Runner 2049 on IMDB\" href=\"http:\/\/www.imdb.com\/title\/tt1856101\/\" target=\"_blank\" rel=\"noopener\">Blade Runner 2049<\/a>.<\/p>\n<p style=\"text-align: justify;\">At the core of CityEngine is the <a title=\"CGA Reference\" href=\"http:\/\/desktop.arcgis.com\/en\/cityengine\/latest\/cga\/cityengine-cga-introduction.htm\" target=\"_blank\" rel=\"noopener\">procedural\u00a0<\/a><a title=\"CGA Reference\" href=\"http:\/\/desktop.arcgis.com\/en\/cityengine\/latest\/cga\/cityengine-cga-introduction.htm\" target=\"_blank\" rel=\"noopener\">modelling language &#8220;CGA&#8221;<\/a>. CGA stands for &#8220;Computer Generated Architecture&#8221; and can express a wide range of architectural patterns (e.g. the layout of windows), mass configurations (e.g. wings of a building) and much more. CGA is organized into rules that are evaluated into 3D models of a building or a whole city. These rules consume external attributes &#8211; from simple values like &#8220;building height&#8221; to more complex input data like zoning laws. In the end, these external attributes control the overall design of a city and ensure consistency across multiple buildings.<\/p>\n<p style=\"text-align: justify;\">While CityEngine has a number of built-in features to create attributes for CGA on the scene level (e.g. map layers), these attributes often come from external software packages and have to be imported. And while there are a number of file formats in the VFX and GIS world that support transport of attributes (e.g. Alembic or Esri FileGDB), there is always a certain overhead or even conversion loss in this process.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":123931,"id":123931,"title":"CityEngine Rule Packages","filename":"palladio-schema-1.png","filesize":27531,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/palladio-schema-1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini\/palladio-schema-1","alt":"","author":"6031","description":"","caption":"CityEngine is used to author Rule Packages (RPK) which are a self-contained collection of CGA rules and associated assets (geometry and textures). These packages can be subsequently consumed by the CityEngine SDK running inside other host applications to create the final 3d models.","name":"palladio-schema-1","status":"inherit","uploaded_to":124311,"date":"2018-03-22 20:22:31","modified":"2018-09-18 10:59:41","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1096,"height":436,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/palladio-schema-1.png","thumbnail-width":213,"thumbnail-height":85,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/palladio-schema-1.png","medium-width":464,"medium-height":185,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/palladio-schema-1.png","medium_large-width":768,"medium_large-height":306,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/palladio-schema-1.png","large-width":1096,"large-height":436,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/palladio-schema-1.png","1536x1536-width":1096,"1536x1536-height":436,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/palladio-schema-1.png","2048x2048-width":1096,"2048x2048-height":436,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/palladio-schema-1.png","card_image-width":826,"card_image-height":329,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/palladio-schema-1.png","wide_image-width":1096,"wide_image-height":436}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: left;\">The difficulty with attributes is only one of the reasons we looked into ways to integrate CityEngine CGA into other software packages directly, as we have demonstrated with an <a title=\"prt4maya repo\" href=\"https:\/\/github.com\/Esri\/esri-cityengine-sdk\/tree\/master\/examples\/prt4maya\" target=\"_blank\" rel=\"noopener\">experimental plugin for Autodesk Maya<\/a>. The Maya plugin demonstrates a workflow that uses CityEngine to author &#8220;Rule Packages&#8221; (RPK) that are consumed by a plugin based on the\u00a0<a title=\"CityEngine SDK (PRT)\" href=\"https:\/\/github.com\/Esri\/esri-cityengine-sdk\" target=\"_blank\" rel=\"noopener\">CityEngine SDK<\/a> (also known as &#8220;Procedural Runtime&#8221;, PRT).<\/p>\n<p style=\"text-align: left;\">We want to take this to the next level and have a seamless integration of CGA into a VFX workflow that ranges from modeling to simulation (think destruction, fire, water) to the final render pass. For this, there is no better host application than <a href=\"http:\/\/www.sidefx.com\" target=\"_blank\" rel=\"noopener\">SideFX Houdini<\/a>, with its 20+ years of history in procedural tools for VFX.<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"content","content":"<h1>Enter &#8220;Palladio&#8221; &#8211; an open-source Houdini plugin<\/h1>\n<p style=\"text-align: justify;\"><a title=\"VRBN\" href=\"http:\/\/www.vrbn.io\" target=\"_blank\" rel=\"noopener\">VRBN<\/a> and Esri R&amp;D Zurich are happy to introduce a new open-source project called &#8220;Palladio&#8221;. Palladio is a plugin for SideFX Houdini\u00a0and wraps the <a title=\"Esri CityEngine SDK on github.com\" href=\"http:\/\/github.com\/Esri\/esri-cityengine-sdk\" target=\"_blank\" rel=\"noopener\">procedural modeling core<\/a>\u00a0of CityEngine. It is aimed at developers in the VFX, Game, Architectural Visualization, and Urban Planning communities. We see this plugin as a building block to create higher-level modelling tools for urban environments in the form of <a title=\"Houdini Digital Assets\" href=\"http:\/\/www.sidefx.com\/docs\/houdini\/assets\/intro.html\" target=\"_blank\" rel=\"noopener\">Houdini Digital Assets (HDA)<\/a>.<\/p>\n"},{"acf_fc_layout":"sidebar","content":"<p>Palladio is released as an open-source community project (licensed under Apache 2.0) on github.com:\u00a0<a href=\"https:\/\/github.com\/Esri\/palladio\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/github.com\/Esri\/palladio<\/a>. Please follow the build and quick start instructions to get started (see <a title=\"Palladio README\" href=\"https:\/\/github.com\/Esri\/palladio\/blob\/master\/README.md\" target=\"_blank\" rel=\"noopener\">README.md<\/a>).<\/p>\n","image_reference":{"ID":123911,"id":123911,"title":"Palladio Logo","filename":"Palladio_icon_v1_1024.jpg","filesize":43572,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini\/palladio_icon_v1_1024","alt":"","author":"6031","description":"","caption":"","name":"palladio_icon_v1_1024","status":"inherit","uploaded_to":124311,"date":"2018-03-22 20:21:30","modified":"2018-09-18 10:59:42","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1024,"height":1024,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","thumbnail-width":200,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","medium-width":261,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","medium_large-width":768,"medium_large-height":768,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","large-width":1024,"large-height":1024,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","1536x1536-width":1024,"1536x1536-height":1024,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","2048x2048-width":1024,"2048x2048-height":1024,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","card_image-width":465,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","wide_image-width":1024,"wide_image-height":1024}},"layout":"spotlight","image_reference_figure":"","snippet":"","spotlight_name":"Palladio","section_title":"vrbn.io and Esri R&D Zurich","position":"Right","spotlight_image":{"ID":123911,"id":123911,"title":"Palladio Logo","filename":"Palladio_icon_v1_1024.jpg","filesize":43572,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini\/palladio_icon_v1_1024","alt":"","author":"6031","description":"","caption":"","name":"palladio_icon_v1_1024","status":"inherit","uploaded_to":124311,"date":"2018-03-22 20:21:30","modified":"2018-09-18 10:59:42","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1024,"height":1024,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","thumbnail-width":200,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","medium-width":261,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","medium_large-width":768,"medium_large-height":768,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","large-width":1024,"large-height":1024,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","1536x1536-width":1024,"1536x1536-height":1024,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","2048x2048-width":1024,"2048x2048-height":1024,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","card_image-width":465,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Palladio_icon_v1_1024.jpg","wide_image-width":1024,"wide_image-height":1024}}},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify;\">SideFX Houdini is an <a title=\"Houdini Award\" href=\"http:\/\/www.oscars.org\/news\/10-scientific-and-technical-achievements-be-honored-academy-awards\" target=\"_blank\" rel=\"noopener\">award winning<\/a> software package for VFX simulation, modelling, animation, and rendering. Houdini was originally released in 1996 and has a strong background in procedurally creating special effects like destruction, smoke, fire, and water simulations. It recently gained traction as a general purpose modelling and animation tool and makes for a suitable host for the very specific architectural modeling tools of CityEngine CGA.<\/p>\n<p style=\"text-align: justify;\">We invite all developers working with Houdini and CityEngine to give Palladio a try, maybe even fork the repository and create pull requests. Currently, Palladio isn&#8217;t either an Esri or a vrbn product and there isn&#8217;t an official\/commercial support from either of them. If you are interested in commercial services related to Palladio, please contact\u00a0<a href=\"mailto:info@vrbn.io.\" rel=\"nofollow\">info@vrbn.io.<\/a><\/p>\n"},{"acf_fc_layout":"content","content":"<h1>Welcome to the &#8220;Palladian Computer Graveyard&#8221;<\/h1>\n<p style=\"text-align: left;\">Let&#8217;s look at an example to see how you can use Houdini operators and CityEngine rules together. The combined possibilities are endless and fun to explore. In this example, what started out as a dystopian mega-city downtown ended up looking like a junkyard of old computer cases bound together by a fishing net. This demo scene is <a title=\"Palladio Releases\" href=\"https:\/\/github.com\/Esri\/palladio\/releases\" target=\"_blank\" rel=\"noopener\">available<\/a> on the Palladio github repository (attached to releases).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-123941\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam1_06_contrast.jpg\" alt=\"\" width=\"1280\" height=\"720\" \/><\/p>\n<p style=\"text-align: left;\">This example scene consists of four main steps, the first three steps use CityEngine rule packages (RPK) chained in sequence to produce streets, parcels, and <del>buildings<\/del> old computer cases. The fourth step uses Houdini tools to put the wireframe of a convex hull around the &#8220;buildings&#8221;. Please note that chaining rule packages and operating on combined CGA leaf shape geometry is not possible in standalone CityEngine, at least not in this straight-forward manner.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-123951\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/wfc-step-1.jpg\" alt=\"\" width=\"2000\" height=\"529\" \/><\/p>\n<p>(1) The first RPK generates the street layout and raw parcels by recursively subdividing and rotating the shape scopes.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-123961\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/wfc-step-2.jpg\" alt=\"\" width=\"2000\" height=\"529\" \/><\/p>\n<p>(2) The second RPK randomly offsets the raw parcels to divide them into building footprint and yard area.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-123971\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/wfc-step-3.jpg\" alt=\"\" width=\"2000\" height=\"534\" \/><\/p>\n<p>(3) A third RPK creates the actual building volumes. The buildings basically consist of randomly stacked cubes with two different facade styles.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-123981\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/wfc-step-4.jpg\" alt=\"\" width=\"2000\" height=\"573\" \/><\/p>\n<p>(4) Next, we use Houdini operators to create a convex hull around the &#8220;leaf shapes&#8221; of the buildings (left image) and then merge it all together (right image).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-123991 aligncenter\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam2_04_contrast.jpg\" alt=\"\" width=\"1280\" height=\"720\" \/><\/p>\n<p>Finally, we remesh all the &#8220;yards&#8221; and add wireframes to make it look like a net. Also, we apply the materials.<\/p>\n<p>Please note that Palladio does not just generate geometry. Each Palladio &#8220;generate&#8221; operator can also emit CGA attributes or reports like unique building identifiers or material properties as Houdini primitive attributes. In this example, we use this to count the number of buildings (not shown above).<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"content","content":"<h1>Acknowledgements<\/h1>\n<p>Our thanks go to the fine folks at Esri R&amp;D Zurich and VRBN that provided valuable comments and feedback. Special thanks go to Johnny at vrbn for his work on the logo.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-124081 alignright\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/vrbn-logo-200.jpg\" alt=\"\" width=\"200\" height=\"119\" \/><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":124001,"id":124001,"title":"Palladian Graveyard Downtown","filename":"cam3_02_contrast.jpg","filesize":98694,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_02_contrast.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini\/cam3_02_contrast","alt":"","author":"6031","description":"","caption":"","name":"cam3_02_contrast","status":"inherit","uploaded_to":124311,"date":"2018-03-22 20:24:11","modified":"2018-09-18 10:59:42","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1280,"height":720,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_02_contrast.jpg","thumbnail-width":213,"thumbnail-height":120,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_02_contrast.jpg","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_02_contrast.jpg","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_02_contrast.jpg","large-width":1280,"large-height":720,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_02_contrast.jpg","1536x1536-width":1280,"1536x1536-height":720,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_02_contrast.jpg","2048x2048-width":1280,"2048x2048-height":720,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_02_contrast.jpg","card_image-width":826,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/cam3_02_contrast.jpg","wide_image-width":1280,"wide_image-height":720}},"image_position":"center","orientation":"horizontal","hyperlink":""}],"short_description":"We introduce Palladio, an open-source CityEngine plugin for SideFX Houdini.","related_articles":"","card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/palladio_blog_post_banner.jpg","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/palladio_blog_post_wide_banner-2.jpg","authors":[{"ID":6031,"user_firstname":"Simon","user_lastname":"Haegler","nickname":"shaegler","user_nicename":"shaegler","display_name":"Simon Haegler","user_email":"SHaegler@esri.com","user_url":"","user_registered":"2018-03-02 00:17:52","user_description":"I'm a software developer in the field of computer graphics, specialized in procedural modeling. I have a background in electrical engineering (hardware development), general software development (C++, multiple scripting languages, build environments) and expert knowledge in Linux systems (several platforms).\r\n\r\nMy main interest currently lies in the application of procedural 3d modeling techniques in AEC and M&amp;E (special effects and environments for movies and computer games), as well as digital set building and production pipeline tools.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/11\/1517701153747-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}]},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Palladio: an open-source CityEngine plugin for Houdini<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Palladio: an open-source CityEngine plugin for Houdini\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2020-01-29T10:47:35+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini\"},\"author\":{\"name\":\"Simon Haegler\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/be10f393cf5d8d2e5e93c235cf218fd8\"},\"headline\":\"Palladio: an open-source CityEngine plugin for Houdini\",\"datePublished\":\"2018-04-11T04:00:30+00:00\",\"dateModified\":\"2020-01-29T10:47:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini\"},\"wordCount\":7,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"CityEngine\",\"EsriRDZurich\",\"Houdini\",\"RPK\",\"VFX\"],\"articleSection\":[\"3D Visualization &amp; Analytics\",\"Mapping\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini\",\"name\":\"Palladio: an open-source CityEngine plugin for Houdini\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2018-04-11T04:00:30+00:00\",\"dateModified\":\"2020-01-29T10:47:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Palladio: an open-source CityEngine plugin for Houdini\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/be10f393cf5d8d2e5e93c235cf218fd8\",\"name\":\"Simon Haegler\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/11\/1517701153747-213x200.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/11\/1517701153747-213x200.jpg\",\"caption\":\"Simon Haegler\"},\"description\":\"I'm a software developer in the field of computer graphics, specialized in procedural modeling. I have a background in electrical engineering (hardware development), general software development (C++, multiple scripting languages, build environments) and expert knowledge in Linux systems (several platforms). My main interest currently lies in the application of procedural 3d modeling techniques in AEC and M&amp;E (special effects and environments for movies and computer games), as well as digital set building and production pipeline tools.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/simonhaegler\/\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/shaegler\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Palladio: an open-source CityEngine plugin for Houdini","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini","og_locale":"en_US","og_type":"article","og_title":"Palladio: an open-source CityEngine plugin for Houdini","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2020-01-29T10:47:35+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini"},"author":{"name":"Simon Haegler","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/be10f393cf5d8d2e5e93c235cf218fd8"},"headline":"Palladio: an open-source CityEngine plugin for Houdini","datePublished":"2018-04-11T04:00:30+00:00","dateModified":"2020-01-29T10:47:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini"},"wordCount":7,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["CityEngine","EsriRDZurich","Houdini","RPK","VFX"],"articleSection":["3D Visualization &amp; Analytics","Mapping"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini","name":"Palladio: an open-source CityEngine plugin for Houdini","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2018-04-11T04:00:30+00:00","dateModified":"2020-01-29T10:47:35+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/palladio-open-source-cityengine-plugin-for-houdini#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Palladio: an open-source CityEngine plugin for Houdini"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/be10f393cf5d8d2e5e93c235cf218fd8","name":"Simon Haegler","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/11\/1517701153747-213x200.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/11\/1517701153747-213x200.jpg","caption":"Simon Haegler"},"description":"I'm a software developer in the field of computer graphics, specialized in procedural modeling. I have a background in electrical engineering (hardware development), general software development (C++, multiple scripting languages, build environments) and expert knowledge in Linux systems (several platforms). My main interest currently lies in the application of procedural 3d modeling techniques in AEC and M&amp;E (special effects and environments for movies and computer games), as well as digital set building and production pipeline tools.","sameAs":["https:\/\/www.linkedin.com\/in\/simonhaegler\/"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/shaegler"}]}},"text_date":"April 11, 2018","author_name":"Simon Haegler","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/shaegler","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/palladio_blog_post_wide_banner-2.jpg","primary_product":"ArcGIS CityEngine","tag_data":[{"term_id":42631,"name":"CityEngine","slug":"cityengine","term_group":0,"term_taxonomy_id":42631,"taxonomy":"post_tag","description":"","parent":0,"count":24,"filter":"raw"},{"term_id":549072,"name":"EsriRDZurich","slug":"esrirdzurich","term_group":0,"term_taxonomy_id":549072,"taxonomy":"post_tag","description":"","parent":0,"count":96,"filter":"raw"},{"term_id":40801,"name":"Houdini","slug":"houdini","term_group":0,"term_taxonomy_id":40801,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":40821,"name":"RPK","slug":"rpk","term_group":0,"term_taxonomy_id":40821,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":40831,"name":"VFX","slug":"vfx","term_group":0,"term_taxonomy_id":40831,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"}],"category_data":[{"term_id":23771,"name":"3D Visualization &amp; Analytics","slug":"3d-gis","term_group":0,"term_taxonomy_id":23771,"taxonomy":"category","description":"","parent":0,"count":687,"filter":"raw"},{"term_id":22941,"name":"Mapping","slug":"mapping","term_group":0,"term_taxonomy_id":22941,"taxonomy":"category","description":"","parent":0,"count":2690,"filter":"raw"}],"product_data":[{"term_id":36781,"name":"ArcGIS CityEngine","slug":"city-engine","term_group":0,"term_taxonomy_id":36781,"taxonomy":"product","description":"","parent":36591,"count":83,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=city-engine","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/124311","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/6031"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=124311"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/124311\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=124311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=124311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=124311"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=124311"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=124311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}