Do I need to worry about scripting this?

Hello all,

I’m creating a city map. I have about 75% of the city buildings modeled. I’m wondering if i need to worry about how I load in these models (streaming) and if i need to create 2 different versions of each model. High res [~2500 polys] for when the person is close, and super low res [~200 polys] so you can look at the whole city without chugging your computer to death.

I would like to be able to introduce the city to the user by “flying” over it. So the low res buildings will need to be streamed in to populate the terrain but i need to show the details of the buildings too when close.

Are these valid concerns or will the engine take care of these problems for me, like the streaming issue. I see unity 2.1 now can stream models from a server.

Ideas?

Thanks

It’s worth noting that reducing the poly count would only be a small part of it - you should also combine the low-res meshes of the buildings into one citywide mesh. If you have one camera render the background with the low-res buildings, and another camera rendering the foreground, you can keep them separate by controlling render distances. The culling process will remove the distant buildings so you won’t need to switch them on and off manually.

Streaming the models would be another ball of wax, but not one that’s too difficult to solve, I don’t think.

This is a great idea, thanks! One question though, is there a major advantage to having all the low-res buildings combined into one mesh? The final mesh may have something like 10,000 polys. Where do textures start to become a problem?

I’ll look into the new Load Assets API Bundle. I’m seeing some good stuff in there for loading models and scenes. Is there something better for my situation?

Basically you can load parts of a big world a part at a time and throw it all out when it’s not needed.

Thanks for that. It might take a while to figure the logic out though. I’m guessing I would need either a script to attach to each low poly building (one that figures the distance between the player and the building - once it’s small enough, it loads in the high res building) or a more complicated script attached to the player (queries an array of building locations and if the distance is small enough in each array entries, it loads the high res model). Inversely i would destroy the high-res models when I’m far enough away. That part seem simple once i get the loader finalized.

What I don’t quite understand yet is how I would go about hiding the original low poly building once i’ve loaded in the high res version, especially if the low res buildings are all part of the same mesh.