What is the best solution for a 50km diameter island?

I have heard that the default area for new projects is only 2.5x2.5km. This is tiny. I want a 50km diameter island surrounded by ocean. Do you think I could shrink all my assets down to 1/10 scale somehow and use a much smaller area? Or will this cause water etc to stop working properly? This is for a TV show world, not a game. The puppets will live in this world and mostly have locked off backdrops using a chroma screen. I want to be able to navigate around freely, including flying from one side of the island to another when transitioning between island locations.

Shrinking the assets will not increase the precision of the vertices so it will not fix the problem at all.

Search for “Unity Floating Origin”. That’s the only real solution for the problem.

Any game that you’ve ever played with a huge map only has a small portion of the map loaded at any given time. Content is streamed in and out as you travel. If you always keep the player (and that small portion of the map) on or near 0,0,0 then you won’t have to worry about those rounding problems in physics or rendering that you would see at extreme distances.

2 Likes

So I should have small locations, and then create a miniature version of the island for full island shots? You understand my objective for the scene transitions, right? I want to fly to different island locations with the audience as an island bird or something, then come to land in the new location. The only thing that matters is where the camera is pointing. There are no players, just backdrops and cinematography. Do I draw the whole full scale island and then assign the island to move under the feet of the 0,0,0 camera? I don’t get it.

i guess you can just use LoadSceneAsync in background and load the scenes with next segments(scene/scenes) unnoticed to the public, you just need some kind of buffer zone where the load will start and the audience won’t notice

That would probably work.

Just so you know, Unity does not actually impose any hard, fast limit to your map size. The real limit is simply the precision of vertices used to store mesh data and also transform positions. Physics and rendering can start to get jittery at extreme distances from the origin. Some people say 2.5 k, some people say it’s more like 5. The maximum size that you can make your map or any mesh object really depends on what you’re trying to do.

It’s possible to create a 50km terrain and surround it with water without too many issues. Like kdgalla states, you’ll need a floating origin script on the player/camera. And if you want all the assets/buildings to be present when the scene loads then you should place them with a centimeter precision or they may shift slightly if you travel to the opposite side of the island and return.

But still it is definitely a bad idea for Hierarchy to make a one big scene if there will be many GameObjects in it, even with childing them, then the parent count will be big and you will need to child the parents to an empty one again and so on

So just to be clear, there are two options:

  1. Make small local areas where the characters hang out, then CUT to a wide shot of a miniature island that would be drawn completely separately (probably consisting of just paint colours instead of trees and sand textures?)
  2. Make a full scale island that is 50km diameter and somehow keep the camera at 0,0,0 while the island itself moves around, but the camera remains stationary.

Is this correct? If so, I would definitely choose option 2. There are no players. It does not need to render in real time. Attempting option 1 would require a really low cloud to fly into for a quick swap. That’s not what I want. How do I achieve this ‘Unity Floating Origin’, which I think is Option 2 based on your description.

1 Like

I’ll look into that if its necessary. Remember, I’m making a television show, not a game.

Yes ideally we should do what Rockstar Games does and hire a large team of 3d modelers and level designers to spend ten years to create a large streaming world.

Floating Origin Script. This seems to reinforce what kdgalla is talking about. So I should simply draw the entire island? Then insert some kind of script? Is this for use in Game Mode? Do you know where I can get this script?

I’m sure RockStar are using the same techniques we’re discussing here. Preloading too much data into weak computers is the issue.

It will mostly be trees that I paint, with four or five basic locations. These puppets are stranded on a deserted island, after all. Not much around, except for maybe some birds that I could add separately.

Floating Origin

Thank you! I’ll try to figure out how to install this correctly.

if its only 5 POI’s (Points of interest) then i guess even huge one scene won’t be a problem (except the float precision without the floating origin i guess).
Just use the free Prefab Painter 2 Unity Asset or something to draw the trees that will be autogrouped(parented) to an empty GameObject in the process if still don’t have one, for this one case

The camera doesn’t remain stationary. You allow it move a specified distance from the origin and then shift it back to the origin and then shift the world. I’d recommend doing the shift when the camera reaches 10km from the origin.

Shifting the world is quite demanding on the physics engine and so it’s possible that you’ll see a slight stutter, so it’s best to shift the world as infrequently as possible.

Thank you. I’m using a package of assets called ‘Toon Adventure Island’. I’ll test the tree painting now and see if the hierarchy fills up… 1. Placing a Terrain in the Scene Window. 2. Clicking Terrain. 3. Clicking the Paint Trees button in Inspector. 4. Assigning a Tree. 5. Painting a million trees.

The hierarchy simply says ‘Terrain’ and does not contain any game objects under it.

I don’t know what this means, exactly, but when I press Ctrl+P to enter game mode, all the trees seem to be blowing in the breeze just fine with the ocean water lapping up onto the shore. Not sure what this will mean when the terrain is over 50,000x50,000 metres. At least trees are considered paint and not game objects.

It will be a transition effect, to give the audience location perspective. It will also allow me to create a map for storytelling reference as the writer.

well anything in Scene Hierarchy is a GameObject as a starting core so the trees are just under GameObject as childs of that GameObject.

If you’re talking about prefab painting