Ways to dynamically render a real world 3d environment in Unity3D
- by Jake M
Using Unity3D and C# I am attempting to display a 3d version of a real world location. Inside my Unity3D app, the user will specify the GPS coordinates of a location, then my app will have to generate a 3d plane(anything doesn't have to be a plane) of that location. The plane will show a 500 metre by 500 metre 3d snapshot of that location.
How would you suggest I achieve this in Unity3D? What methodology would you use to achieve this?
NOTE: I understand that this is a very difficult endevour(to render real world locations dynamically in Unity3d) so I expect to perform many actions to achieve this. I just don't know of all the technologies out there and which would be best for my needs
For example:
Suggested methodology 1:
Prompt user to specify GPS coords
Use Google earth API and HTTP to programmatically obtain a .khm file
describing that location(Not sure if
google earth provides that capability does it?)
Unzip the .khm so I have the .dae file
Convert that file to a .3ds file using ??? third party converter(is
there a converter that exists?)
Import .3ds into Unity3D at runtime as a plane(is this possible)?
Suggested methodology 2:
Prompt user to specify GPS coords
Use Google earth API and HTTP to programmatically obtain a .khm file
describing that location(Not sure if
google earth provides that capability does it?)
Unzip the .khm so I have the .dae file
Parse .dae file using my own C# parser I will write(do you think its
possible to write a .dae parser that
can parse the .dae into an array of
Vector3 that describe the height map
of that location?)
Dynamically create a plane in Unity3D and populate it with my
array/list of Vector3 points(is it
possible to create a plane this way?)
Maybe I am meant to create a mesh
instead of a plane?
Can you think of any other ways I could render a real world 3d environment in Unity3D?