{"id":79321,"date":"2017-09-12T03:00:28","date_gmt":"2017-09-12T03:00:28","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/products\/product\/uncategorized\/gis2vr-from-cityengine-via-unity-to-htc-vive\/"},"modified":"2018-04-16T19:25:11","modified_gmt":"2018-04-16T19:25:11","slug":"gis2vr-from-cityengine-via-unity-to-htc-vive","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive","title":{"rendered":"GIS2VR: From CityEngine via Unity to HTC Vive"},"author":1,"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],"tags":[25781,34211,26141,32241,34221],"industry":[],"product":[36781],"class_list":["post-79321","blog","type-blog","status-publish","format-standard","hentry","category-3d-gis","tag-3d","tag-ar","tag-city-modeling","tag-procedural-rules","tag-vr","product-city-engine"],"acf":{"short_description":"Esri CityEngine is a great tool to bring city models and other 3D GIS contents to Virtual Reality (VR). It allows you to create VR experi...","flexible_content":[{"acf_fc_layout":"content","content":"<p>Esri CityEngine is a great tool to bring city models and other 3D GIS contents to Virtual Reality (VR). It allows you to create VR experiences for both mobile phones (see <a href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/2017\/07\/09\/cityengine-unveils-mobile-virtual-reality-solution\/\">ArcGIS 360 VR<\/a>) and desktops PCs.<\/p>\n<p>In this blog post, we describe step-by-step how to quickly bring your 3D data into desktop VR headsets such as the HTC Vive. To interact and navigate within the 3D environments in VR, we will also show how to simply setup hand controllers and teleport functionality.<\/p>\n<p>As an example 3D data set, we used an imaginary city created by the CityEngine City Wizard which can be easily accessed either via the <em>Welcome Screen<\/em> or via <em>File menu &#8211; New &#8211; City Wizard<\/em>.<\/p>\n<h2>Exporting your urban environment<\/h2>\n<p>As a first step, select a central part of your city, then go to <em>File &#8211; Export Models<\/em>.<\/p>\n<p><a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/0-export.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86164 noIMGBackground\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/0-export.jpg\" alt=\"Export Models\" width=\"1220\" height=\"793\" \/><\/a><\/p>\n<p>Autodesk FBX works great both in CityEngine and Untiy. In the next dialog, you can tweak some parameters. <em>Simpify Terrain Meshes<\/em> reduces the amount of triangles in flat areas, and is important for good performance. Also select <em>Create Texture Atlases<\/em>, this will decrease the amount of drawcalls. You can further choose to <em>Embed Textures<\/em>\u00a0for easier transfer to Unity. You might need to scroll down to find those options.<\/p>\n<p><a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/1-export-settings.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86152 noIMGBackground\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/1-export-settings.png\" alt=\"Export Settings\" width=\"1110\" height=\"886\" \/><\/a><\/p>\n<h2>Import into Unity<\/h2>\n<p>The resulting FBX file can be found in the CityEngine Navigator in the folder <em>models<\/em>. Drag and drop this file into the <em>Assets<\/em>\u00a0folder of an empty Unity scene.<\/p>\n<p><a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/2-dragdrop.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86165\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/2-dragdrop.jpg\" alt=\"Drag Drop\" width=\"1229\" height=\"1721\" \/><\/a><\/p>\n<p>Then drag the city into the <em>Hierarchy<\/em> view. It will also appear in the <em>3D Scene<\/em> view. Double click on the city in the <em>Hierarchy<\/em> view to recenter, and zoom in a bit. Now, let us tweak the camera position. Select the <em>Main Camera<\/em>\u00a0and use the move tools to place it over a street. The small <em>Camera Preview<\/em>\u00a0helps.<\/p>\n<p><a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/88-city-dragdrop.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86153 noIMGBackground\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/88-city-dragdrop.png\" alt=\"City dragdrop\" width=\"1229\" height=\"906\" \/><\/a><\/p>\n<h2>Setup VR<\/h2>\n<p>To enable VR, go to <em>Edit &#8211; Project Settings &#8211; Player<\/em>, and check <em>Virtual Reality Supported<\/em>\u00a0in the Inspector.<\/p>\n<p><a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/89-vr-sdk-setup.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86154 noIMGBackground\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/89-vr-sdk-setup.png\" alt=\"VR SDK Setup\" width=\"1227\" height=\"914\" \/><\/a><\/p>\n<p>By default only the Oculus SDK is added, which will not work with HTC Vive. To add Vive support, click the small <em>+<\/em>\u00a0and then <em>OpenVR<\/em>. OpenVR works with both Oculus and HTC Vive. Drag OpenVR in front of Oculus, or simply delete Oculus.<br \/>\nPress the <em>Play<\/em>\u00a0button above the 3D view. If SteamVR and the VR glasses are installed correctly, a small SteamVR popup will display, and the city will be shown in VR. If warnings appear in SteamVR popup, refer to the HTC Vive or Oculus Rift setup instructions for help.<\/p>\n<p><a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/90-steamvr.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86155 noIMGBackground\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/90-steamvr.png\" alt=\"SteamVR Interface\" width=\"302\" height=\"152\" \/><\/a><\/p>\n<h2>Add Locomotion<\/h2>\n<p>We now have a scene with an initial camera positon. If you have a big enough room you can physically walk around to explore the street a bit. However, how do you navigate through larger areas?<\/p>\n<p>Traditionally, 3D games implement continuous motions using controller input. However, in VR this causes discomfort for many users, because the visual stimuli of moving do not match the feeling of standing still.<\/p>\n<p>One solution is to use teleport locomotion. Instead of continuous travel, the user directly switches between locations. Fortunately this is easy to implement in Unity. First, click <em>Window &#8211; Asset Store<\/em>. You might be asked to log in. Then search for <em>SteamVR<\/em>\u00a0plugin, and click <em>Import<\/em>. In the dialog <em>SteamVR Settings<\/em>\u00a0click <em>Accept All.<\/em><\/p>\n<p><a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/91-steamvr.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86156 noIMGBackground\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/91-steamvr.png\" alt=\"SteamVR Plugin\" width=\"1226\" height=\"908\" \/><\/a><\/p>\n<p>Drag&amp;Drop the\u00a0<em>Player<\/em>\u00a0prefab from the asset folder <em>SteamVR\/InteractonSystem\/Core\/Prefabs<\/em>\u00a0into the Hierarchy. Just as we did before with <em>Main Camera<\/em>, move it to a nice position in the 3D Scene. Then delete the <em>Main Camera<\/em>, as the <em>Player<\/em>\u00a0prefab already includes a camera.<\/p>\n<p><a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/92-setup.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86157 noIMGBackground\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/92-setup.png\" alt=\"Drag Drop Player\" width=\"1230\" height=\"930\" \/><\/a><\/p>\n<p>Now, drag some <em>TeleportPoint<\/em>\u00a0prefabs from <em>SteamVR\/InteractonSystem\/Teleport\/Prefabs<\/em>\u00a0into the 3D View, and the <em>Teleporting<\/em>\u00a0prefab into the hierarchy. For easier teleporting in bigger scenes, you can increase the <em>Arc Distance<\/em>\u00a0in the <em>Teleporting<\/em>\u00a0parameters.<\/p>\n<p><a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/93-setup.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86158 noIMGBackground\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/93-setup.png\" alt=\"Setup Transport Points\" width=\"1231\" height=\"912\" \/><\/a><br \/>\nWhen starting the scene, you now have the ability to teleport to those locations, by clicking the Vive controller and aiming the green path on the teleport point.<\/p>\n<p><a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/94-vive.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86159 noIMGBackground\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/94-vive.png\" alt=\"Vive\" width=\"918\" height=\"572\" \/><\/a><\/p>\n<p>It works just as well with Oculus Touch.<\/p>\n<p><a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/95-oculus-touch.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86160 noIMGBackground\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/95-oculus-touch.png\" alt=\"Oculus Touch\" width=\"1208\" height=\"632\" \/><\/a><\/p>\n<p>You can also add teleport areas: Double-click on a street in the 3D view, then create a copy. Click on <em>Add Component<\/em>\u00a0in the inspector, and add a <em>Teleport Area<\/em>\u00a0as well as a <em>Mesh Collider<\/em>.<\/p>\n<p><a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/96-teleport-setup.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86161 noIMGBackground\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/96-teleport-setup.png\" alt=\"Teleport Setup\" width=\"1231\" height=\"913\" \/><\/a><\/p>\n<p>Now you can teleport anywhere on this street in VR.<\/p>\n<p><a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/97-teleport.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86162 noIMGBackground\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/97-teleport.png\" alt=\"Teleport Vive\" width=\"1021\" height=\"540\" \/><\/a><\/p>\n<h2>Tweak Scene<\/h2>\n<p>You might notice that the trees look a bit weird. To fix this, click <em>Assets\/Materials<\/em>\u00a0, and select all green tree materials. Then select <em>Cutout<\/em>\u00a0as rendering mode in the Inspector. This removes the highlights from the transparent parts.<\/p>\n<p><a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/99-tweak.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86163 noIMGBackground\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/09\/99-tweak.png\" alt=\"Tweak\" width=\"1223\" height=\"902\" \/><\/a><\/p>\n<h2>Conclusion<\/h2>\n<p>Using a few simple steps and out-of-the-box functions in CityEngine and Unity, you can create compelling VR experiences. By adding additional plugins, such as the SteamVR locomotion system, the experience can be refined.<\/p>\n<p>You can add further easy tweaks to improve the visual quality: Adding the Screen Space Ambient Occlusion (SSAO) shader in Unity will improve the depth perception of small details. Unity also provides a global illumination solution for realistic shadows.<\/p>\n<p>When showing larger Cities in VR, it is important to keep an eye on the performance. Ideally, it should run with 90fps for a comfortable VR experience. To improve performance, Single-Pass Stereo rendering can be enabled in Unity. Also, the rule-based nature of CityEngine enables creation of different Levels of Detail for geometries, for example adding less details to buildings far away.<\/p>\n<p>Due to the multi-platform nature of Unity, it is easy to deploy VR experiences on multiple platforms. For example, it works both with HTC Vive and Oculus Rift, and can also be built for Windows Holographic to add Microsoft Hololens support.<\/p>\n<p>We will further improve on this workflow to make GIS2VR even easier in the future. Are you interested in seeing a similar guide also for Unreal Engine (which is more complex to operate but very well suited for interactive high-quality architectural visualizations)? We would love to hear your feedback.<!--more--><!--more--><\/p>\n"}],"authors":[{"ID":7831,"user_firstname":"Markus","user_lastname":"Lipp","nickname":"mlipp","user_nicename":"mlipp","display_name":"Markus Lipp","user_email":"mlipp@esri.com","user_url":"","user_registered":"2018-04-16 19:22:41","user_description":"","user_avatar":"<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/2e6692d82d275b1ceeb8112ddb93d96d12cfad6d36449401eae16bdc66b5abb2?s=96&#038;d=blank&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/2e6692d82d275b1ceeb8112ddb93d96d12cfad6d36449401eae16bdc66b5abb2?s=192&#038;d=blank&#038;r=g 2x' class='avatar avatar-96 photo' height='96' width='96' loading='lazy' decoding='async'\/>"}],"related_articles":"","card_image":false,"wide_image":false},"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>GIS2VR: From CityEngine via Unity to HTC Vive<\/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\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GIS2VR: From CityEngine via Unity to HTC Vive\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive\" \/>\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=\"2018-04-16T19:25:11+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\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/a6634a1ae3e1e8f31b08302701f7f16d\"},\"headline\":\"GIS2VR: From CityEngine via Unity to HTC Vive\",\"datePublished\":\"2017-09-12T03:00:28+00:00\",\"dateModified\":\"2018-04-16T19:25:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive\"},\"wordCount\":9,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"3D\",\"ar\",\"City Modeling\",\"procedural rules\",\"vr\"],\"articleSection\":[\"3D Visualization &amp; Analytics\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive\",\"name\":\"GIS2VR: From CityEngine via Unity to HTC Vive\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2017-09-12T03:00:28+00:00\",\"dateModified\":\"2018-04-16T19:25:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GIS2VR: From CityEngine via Unity to HTC Vive\"}]},{\"@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\/a6634a1ae3e1e8f31b08302701f7f16d\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9ed3cfb09c23c4a13236e87fa6567286f12c1f980ffdfaeed6b096ca8a8d8b02?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9ed3cfb09c23c4a13236e87fa6567286f12c1f980ffdfaeed6b096ca8a8d8b02?s=96&d=blank&r=g\",\"caption\":\"admin\"},\"url\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"GIS2VR: From CityEngine via Unity to HTC Vive","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\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive","og_locale":"en_US","og_type":"article","og_title":"GIS2VR: From CityEngine via Unity to HTC Vive","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2018-04-16T19:25:11+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\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive"},"author":{"name":"admin","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/a6634a1ae3e1e8f31b08302701f7f16d"},"headline":"GIS2VR: From CityEngine via Unity to HTC Vive","datePublished":"2017-09-12T03:00:28+00:00","dateModified":"2018-04-16T19:25:11+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive"},"wordCount":9,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["3D","ar","City Modeling","procedural rules","vr"],"articleSection":["3D Visualization &amp; Analytics"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive","name":"GIS2VR: From CityEngine via Unity to HTC Vive","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2017-09-12T03:00:28+00:00","dateModified":"2018-04-16T19:25:11+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/3d-gis\/3d-gis\/gis2vr-from-cityengine-via-unity-to-htc-vive#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"GIS2VR: From CityEngine via Unity to HTC Vive"}]},{"@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\/a6634a1ae3e1e8f31b08302701f7f16d","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9ed3cfb09c23c4a13236e87fa6567286f12c1f980ffdfaeed6b096ca8a8d8b02?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9ed3cfb09c23c4a13236e87fa6567286f12c1f980ffdfaeed6b096ca8a8d8b02?s=96&d=blank&r=g","caption":"admin"},"url":""}]}},"text_date":"September 12, 2017","author_name":"Markus Lipp","author_page":false,"custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"ArcGIS CityEngine","tag_data":[{"term_id":25781,"name":"3D","slug":"3d","term_group":0,"term_taxonomy_id":25781,"taxonomy":"post_tag","description":"","parent":0,"count":342,"filter":"raw"},{"term_id":34211,"name":"ar","slug":"ar","term_group":0,"term_taxonomy_id":34211,"taxonomy":"post_tag","description":"","parent":0,"count":7,"filter":"raw"},{"term_id":26141,"name":"City Modeling","slug":"city-modeling","term_group":0,"term_taxonomy_id":26141,"taxonomy":"post_tag","description":"","parent":0,"count":13,"filter":"raw"},{"term_id":32241,"name":"procedural rules","slug":"procedural-rules","term_group":0,"term_taxonomy_id":32241,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":34221,"name":"vr","slug":"vr","term_group":0,"term_taxonomy_id":34221,"taxonomy":"post_tag","description":"","parent":0,"count":12,"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":692,"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\/79321","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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=79321"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/79321\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=79321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=79321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=79321"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=79321"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=79321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}