Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

State of ARCore and Geospatial Creator on Unreal #192

Open
magiclamb opened this issue May 8, 2024 · 3 comments
Open

State of ARCore and Geospatial Creator on Unreal #192

magiclamb opened this issue May 8, 2024 · 3 comments
Assignees

Comments

@magiclamb
Copy link

Hi @devbridie I just finished watching some of your geospatial sessions on YouTube. They have been quite helpful!

I would have asked this on the unreal repo, however that was deprecated towards the end of last year.

On part of a team that wants to develop with the features of geospatial creator, however unity doesn't offer the engine features required for our game, amongst other engine disadvantages we have run into. However unreal has everything we need and more.

Ive not been able to find any information regarding these questions online so I thought id ask here:

  1. why isn't there a geo space creator equivalent on unreal, as there is with unity? We have full access to cesium on UE, so it seems that it would certainly be possible to utilise the geospatial creator suite if released.
  2. Is it an exclusive agreement that prevents it from being on unreal? If so, when does it end?
  3. Are there any plans to bring equivalent geospatial creator features and suites to unreal?
  4. Otherwise, are there any workarounds to achieve similar results, particularly with cesium?
  5. it seems like
  6. We've successfully used geospatial creator with out tests on unity and there are many examples, tutorials and showcases to be found such as: https://youtu.be/uWoxF9p61ho?feature=shared

https://youtu.be/Wmi9kLfC3CE?feature=shared

https://youtu.be/MDcyG9MAMAo?feature=shared

https://youtu.be/W1XMiu4Twik?feature=shared

https://www.youtube.com/watch?v=FaN2UH2XCmo

https://www.youtube.com/watch?v=33ddwGjR2AY

However there is nowhere near the resource available for unreal and I haven't seen any guides or showcases highlighting AR placement in the real world utilising googles tools alongside cesium which along with some testing leads me to believe it would either not be possible to achieve the same outcomes or would be MUCH more difficult in unreal. So are there any upcoming ARCore updates coming to unreal that would allow for equivalent outcomes? It would be fantastic if so!

We're trying to test viability and get an idea for what is possible at the moment and in the future, so any advice and input would be much appreciated.
Thanks!

@devbridie devbridie self-assigned this May 8, 2024
@devbridie
Copy link
Member

Hey,
I've heard some success stories involving Unreal, ARCore and Geospatial from some partners, so I don't think there are any problems with that integration! It's just currently not a development path we're investing in at the current time.

Since Cesium already works on that engine, I imagine you'd be able to put together some similar tools within Unreal by implementing something familiar to these functions to handle conversions to/from game coordinates and geodetic coordinates.

@magiclamb
Copy link
Author

magiclamb commented May 10, 2024

Thanks for the quick response @devbridie! And that link is a great example, i'll be sure to investigate with my team mates more when we collaborate next.

Would you mind sharing the names of the success stories? It would be fantastic to see if they have any dev blogs or other pointers that we can learn from for how they brought geospatial data into ar as in those links!
If there are resources or guides along the lines of what you linked geared towards geospatial AR in unreal then that would solve this roadblock we've hit 🙂
The most involved guide ive come across is this, but it does have anything specifically about geospatial or using real locations, occlusion etc in AR specifically and I don't really see the bridge of how this would be accomplished either..
https://dev.epicgames.com/documentation/en-us/unreal-engine/developing-for-arcore-in-unreal-engine?application_version=5.0

And it seems in this forum post UE4 from years ago was the last people had much success in doing so:
https://forums.unrealengine.com/t/ar-objects-in-the-the-real-world-based-upon-gps-location/111801/5

Its been a bit of a deflating investigation so far, so id appreciate it! Then majority of hits I found are from years ago and don't feature geospatial ar projects or showcases in real locations as i find in plentiful numbers from unity's side. Perhaps its because geospatial creator lowers the barrier of entry for indies and mid's viability on unity so people just make the swap even though unreals tooling and visual capacity is incredible and very complimentary to geoAR.
https://www.youtube.com/results?search_query=arcore+unreal

