Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by TheCandy · Dec 05, 2016 at 06:08 PM · worldbest practiceslargemap making

World map and 3D view coordination.

Hello,

this is more about asking for best practice, rather than specific solution.

I am making a naval game (PC only) and i would like to have rather large (~1000km x 1000km) fictional "caribbean sea"-like area. I have the ship model, controls and "physics", but I would like to know a few things...

Currently I am using a sea mesh, which is following the boat and is large just enough for player to not see the edge. Every boat on this mesh is bouncing up and down according to sea waves. There are islands on fixed positions on the map and player simply sails with the sea mesh to the islands.

1) How to make a world map view with players position and other ships position in players area with smooth transition (not switching to a different scene)? One thing comes to my mind - having a plane with same dimensions as the world itself and a orthographic camera watching this world and showing the positions based on the coordinates of the boat. But I guess that this solution is not very smart and pretty heavy.

Other solution would be a different scene for the world map and sharing the coordinates with the 3D scene to spawn the models in 3D / spawn sprites on 2D.

2) Is it a good idea to have all the islands on the same map in the same scene? I would like to have rather large and detailed islands - roads, buildings, few ports... Should I use different scenes for map "tiles", or is it fine to use one huge map? Ive heard, that the only things rendered are the ones that the currently used camera can see - if this is true, I could make one huge map, right?

Other solution could be spawning the island as the player comes closer to it, and to spawn the details (buildings, etc) even closer.

Feel free to share any concern or issue that would come to your mind. Thanks

Comment
Add comment · Show 2
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image TheCandy · Dec 05, 2016 at 12:55 PM 0
Share

P.S.... other solution, that i can think of, would be using ~ 5km x 5km tiles and putting, lets say, 9 of them on the map with the center one in 0x0x0 coordinates. As the player crosses the tile at the border, the tile on the other side would become the center one and all the coordinates would recalculate..

These 5kmx5km tiles would be prefabs. For 1000km x 1000km map, that would require 40 000 tiles, but as most of the map is water, we can use prefabs only for islands, and shallow waters, reducing prefab count drastically.

example: Player is in the center of the map. He travels only on the z coordinate to the north. If he reaches the z at 2500, he is teleported to z = -2500 and all the objects are teleported to a new z coordinate = ("z coordinate before" - 2500) and the northern tile is moved to the 0,0,0 , beco$$anonymous$$g the center one. Three tiles at the south are discarded and three tiles at the top are spawned according to some matrix that stores neigbouring tiles info.

New coordinate calculations would go like this: If |player_x_coordinate|=2500 then player_x_coordinate = inverse value of player_x_coordinate , z_coordinate stays the same. All other object x_coordinate = x_coordinate - player_x_coordinate (- & - = + )

.... same goes for the case that player hits max z coordinate first.

avatar image christoph_r · Dec 05, 2016 at 03:26 PM 0
Share

This is probably better posted on the forum.

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

How to set up a world map texture on a series of individual country meshes? 1 Answer

How to import picture size 43000 x 21000 pixels 3 Answers

How to use Static batching, occlusion baking etc while using floating origin for a large world ? 0 Answers

Apply a Rotation in World Space based on Quaternions 2 Answers

Generating Chunks 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges