Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
2 captures
13 Jun 22 - 14 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 RetepTrun · Dec 15, 2013 at 02:47 AM · meshobjectperformancebone

Vehicle Parts - Bones or Separate Objects?

I am making a game with a lot of vehicles in it.

I am thinking about how I should I divide up my meshes for performance so I wont have to backtrack and remake things. I have had no issues thus far I want to think ahead now because more bots=more fun.

I could continue to divide the meshes by the obvious parts that move (wheels, turrets, doors etc). Or I could use bones, (each wheel gets 1 bone, door bone, turret&gun bones).

What is most efficient?

Deforming a mesh? Rotating objects? Another option?

Comment
Add comment
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

2 Replies

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by Kiloblargh · Dec 15, 2013 at 07:28 AM

Generally skinned mesh renderers are not efficient. I know there is a thing where you can get better performance by 'abusing' the skinned mesh renderer to make everything be one mesh but I don't think your project is such a case.

The most efficient thing is probably to use sharedMesh for all meshes that are the same and sharedMaterial for all materials that are the same, and (most importantly) have as many objects as possible use the same sharedMaterial with one texture map (with their UVs mapped to different parts of it) so dynamic batching is possible. Maybe you're already doing that, but if not, you're optimizing up the wrong tree.

But why not just test it yourself? Make 100 vehicles with "wheel bones," an identical scene 100 vehicles with separate wheel meshes, and a simple script to just spin the wheels, open the Stats window on each, see which one is performing better.

Comment
Add comment · Show 1 · 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 RetepTrun · Dec 15, 2013 at 08:29 PM 1
Share

It appears you were correct.

I did a save as on my truck and separated out the wheels into thier own objects and deleted the armature. Trucks have 6 wheels. So the boned-wheels truck is made of 4 objects (2 visible), and the truck with independent wheel meshes is made of 8 (7 visible)

The results:

  • Little difference below 100 cars

  • At 100 or more cars the difference stars to become noticable

  • Using bones reduces draw calls

  • bones cause increased render time, main thread time, decrease fps

  • separate wheels cause huge number of draw calls

  • separate wheels reduce render time, main thread time, increase of 10-15 fps

So I wont bother making bones for vehicles.

avatar image
0

Answer by autoparts15 · Aug 13, 2020 at 08:12 AM

Great question from you for all auto parts retailer. If you want to more information about this question please visit us at: https://5salt texttarsautoparts.com/

,Great thought, i appreciated to you. Make 100 vehicles with "wheel bones," an identical scene 100 vehicles with separate wheel meshes, and a simple script to just spin the wheels, open the Stats window on each, see which one is performing better. if you want to know More information please visit us at: https://5starsautoparts.com/


auto-parts-logo.png (80.6 kB)
auto-parts-logo.png (80.6 kB)
Comment
Add comment · 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

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

17 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 avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

'Pre-create object VS Create when needed' Performance difference 1 Answer

Re-meshing Static Objects as one mesh? 1 Answer

Moving bones without moving mesh 1 Answer

Mesh collider cost 1 Answer

Performance Problems - Object Quantity 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