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 highpockets · Nov 23, 2013 at 06:39 PM · texturematerialdrawcallssharedmaterial

Can't figure out why 5 objects with the same material/texture are not batching..

I have an object that I imported from blender. It has 4 child objects and they all use the same material, they are very minimal in vert count and use a simple shader with one pass. I thought they would batch, but that is not the case. I read here ( http://docs.unity3d.com/Documentation/Manual/DrawCallBatching.html ) that:

-Generally, objects should be using the same transform scale. -The exception is non-uniform scaled objects; if several objects all have different non-uniform scale then they can still be batched.

The scale of my parent object is ( 6, 1.839, 3.08 ) and the 4 child objects are ( 1, 1, 1 ) in scale. Is this where my problem has occurred? How do I fix it?

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 Bunny83 · Nov 23, 2013 at 08:50 PM

First of all what kind of batching do you expect?

static batching? If so:

  • are your objects marked as static?

  • do you have unity pro?

If you expect them to batch dynamically, do:

  • your objects have a vert-count around 300?

  • you positioned your objects not too far apart?

For either of those, make sure you use the same material instance (like ffxz7ff mentioned). That means never touch the material property or it will create a duplicate for this object. Always use sharedMaterial(s).

Finally re-read the batching page at least two times since all that is mentioned there ;)

Comment
Add comment · Show 3 · 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 highpockets · Nov 24, 2013 at 02:38 AM 0
Share

oops, I was confused, it is batching, but the 5 objects are taking up 3 draw calls because of the vert count. Thanks for the insight

avatar image highpockets · Nov 24, 2013 at 05:17 AM 0
Share

Just incase someone is searching for this answer in the future… Another problem was what I originally expected, which is that one of the objects ( the parent object had non uniform scale ) and once I made the the scale uniform ( 1,1,1 ) dropped my draw calls down to 2.

avatar image highpockets · Nov 24, 2013 at 05:51 AM 0
Share

O$$anonymous$$, I was able to trim it down to 1 draw call by separating the mesh into 7 objects in total. Now will the extra objects be creating any extra processing overhead?

avatar image
2

Answer by ffxz7ff · Nov 23, 2013 at 07:58 PM

Just guessing here, but are you also assigning the same instantiation of the material to your objects? I don't know if it batches if you instantiate the same material in different variables.

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

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

Related Questions

How can I lower Decal draw calls at runtime? 1 Answer

Drawcalls reduction 1 Answer

lowering draw calls 5 Answers

2 materials/shaders 1 texture? 2 Answers

Can I have multiple/alternate UV textures for one mesh in a single file? 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