Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 moghes · Feb 26, 2013 at 04:17 PM · performanceverticesperformance optimizationsmoothing

Can I force unity to "weld" or "attach" a vertex of common faces, just like 3ds max?

Hello everyone! I have a small city scene where in 3ds max I check the number of vertices to be about 3 million, and as I researched and got this and this links , I understood why I have 30 million! verts in unity. I also read about smooth groups, but still search for a solution to this. First I have to optimize the model in 3ds max, since 3M is too much for game use. But I thought of a method or script that can tell unity to see each vertex as one, or is it a system feature that cannot be changed?

Any other hint/solution about having a detailed city model and still not acceeding the limits.

Also in this link, "not more than several million" on PC mentioned by the user manual. several million in 3ds max or in Unity?

Comment
Add comment · Show 3
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 Benproductions1 · Feb 27, 2013 at 03:45 AM 0
Share

From my understanding you want to do the blender equivalent of Remove Doubles. $$anonymous$$erge all verticies that are in the same position, correct? if so I can help :)

avatar image moghes · Feb 27, 2013 at 12:38 PM 1
Share

I don't know if this is possible! I am a bit confused. In this link that I mentioned above it says:

"Note that the actual number of vertices that graphics hardware has to process is usually not the same as the number reported by a 3D application. $$anonymous$$odeling applications usually display the geometric vertex count, i.e. the number of distinct corner points that make up a model. For a graphics card, however, some geometric vertices will need to be split into two or more logical vertices for rendering purposes. A vertex must be split if it has multiple normals, UV coordinates or vertex colors. Consequently, the vertex count in Unity is invariably higher than the count given by the 3D application."

then this must be something done by the graphic card and not the engine, as I understood.

avatar image Benproductions1 · Mar 08, 2013 at 10:34 AM 0
Share

I believe my method is the only way, but maybe there's something in the import settings???

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by MountDoomTeam · Mar 07, 2013 at 10:16 AM

Thanks for the info about unity duplicating any vertices with multiple normals, UV coordinates or vertex colors.

Yes you can merge and process the vertices how you want inside unity. if you are talking about mesh made from maths, that would make sense.

if you're talking about code made in modelling application like 3d Max, it's probably best to process it in 3d Max 1st.

the reason for that is that 3d Max already knows where all the vertices are and will have special code to merge them faster. if you are doing a city, the different facing vertices on the same point should be distinct, and that means only the edges and corners of buildings duplicate. curved shapes can share vertices. All the vertices that are on the same flat sides should be merged and have the same normals and UVs etc. if you wrote code to do that in unity, it kind of has to compare every one of 3 million vertices to every other which takes a long time, maybe it's doable at load time, or as a separate editing code that resaves an object. but in 3d Max if you can do it it's a lot faster.

the answer is that you have to optimise and merge all same vertices on your meshes 3d Max 1st.

Comment
Add comment · Show 6 · Share
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 moghes · Mar 07, 2013 at 05:48 PM 0
Share

Dude first thanks for you answer, $$anonymous$$y question is a bit different, suppose I have done all the merging/welding in 3ds max. Still Unity splits each vertex. Take a basic example, draw a simple cube in 3ds max which has 8 verts in 3ds max, but 32/48 or more verts in unity depending on the lighting ..etc.. $$anonymous$$y question is: Is there a way (a script) that we can force the engine or the graphic not to split the verts , which will optimize performance.. Personally I think, that's the way the graphic cards work, they render the mesh first (one pass) the lighting(another pass) and so on .. but i am interested if there is some control over that!

avatar image Kiloblargh · Mar 07, 2013 at 06:01 PM 0
Share

Yes, there is: set vertex normals to smooth. It is hard edges that cause duplicate verts to be created.

avatar image moghes · Mar 07, 2013 at 06:08 PM 0
Share

and how to do this?

avatar image Kiloblargh · Mar 07, 2013 at 08:38 PM 0
Share

In $$anonymous$$aya, when you're in polygon mode, there's a Normals menu and you can select the whole model and choose "Normals->Soften edge". I don't know if it is done the same way with 3ds $$anonymous$$ax- the last time I used that everything appeared to be pretty much the same as $$anonymous$$aya- but it has got to have that option somewhere, look it up.

avatar image moghes · Mar 08, 2013 at 07:54 AM 0
Share

Ah ok, you mean the turboSmooth modifier of max. But as you smooth a vertex, you create more vertices. Since the main topic was reducing the vertex number, even if the graphic card will not split the (sharp edge) verts, but we will have much more verts already co$$anonymous$$g from max.

Show more comments

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

11 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Speedtree verts are insane 0 Answers

Performance of one big object vs lots of smaller objects 0 Answers

Question regarding TileMap Performance 0 Answers

Sprite shape culling performance 1 Answer

Problem with profiler spikes caused by Semaphore.WaitForSignal 0 Answers


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