From what i've found so far, if we pursued it seriously, realistically we would probably just need to make the switch to unity given the differential in resourcing from google. Thats the choice that some of my dev friends said they had to make in the end even though they were primarily unreal devs. However as I mentioned that would be quite difficult for us to switch, but to tool a feature set that is comparable to what is available with unity stock would be a monumental task for an indie team that could take as much energy as developing the game itself.

Otherwise is there any possibility to perhaps open a repo for the community to be able to share any of their tools based form ARCore with each other to save this kind of effort and open resource the community until its officially on the cards for unreal?

I know these are very particular questions and requests, but it would be awesome to be able to have the confidence that i felt with Unity for Geospatial AR before making plunge in Unreal, there seem to be a lot of unknowns and it would be hard to have to swap mid way because of an unforeseen limitation.
Also I'm running on Australian time, I hope this doesn't ping if you're asleep :)

@magiclamb magiclamb reopened this May 10, 2024
@magiclamb
Copy link
Author

Hi there @devbridie, hope you've been well!

I watched the latest showcase and announcement videos and have been testing it all. Its fantastic! Really impressed with all that you've been able to do. Particularly the batch locations, addition of more locations in 3d and the path towards universal AR inside maps itself! Very exciting times ahead.

Since the previous message I have been experimenting with AR with cesium in unreal. Im trying to get my head around getting this working at the moment as you and some others have recommended, but have been having some trouble! It's certainly not nearly as easy as the unity solution. Unfortunately there don't seem to be any straightforward solutions or examples to be found in UE. By comparison, got it working almost immediately with your Geospatial Creator for Unity 😅

I got in touch with a fairly high up and experienced developer on the Unreal team with background with geospatial tech in unreal.

He told me:
"That said, I checked with our team, and they told me that UE is currently built with ArCode 1.37 which does have geospatial APIs, but we have not exposed them in the engine. Developers would have to expose these features themselves.
But it might not be as complicated as it seems. (once again, I never tried this API, and know little about it).
For displaying the world content, Cesium combined with Google Photorealistic tiles can do it.
And for converting any geospatial location to UE frame, you can also use the Georeferencing plugin.
As long as you have correctly defined your world origin, the ArEarth_getCameraGeospatialPose seems to be returning the camera location. You can convert it to Geospatial coordinates, and with the help of the tangent frame at camera location, convert the camera angles to an UE transform.
Then, any object you want to place in the UE world can also be located in the real world with the same process."

Im still trying to get this to work as intended.

I also got in touch with some of the devs at Cesium and have run into the same issues. VR is certainly possible and there are high quality and detailed guides and examples for that, but no AR. Bootstrapping would be the only solution. At the moment i'm continuing to test this.

If the api could be used alongside cesium to achieve what can be done with unity in a much more straightforward way than it currently is in unreal by utilising GS Creator, then it could be excellent to be able to utilise this and perhaps have some examples within the project. To try to get parity with unity capabilities.

I know a lot of devs who have moved away from unity to unreal, particularly in the last year. The last I heard, the rate of growth for unreal is much higher than unity. And given the advancements and benefits logistically of unreal now and its ability to port to mobile platforms just as easily, but also with much more online multiplayer support, it's reasonable to assume this trend will continue. With 5.4 it also has significant design and storytelling capacity akin to Aero.
So it seems like a win-win to try to support UE in the same way as unity and Aero, given your goal is to bring these tools to as many people as possible.

Also official support is much better than devs having to bootstrap their own modifications to get a base functional system running: since it comes with support, community knowledge and future updates and features as can be seen with the latest updates and changes with unity.

If you can let me know your thoughts, or if there have been any updates on potential target platforms since your latest showcase, that would be fantastic! As that could greatly impact my decision making process :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants