Ways to dynamically render a real world 3d environment in Unity3D

Posted by Jake M on Programmers See other posts from Programmers or by Jake M
Published on 2012-06-19T04:27:56Z Indexed on 2012/06/19 9:23 UTC
Read the original article Hit count: 299

Filed under:
|
|

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?

© Programmers or respective owner

Related posts about algorithms

Related posts about methodology