Introduction to ArcGIS Maps SDK for Game Engines

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
great welcome to our live tech session uh introducing the arches maps sdk for game engines first just a little background on who we are my name is rex hanson i'm the product manager for the arches maps sdk and i'll be joined by adrian maria the development lead for the arcgis maps sdk hey everybody great now before we dig in i'd like to provide a brief overview and some background on how we got here and why what we're doing is important now over the past few years we've seen a number of industries enterprises businesses pursue their next generation of 3d gis solutions now as these solutions apply to the real world they need to leverage existing authoritative geospatial systems while taking advantage of new technologies to gather store and distribute geospatial information of course ezra is the global leader in the space and we provide the system to manage maintain and utilize geospatial data and analytics and we are and should be at the forefront of defining new standards and technology to deliver access to high-fidelity geospatial information now these new 3djs solutions include client applications that target specific workflows that require photorealistic experiences powered by world data they need to take advantage of high-end graphics capabilities on modern devices and utilize hardware designed specifically to support extended reality experiences like headsets to power ar and vr workflows these applications need to be highly interactive responsive and intuitive they need to be designed to be visually compelling immersive and as realistic as possible to increase engagement improve understanding and optimize the environment for making decisions operationally they need to support modeling and evaluation of phenomena in the real world simulating natural and human oriented activities and the interaction between them in the past present and the future in addition they need to quickly render dynamic real-time geospatial content accessible in the office and in the field for rapid analysis and decision making purposes now a number of industries have already embarked on this effort and are pursuing targeted solutions founded on game technology now this is actually more than just gamification of gis solutions which is basically the use of game style interaction patterns to drive and empower users of software it's actually the use of game engines to build the next generation of 3dgs clients and experiences on new devices with new expectations and these industries include and solutions include aec for urban planning commissioning of new construction evaluating work sites in the field in defense and public safety for collaboration around battle and situation planning for real-time monitoring awareness and threat detection and immersive yet cost-effective training in natural resources to manage oil and gas pipelines and facilities plan mining efforts and monitor infrastructure in utilities to model resource flows evaluate impact and visualize and manage assets in the field in transportation to capture and manage geospatial assets plan for new infrastructure and model vehicle movement and an education to help drive a greater understanding of the world around us by delivering engaging experiences to do things like explore the hurricane or visualize potential impacts of climate change so there is other client technology out there in the web and native space to build out 3d clients so why game engines well as game engines have targeted gaming experiences it was essential that they deliver high performance premium premium rendering of content with fast and fluid interactions to meet and compete in the gaming space the highly competitive nature of the gaming industry helped push game technology and associated content and hardware to the limits of their abilities as such years of years of development have been invested by successful game engine vendors to build up premium high definition rendering pipelines to deliver simulated world experiences optimized for multiple platforms and form factors of course to build a more immersive and compelling experience game engines also invested heavily in systems and apis to simulate the real-time interaction movement of real life the introduction of high fidelity assets physics engines animation properties atmospheric water and other special effects has enabled some game engines to deliver beautiful photorealistic cutting-edge visuals that appear and operate nearly identical to the real world now game engines also provide support for targeting a wide variety of desktop and mobile systems and dedicated specialized hardware so part of the next generation of 3djs solutions include business use of headsets dedicated to extended reality workflows such as hololens and oculus quest game engines are built to support the responsiveness frame rates and the fidelity needed to power these experiences and last but certainly not least successful game engine vendors have existing developer programs and communities help doc forums tutorials and talented individuals and organizations that know the technology and that are available to do the work that in mind we're delivering the arcgis map sdk as a developer product that integrates with the two market leading game engines unity and epics unreal engine the arcgis map sdk for unity and the arcgis maps sdk for unreal engine will be distributed as plugins are distributed as plugins and provide a ui and apis to access arcgis services and local data this work is currently founded on support for local and global 3d experiences through a scene which provides the context to display and interact with geospatial data and honor real world geographic coordinate space now the beta program is open to the public today you can join any time you can use the url on this slide as well.com a4 ge nice and easy um now that's a high-level uh overview of these new developer products let's dig in a little bit and we'll start with the release status so the map sdk development team started building these new products back in 2019 we released our first public beta beta 1 last october and the latest update beta 2 in february a few months ago in that time we've partnered with unity in epic games and we've started working closely with unity's geospatial team and unreal engine's development team to deliver a premium experience for developers who choose to use a game engine with geospatial data and capabilities from the arcgis system so let's run down what's available in the current beta release and then we'll take a closer look at the status of our beta program so here's a more detailed list of current beta capabilities now keep in mind the functionality delivered in the maps sdks for unity and unreal engine is equal while functionality and capabilities of the editors the engines themselves may be different so development unity in in the unity or unreal editor is supported on windows and mac and although uh unity and unreal engine support uh developing apps for a variety of platforms uh with this beta with the current beta you'll only be able to build apps that target windows mac android and ios a bit more detail on the support for windows this includes 64-bit apps on desktops and 32 and 64-bit uwp apps which means we support use on the first and second generation of hololens the map sdks provide a couple options for working with the plugins both include a ui to configure properties of the scene set camera position and add and modify layers both include an api for developers to customize and deliver a solution code we also integrate with blueprints a visual scripting system in unreal engine both local or flat earth experiences and global round earth experiences are available and data sources accessible by the plugin plugins include a single elevation service for terrain and this means an image service hosting lurking coded tiles with elevation values this includes arcgis online's world elevation services for terrain and bathymetry we also support multiple raster tile layers which include cached map or image data for display from a service or local tile package or a tpk sources include arcgis online base maps for imagery topography or street data to add to that we support multiple 3d object or integrated mesh scene layers these layers are founded on i3s an open specification optimized for the delivery and use of 3d data so 3d objects can include textured buildings and structures while integrated mesh uses a triangular network to represent continuous 3d surfaces usually acquired by satellite or aerial imagery they can be delivered as seen services or local scene layer packages slpks it's important to note that scene layers operate best in the maps sdk when published with version 1.7 of i3s the latest version version 1.7 includes some significant improvements to performance and memory usage so we're certainly encouraging its use with the new maps sdks it's also important to note that we do not support built-in access to feature sources such as arcgis feature services in the current product we will target in a future release though however we do provide a location component to integrate custom content like game objects and actors within the scene established by the arches plug-in so as a developer today with the beta the current beta you can use this location component and craft a solution that retrieves or creates feature geometry and attributes to display and use in a scene in fact you can use location component to bring in a wide variety of geospatial content to participate within the scene uh keep in mind the the location component will not be necessary in the future given some pending enhancements coming in the next release we'll talk a little bit more about that at the end of this session during the road ahead with that in mind uh let's discuss the current status of the beta program so the arches uh the access map system beta program has been open to the public for over a year now and has been incredibly successful currently we have over 2500 participants many of them are actively engaged in the community prototyping solutions providing feedback to our development team and we've seen a few trends within the beta program over the last year so far interest in unity and unreal engine is equal in many cases customers are evaluating both and they're keeping their options open in addition there appears to be an equal split between gis developers or developers with expertise and experience in gis and non-gis developers there's a wide variety of both new and experienced developers in the program as well so in many cases we're finding that gs developers are just starting out developing with game engines and non-gs developers have game engine experience but are looking to ramp up and take advantage of geospatial options and arcgis specifically so at this point most participants in the beta program are targeting a business or an enterprise application sometimes called a serious game in that respect we're seeing pervasive interest in the use of geospatial data in game engines across many industries so this includes aec defense government natural resources utilities transportation and education so it's really exciting to see and hear about some hear about some of the great ideas and the opportunities in these sectors now with that in mind i'd like to see i'd like to show an example of a business application really a serious game so let's hear from one of our customers simon bowles general manager at eic activities part of simic group which is australia's largest construction mining and services provider about how the arches map sdk is helping them build their projects in the virtual world via new initiative called virtual builder hi i'm simon boles from eic activities the best way to describe virtual builder is a flight simulator for construction a dynamic interactive 5d digital environment where permanent and temporary elements such as materials plant and resources can be manipulated in time and space to create a virtual construction site construction is a highly complicated environment often with hundreds or even thousands of people and machines working alongside each other unity's gaming engine and our event-sourced architecture provides the ideal collaboration and integration platform to make sense of this complex environment by using physics and colliders to perform spatial temporal clash detection in real time we can see what's happening as well as what's going to happen as work progresses and plans evolve this instantaneous feedback is incredibly valuable to us arcgis maps sdk provides the ideal stage for this virtual construction to take place powered by the arcgis system it represents the starting point the initial geospatial environment that gets transformed into the finished product as this example shows the key to virtual builder is that the rules work the same as in the real world things can't just appear of their own accord they take time money and resources to build using data that is integrated across the design and construction workflow gives us some powerful capabilities such as recursive computation and parametric modelling virtual builders ability to look forward in time enables our delivery teams to provide accurate and timely constructability input into the design process having good visibility of the future impacts of decisions we need to make now means better solutions for us as contractors which ultimately means better outcomes for our clients so very impressive and a special thanks to simon and his team what a great example of a business application using the arcgis maps sdk to provide a geospatial foundation within a game engine now with that i'm going to hand it off to adrian who's going to walk us through using the arcgis maps sdk show a few demos and have a bit of fun adrian thank you rex so yeah so ranks have been talking and giving a lot of context about what the arcgis plugins uh uh rcs maps sdk plugins are about and i'm just going to go to dive in and actually show you what they look like so i'm gonna take control okay there it is so the first thing you do when you join the early adopter program and you will actually land into that that web page the early adopter program is where you'll be able to download the arcgis maps sdk for unity and there's arcgis maps sdk for unreal engine so as you can see we released last month the beta2 and five months ago you can still download the better one but that is also the space where we collect the feedback where we try to understand the requirements and and that's where you can have a big influence on our own map and what will be released in the future so you know once you're in the program and you've downloaded and start playing with the arcgis maps sdk go back to the early adopter website give us feedback send us exactly your needs and then we can integrate that in our in our own map we also have already available on the arcgis developer website the unity sdk and the unreal sdk page available where you know you can find all the information you need to get started install the plugin get some idea on what you can do a little bit more advanced and also some of the latest capability we released with our beta 2 which is related to secure services and the use of oauth so this is you know for example sdk for unity and the actual smart sdk for unreal engine is the same structure same id and that's where you know you can get a lot of the help just by reading the the documentation then so let me just show you what it looks like so once you have the uh i'm going to start with andrea engine and once you have the arcgis maps sdk for unreal engine installed you'll see that there's four samples to really get you started really quickly uh with the with the plugin you can press play on the sample and actually look at what the scene looks like and you see that it's uh you know of data of new york and there's like transportation line and there's the 3d buildings and you can navigate into the scene and have a better look at what's what the scene looked like but you know we are a gis company and that's mean that i can actually fly wherever i want from there inside henrien engine and maybe i can go maybe i can go on the other side of the earth and go to the alps so it might looks pretty familiar and pretty you know normal for you if you have been using you know arcgis product before and your arcgis ers pro the runtime api the javascript api and things like that but for damaging developer it is new to be able to access any point on the earth and be able to travel to it so let's look at what the sample actually code looks like there's actually no code behind in that sample most of it is configured through the ui in the detail panel that you can see here on the right of your screen so i have a global scene which means i'm representing the data for the entire earth maybe i can switch it to a local scene i have where the camera is going to start now that i have a local scene i can actually set up an extent as a square so with rhino uh i think it's a ten kilometer uh site so now you can see that my data is actually limited to that ten kilometer uh side four square but uh i can make it you know really big and then restart the application and i will be able to do exactly what i did before except that this time i'm not representing my data on the globe i'm actually representing my data on a flat flat map but it's still a 3d flat map so i can still go anywhere i want and then be able to travel down the alps and and have that cool navigation effect there so then in the rest of the plugin you define which base map you want to use why not using the world imagery and then you can add data and you can see right now we have four different layers with all the different opacity and some of them was transportation some of them was a building and that's what created our scene in unreal you have different way of of crafting a scene and we have a sample for each of those for example if you prefer using c plus plus code you'll be able to run that sample and you'll see exactly the same experience you had before except that this time this is created by code if we look at the code it's going to look really familiar to what we just saw in the ui you know we're setting we setting if we're going to use global or local scene and then we added our elevation and then we add the layers that we just saw before exactly the same concept but this time written in code in c plus plus another opportunity to write your application in unreal engine is using blueprints so blueprint for people people not familiar with it is kind of it's a scripting language and so if i use if i open that sample and i can look now on how i'm creating exactly the same thing once again but this time using blueprint i script in language but the concept are the same you know i have my maps that i set local or global i have my best my elevation and that's when i had all my custom layers with a different opacity so some concepts and once again if i run this application which is a blueprint application exactly the same experience i can navigate into the scene and and look more on my data of new york those are the samples that come out of the box part of the arcgis maps sdk plugin for unreal engine on the unity side it looks exactly the same so unity you can see on the bottom of my screen over here we do support two different types of rendering pipeline so unity has i think four different types but we do support the hd rendering pipelines the hdrp this is really focused for like aaa games or very high end definition application or we support also the universal rendering pipeline and this is more targeting a mobile platform and more compatibility apps i can run that kind of on anywhere in both cases you'll see that we have two samples and once again one will use uh the uh one will use the api to let let me let me start with the prefab uh so when we use the ui to configure your scene and you see that the ui is exactly the same as the one we just saw in unreal engine this time we selected local scene we have a circle for our cutting out our extent but if i press play you'll see my game view exactly the same application except that instead of being instead of running inside unreal engine i'm i'm actually running inside unity now unity has this really unique view so what is called the scene view on the left and that's kind of the behind the scenes so the game view will be what the users see and that's what you see in the under on your main screen over there but looking at behind the scene will really show you how the maps sdk managed to be able to show data from the entire world without overloading your gpu so if on my game view i start looting white you'll see that behind the scene the buildings are disappearing and then the tiles themselves are moving to a lower lod and that's where we make sure that you always have the data that you need for your current visualization but we don't overload your gpu with data that are not necessary to be rendered right now and this is all stream right now and we could also support local files if you want your data to be local same same principle apply so if i zoom back in and look at that island again you can see that the data is now fully loaded and those two view looks exactly the same so this is using the uh the ui but same in uh in unity you can configure using uh using the api and then if we look at that file over here this is this file and it's exactly you know the same type of code except this time of course it is c-sharp uh and you know we set our viewing mode to local uh we set our base map or elevation and all the layers we mentioned earlier and the different opacity uh for each layer and and so on and so on so exactly the same looking application for both unity and unreal but obviously game engines the goal is not only you know to show data just in the game engines is what you're going to do with it and and for this the team had a little fun and actually it's going to allow me to have some fun too because i'm going to actually going to play a game so i'm going to let the the game go for for a few seconds and let you emerge into the game and i will explain later or more about about what's what's behind that game [Music] okay so i'm cutting the sound uh that actually made the game so definitely was necessary to have it so as you can see here i have a big lizard working down uh in in new york i'm calling it big lizard because i don't want any copyright issues and and then some buildings that can be destroyed and some other buildings that can be in flame and some helicopters as that come and try to to to kill that big lizard so that's a combination of different things there's a lot of game game objects going on like really you know 3d models coming to the game engine and also a lot of coming from gis data so let me show you what the data you can see if i can reach it here it is so the data is the same data of new york that we've been using in the samples so if you open it in the scene viewer part of the arcgis platform is data that you can find on the living atlas you'll see what the data actually look like and that's really close to the data we just saw in in our samples let me change the base map because the team use a dark grey canvas and this is what is trimmed to the game engines uh depending on the position of uh the the monster in in new york and you get those building stream obviously in the game itself if you look at the building they look completely different and that's because you have access in-game engines to the rendering engine and you can do all the effect you want so you can see here that we have like a night effect applied to the buildings with with light on the window let me skip the intro with light on the window and this is purely a shader work done inside the game engine the data is still streamed from arcgis online and obviously those buildings that you can destroy and all those helicopters uh sending you know missile to uh to our monster are all pure uh game engine 3d models and animated using the game engines same with the explosion of the building and sticks like that but this is still a gis application and we can still be thanks to the arcgis maps sdks and other rest api we can still be part of the arcgis platform and let me show you that now i have my monster surrounded by helicopters and i can actually connect to a feature service part of arcgis online if my tab wants to show up here here it is and and if i refresh you'll see that i can have actually my live position of my monster surrounding by a lot of helicopters here showing up as a feature service uh in in arcgis online so thanks to the arcgis maps sdk not only you can create some beautiful and and very powerful visual application but they also will be part of the xjs platform and you can take benefits of the arcgis platform and all its capability to be able to create your application as a bonus another advantage of running with with game engines is the ability the capability to run on on different devices so from the same application we actually choose a different target and had to work a little bit on the near scenario but i'm now running on my phone as you can see on my video feed i'm running the same application you can see it's an air application so you can see a little bit of my office you can see my screen there and then i can play the same game but using my phone obviously projecting my phone on the screen give a little less of a good experience but you get the idea that that also can run on mobile devices and in air and in air scenarios so to get you inspired even more about you know the things you can do the power of the arcgis maps maps sdk i want to show again the video that rex showed during the our plenary on tuesday and talk a little bit more about it so the first thing you can see here is once again this is just purely an imagery and an elevation data that is streamed to the game engines by but by affecting the rendering of it purely on the game engines you can do some things like edge detection edge exaggeration or really modify completely the look of the data and and here you can see that on the right you have the data how it looks in in in any arcgis product and on the left you have that vangog effect that is applied purely by playing with a with the shaders inside the game engines so the data is still streamed for mark.js online also lod are coming from arcgis online but you can do on top of that a lot more works that you cannot do right now with any of the arcgis products same thing working with shader here you just have a colorization of the of the triangle and of the mesh that just depends on the altitude and here we purely rendering the edge of the data not only an exaggeration like we saw in the desert example but here purely the edge of the data and this is a little bit more of the shadows that we use in the game i just showed you um where you can see the light coming up and the atmosphere effects that brings a night time to your cds and this is not just you know an image that is displayed on it it's actually that impression that you can actually look inside each of those each of those offices or space and and that's what you can do with game engines also and i want to incest here and i'm going to pause just for one minute um also there's a lot of things that you can do in in esri products especially 3dsg products like the rgs javascript sdks the runtime sdk the pro obviously arcgis pro that you can actually do even without an api for it you can do it natively in game engines you can write your own so you don't have to you know you don't have to use the cooler scheme that we have in in javascript or we have in the runtime you can actually recreate that entirely because once again in game engine you have access to the rendering rendering engines that's powering powering the the scene and you can do something like the usual tools view shed and others a line of sight and other capability like this that's a simulation showing that traffic like stops let other cars going in and and pedestrian waiting for the cars to go by before before resuming and that's also a really good combination of of gis and uh and game engines rendering here we have a little bit more on the on the drone hive that erect shown during the plenary and there's a lot of gis to it because you have some no flying zone you have you know when you're getting low of battery you need good charging station uh we need to make sure that paths don't cross at the same time so we don't have um you know two drones uh basically running into each other so that's that's a lot of examples on where gis and and really good 3d visualization comes to life using the arcgis maps sdks so hopefully you know all those different snapshots of things that can be done uh really inspired you and uh and once again uh please join the early adopter program give us some feedback and and we we definitely monitoring motoring this and that has an impact a direct impact on on our roadmap so with this with that dig dive to uh into what the actual smart sdks looks like um and turning back to you rex great thanks adrian let me get the screen back on my side here all right can you see my screen yes i can now okay cool great uh thanks adrian um interesting to see the uh the game that was built there may be well-timed given a recent movie that was released not sure actually so anyway i'm not going to say anything more about that it's missing a big monkey i think i think it might be exactly so well timed well-timed um so with that let's take a brief look at the road ahead now given some of the feedback and the difficulties that we've seen expressed on the beta forums we have a few tasks on hand for our next release which is a pre-release scheduled for june or july of this year now one important aspect of using the maps sdks is the ability to place content in geographic space and as game engines don't have support for this today we've had to work around this limitation in the maps sdks and it's made the developer experience more difficult than it should be now this is especially noticeable when combining game engine or custom content with arcgis layers in a scene fortunately as i mentioned before we've been working closely with unity with the unity and unreal engine development teams and they certainly recognize the value of including native support for geospatial placement it will provide the maps sdks with a refined responsible native api experience for building solutions that combine arches layers and supplementary geospatial content in an application it will also improve the ability to set camera orientation and placement which is obviously important so unity and unreal engine will support the arches maps sdk in this effort to provide a native geospatial placement and we plan to work closely with our development teams to make sure the maps sdk is in line so native geospatial placement is critical to our next release but we also plan to deliver other enhancements such as support for multiple spatial references not just web mercator and wgs84 a simplified ar experience which will take advantage of the native geospatial placement work access to geometry and attributes in a 3d object scene layer which will deliver intelligence with features for an interactive experience that needs to display or use attribute information we also plan to keep up to date on the latest i3s spec for optimized use of 3d data formats with the arcgis system so working with the next version i3s1.8 of course all this is subject to change so i need to qualify that um now the first production release is scheduled for q4 near the end of 2021 near the end of this year so what will this first production release version 1.0 include we're looking at a few items and we're keeping our options open at the moment because there's quite a few projects in play but some of those items might include and we're considering the following a host of new layer types you know one of the primary benefits of using the arcgis maps sdk is access to arches data sources things like building scene layers and point cloud scene layers we're also looking at targeting single lods levels of detail to support elevation layers as terrain and landscape access to arches symbology to deliver complex cartographic representations such as those designed for military specifications in short there are quite a few opportunities in this space so we'll be working with our partners and our customers we'll be working through the beta program and individually uh to ask to assess needs and priorities as we go we're going to keep this dynamic and as time goes on we'll see priorities crystallize and we'll see some of these enhancements start to come together i want to finish with a reminder finish this uh presentation with a reminder that our beta program is open to the public the link to join is available in the slide so any feedback on the arcgis maps tk beta or any questions on our developer efforts with game engines can be handled in the beta program user forums or feedback channel also feel free to use the beta program to ask any questions or share details about a use case you'd like to target and discuss so with that remember to provide your feedback for this session by clicking on the session survey below the link and i think what we're going to do now is i'm going to go back to the this slide i'm going to park it here we'll leave this up so you guys can get the link and details and then we're going to go into a q a portion of the session and we've got we've got ourselves a pretty sizable chunk of time to answer some questions uh so we're going to do is go ahead and take a look at what's in the uh what's in the queue and we'll go we'll top down at this point great so the first first question we have is uh will this be a priced product or free if priced what's the model uh so that's a that's a great question um i did provide a reply a fairly extensive reply now basically because the arcgis maps decays are in beta the cost associated with the distribution and use in a production capacity hasn't been officially determined we're currently thinking it's going to be free at this point because we'd like to provide it as a way to enable or catalyze access to the arcgis system but of course there is a cost to use parts of the arcgis system such as arcgis online or arcgis pro or chase enterprise so something to keep in mind there too but that's our that's our initial goal is to keep it keep it available at no cost but we'll see how that goes again always subject to change as this moves into production the next question working down from the top based on the the likes i need access to dynamic map services and point clouds when will they be available they're certainly on a roadmap of course we're always as i mentioned before the the ability to access different data sources through the arcgis system is very important to the arcgis maps sdk it's obviously it's critical as a conduit or as a mechanism for for accessing arcgis data sources whether services or local data uh they're on a roadmap um obviously we're looking for uh you know for some feedback on use cases to help assist or bolster the priority of some of these data sources there's a lot of different competing uh enhancements so feel free to to use our beta program and and uh provide information about some of the use cases there too uh next question is are there plans to include the demos shown in your beta packages adrian do you want to talk about that so yeah this we are actually planning on sharing the source code but we do want to share the source code only when uh the jio placement uh framework that rex just mentioned is available so uh with prerelease with both game engines uh really natively supporting uh gis placement of game engine resources because we don't want to to direct people on using one way when there's a way better way coming up so we will share the source code of what can be shared of the source code after after pre-release cool thanks adrian and i think we've got another one here which i think you've answered but we can we can talk to it out loud are there plans to integrate with any of the third-party visual scripting systems in unity actually this might be one for me um there's no specific plans no specific plans actually for that but obviously interested in some of these opportunities obviously getting into the game engine space you know as we get into the game engine space and developing solutions with both unity and unreal engine there's a lot of open opportunities in that space and so we'd like to hear about maybe some of those opportunities and use cases that you have our beta program is a great place for that uh please please provide us with feedback um you know because of the sort of the breadth and depth of opportunities some of these things we'll have to maybe look into and investigate uh use cases help but we'd certainly like to consider any and all so feel free to provide us with feedback there uh next question your presentation is not accessible on the website could you please publish somewhere uh yes so the this session the video for this session will be available after the dev summit uh the presentation may be available um we'll see we'll see how that gets distributed uh this is a live session actually so we were basically working up to the last moment trying to get all this information kind of ready for you guys to to uh to enjoy uh do you plan to support other game engines besides unity or unreal um at this stage no but we're always open uh for opportunities again so if there is another game engine out there that uh there's a great use case for and you'd like to be able to investigate or see if there's something we can support you know we have architected the the arcgis map system to be very flexible so uh keep us in mind and uh and let us know what those opportunities are uh let's see here next question uh yes yes the next question from uh from john is about you know somebody that is new to game engines and then you know for the first time experiencing you know getting everything set up and working in a scene but then the workflow to get it actually getting published uh is sometime a little bit uh a little bit difficult and definitely need more help so we we are constantly updating our documentation um but it's really if it's purely about uh you know publishing your application for devices uh then it's it's more a game engine documentation that you need to look at but we'll definitely you know understand that we need help we understand that we're bringing we need to provide help because we're bringing a bunch of users that are used to just arcgis product and gis into the game engine world so they do need a little bit more help uh keep in mind that right now documentation we still fall better so we're definitely working on it and we'll try to help you more into not only be able to create your application but also be able to to create you know to export it as a desktop application or the mobile application yeah great info um so another question popped up at the top here is it possible to edit my scene in unity or unreal engine and sync the changes to my server or portal that's a great question i'm assuming that you're working with features that are coming from an arcgis layer or arcgis service or layer in this case probably a service because you're talking about server portal now technically we're working with with the restful api and that rest api that enables access to the arcgis services to arcgis services is provides a fairly comprehensive set of operations and capabilities that those services include now there's nothing out of the box today that supports editing with the maps sdk but the the rest api that we use that we're using behind the scenes and that is available through uh through services that are hosted on arcgis enterprise or through access online is available for you to use so right now it would be a custom solution and it'd be founded on rest api capabilities see next question so i actually bumped up two questions that are really really really related is uh how to to deal with large value for camera position and uh and then there was oh actually moved is it possible uh for us to to do a world scale ar with the game engines um so the answer for the well scalia with game engines yes it's totally possible so as you can see i was i was directing the camera over the earth and i was going from one side to the other to another and that was pure you know js positioning there so if you connect that gis positioning to some device that actually gives you you know a good position in the real world then you can combine the two and get some video feed and then you'll be able to actually uh do some some real real real scale ar world scalia and be careful that you know world scalia the the huge issue is gonna be your actual positioning you cannot relate just on gps uh events a very very expensive gps uh depending on what kind of forskolia you wanna do are not going to be precise enough if you're just looking at the mountain top that might be enough if you want to know if you can dig if there's a pipes underground you need something really precise and that's where that's where the problem is going to be is get that positioning and orientation of your device correct so technically it's totally feasible uh but i think the downfall will be try to use those um sensors on your devices that might not be uh that'll be precise enough and the second question i bumped up but it keeps on being moved uh he was talking about the geoplacement framework and how easy it is with camera position the both unity and unreal are basically releasing kind of what we call the jio placement framework which will give you a full gis position of the camera so you'll be able to instead of having your camera positioning in kind of game space you'll be able to have like a wgs 84 coordinate for example and that's how the camera or inside the game engines for both unity and unreal will be placed so that will basically really uh you know deviate any problem you might have not only pressing the camera but placing other uh game objects inside unity and unreal engine so we this is why you know we've been working with both epic and unity on that and we're super happy that we'll be able to offer that well they'll be able to offer that and we'll be able to take advantage of it and it will make that really easy that says in that question there was a question about the physic so that's a little bit more deeper in the details but having the coordinate system fix where you can go anywhere you want we still have the translation that is done when it's passed to the to the graphic card that only supports 32-bit precision so we still need to do some magic and some repositioning there and though that is still going to happen we still need to be able to change our origin depending on where you are in the world to make sure that the physics and everything that's happening around the current camera position uh is still happening and and it's still working um so you know unreal engine has a version five that might support 64-bit precision and unity as a repositioning that actually doesn't cost anything so those are different different answers per game engines but the answer is really separating the positioning system which right now should be with what epic and unreal epic and unity are working on should be very very easy to use and still some rendering you know underneath what's going on we still need to to re replace the origin because of that a single precision inside the graphic cards great adrian there's a next question at the top in unity will we be able to access the generated objects outside of runtime it'd be nice to be able to customize and have persistence i know you have a preview capability i mean creating prefabs so you want to be able to access the generate object outside of oh so yeah we we have we have that it's not in our own map yet it's more in that to-do list that uh that we share um and then we actually the internal story is that between uh beta two and the prerelease we're actually doing a lot of low level uh refactoring and one of the goal of that all-over refactoring is to be able to allow us to do to do just that to be able to see the scene and look at the scene before before you actually press play so we're working on that i'm not promising anything because we need to see the results of our refactoring first but it's definitely you know you know one map or artist you know inner things to to implement good stuff uh so next uh next question adrian do you plan to update the documentation with samples that combine gs data and actors i'm assuming unreal engine then um specifically or some documentation about location component so yeah we're going back to the discussion we just had on the geoplacement uh so very the location complement will disappear with prerelease and will be replaced uh by his boss solution in in unreal engine and in unity with what both game engines are gonna add to their uh to their placement system so that's why we we haven't updated the samples between beta1 and beta2 because we knew uh that was coming in prerelease so there's going to be a lot of um if you if you invest a lot on beta 1 and beta 2 you're going to have to do a lot of changes to move to prerelease and we think it's actually easier to start with prerelease because those placement will be purely native to to both game engines and this is why we're not going to update the samples right now but obviously when comes pre-release we will have the samples and the documentation that will show you how to take advantage of that geoplacement framework from both unity and unreal engine great so the next question in unity did you create your custom shaders using shader graph and if so can they be included in the sdk um i think i think the uh maybe i could answer this from a higher level so we've got a number of demos a few things that we showed yesterday in the plenary and today in the in the tech session uh that relied or at least was founded on working with custom shaders into a game engine uh we're looking into what we can deliver and what we can share about with those custom shaders in the context of a demo um or maybe uh the source code for that demo that we can share um then we can comment a little bit more detail on that at this stage uh so we're looking forward to that hopefully in the future here in the near term i'll be able to share more more details on that and uh once again during the architecture we we're currently doing we're also looking at a faster way to be able to write custom shader and integrate them into the rendering of the maps sdks so it's it's still you know we don't want to share what we have reinhardt because he might change again but everything i showed you uh was done by a team purely purely using our sdk as a user so basically downloading beta 2 and only building on it there wasn't anything that was added to be able to to the access maps sdks themselves to be able to produce those demos so everything we showed you can be done today just using the beta2 great so next question uh can this be tied to real-time data from online maps assuming arcgis online for example like field maps and can you push data or edits from this to an online environment and create a real-time interactive environment uh certainly there's no there's there's no support directly for this within the maps sdk today but we are looking at uh enhancing the map sdk where we can to support really real-time data you know working more effectively with feature services stream services real-time data in the future that said as i mentioned before there is a restful api behind our services and so it would be a manual lift today but there's no reason why um you as a developer wouldn't be able to build against that and uh leverage or work with those features in real time um today now that said the services that we do work with uh today working with scene services and raster tile layers if there are changes or updates to those services we will respond and respect those so there is some some level of that support today and for the demo we just show the position of the big lizard ncl comptails i was pushed to uh using our analyst api to a future service so it's totally feasible today it's not just not out of the box next question will the runtime database i'm assuming that's a mobile geodatabase be a supported data source uh that's a great question uh it's it's on our roadmap to be able to support uh as a really a local data source in the ability to store features but not just features but also rasters so that's a that's sort of a new a new capability a new primary data source within the arcgis system and so we're certainly looking at uh at opportunities there to work with that as local data let's see here uh next question any plan to develop sdk sdks or apis for robotic simulators like gazebo again great question would love to hear some of those uh those use cases out there what you guys are looking to build support and how we can contribute uh feel free to uh feel free to use our beta program to to submit some of those ideas i have to admit as well uh the very i think the second slide of this session we did provide our email but at the same time we're both active on linkedin so feel free to reach out there and connect up with us too if you'd like to like to work a bit more privately obviously the beta program is a great place to go if you'd like to share uh let's see here next question is custom elevation data able to be brought into the scene for example a dm layer for local more precise elevation uh would this data be able to be manipulated from inside the game engine such as editing the raster removing polylines adrian you want to take that so we are we are considering so we do support rhino online and local for you know uh it could be thin layers uh it could be imagery and we actually don't support the local one for uh for elevation and that is something that we want to work on before we release our first version i'm not promising anything yet because obviously the roadmap for the final version is not set yet but it's definitely something that we want to we want to look at we will first need to support multiple uh files because usually the dm files come in in very small area and you just combine them so it's uh it we will first have to support multiple elevation and then support the local one but we are uh we are really trying to get that done for for final but no promises because our roadmap is still still undecided at this point and for be able to manipulate it inside game engines the answer is yes and no and there's a license part and i will move that back to rex but there's also the the technical part where what we render uh especially coming from services is a lot of different lods so you know so if you modify your mesh for this camera position and you zoom in your your data will be lost because you're gonna have a new mesh coming from the address online uh you have different ways you can deal with that you can just set your camera position that is the arcgis maps sdk camera and that way you don't get new lod and then you can modify your mesh and then export it if you want it or yeah so that would be the primary way to use it we are also thinking about having something that completely remove anything any elevation in there and that way you can just come up with your own time for for all basically in your data but once again there is kind of a licensing uh issue there and uh regarding to pushing to rex on that one um but there won't be i don't think there will be anything out of the box anytime soon in the maps sdks yeah so there is and there is a concept within the arctis system about modifications to uh to integrated mesh uh for elevation that we might be able to use in some capacity uh still formulating at this stage uh licensing could be an issue in the sense that you know the data the data that you're using may or may not be able to be manipulated uh dynamically so something that be considered um at this stage so something something to think about uh going forward but obviously something we need to pay close attention to and and light up when we can uh next question how do how do we deal with large values for camera positions and the physics system that's the question we answered earlier and i couldn't find that question that's the one that's the one you're answering okay cool um let's see unfamiliar with gaming engines will c plus or c sharp be required knowledge for development um depending upon whether you use unity or uh unreal engine probably preferred to know one or the other um at this stage so c sharp obviously for uh for unity and c plus plus for run real engine it will enhance while not absolutely required it will enhance your developer experience greatly so it's act it is actively encouraged i would say and uh a lot of users use uh annual engine uh using blueprints so you don't there will be something else in addition to c plus plus or c sharp uh that's crypt in language blueprints but yeah you can do a lot of things without coding but obviously coding will bring you further away gotcha so another question about the uh mobile jew database the runtime geodatabase uh great question of course it's on our roadmap we're going to keep close watch on this and be able to use the mobile geo database as a local data source going forward a great option going forward with the within the arcgis system as a whole next question the building which you lit up in your demo was unreal engine actors or building from an arches online scene can you share some links on how to do it so there was two types of building in that demo there was buildings coming from arcgis online that was providing the new york data and they were black with just the windows and that was done using a shader on top of the mesh data coming from arcgis online and once again we will share the source code but uh we'll show the source code but we will you know do that after pre-release um and the other buildings that were completely lined up with the uh that uh the monster could actually destroy uh those ones were purely game engine resources cool thanks adrian then the last question before we finish uh national coordinate systems other than wgs 84 and wember cater in local scene are also supported we intend to support those we're looking to support those as a pre-release i'm at this stage so that's our current target so yeah great question and with that i think we've reached the uh the 12 30 hour uh thanks uh thanks everyone for joining us and thanks for the great questions looking forward to uh meeting you guys in the beta program and in other communication forums so thanks again guys thank you very much
Info
Channel: Esri Events
Views: 1,187
Rating: 5 out of 5
Keywords: Esri, ArcGIS, GIS, Esri Events, Geographic Information System, Unity, Unreal Engine, Epic gaming
Id: VWbuSmjNSv0
Channel Id: undefined
Length: 60min 9sec (3609 seconds)
Published: Tue May 11 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.