• 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
Question by Essential · Feb 20, 2014 at 08:00 PM · animationshadermeshvertexbatching

Clarification on static batching a shader-animated mesh

I've read that objects set to static will be static batched, but you should not do this to any objects that will move, rotate, or scale as it is very inefficient.

However, if a meshes vertices are being animated by a shader does that count as moving? Or can it be safely marked as static in the scene?

Comment
MattMurch

People who like this

1 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 _dns_ · Feb 21, 2014 at 04:25 PM 1
Share

Hi, I don't have an full answer but this information may help:

I think I read that the static flag is used to (pre)compute occlusion more efficiently so if the animation you do is moving vertices too much it may modify the occlusion the object provides and then cause visual glitches.

Also, with dynamic batching, I had problems with shaders that modify vertices positions and I guess it is the same with static batching. Batching merges objects together, this changes the local origin and then the local coordinates of all vertices (before being transformed to world position). It may become a problem if you are using this information in your shaders.

avatar image Essential · Feb 21, 2014 at 05:33 PM 0
Share

Hmm… that makes sense, thanks for the info.

I think if nobody knows the answer I will try testing it for myself to be sure.

avatar image Flailer · Jun 27, 2014 at 08:03 PM 0
Share

Static batching will work shader animation.

1 Reply

  • Sort: 
avatar image

Answer by MattMurch · Jun 10, 2020 at 11:41 AM

Yes, you can use vertex animated shaders on static objects! I ran some tests in editor and in builds, and it works.

Here is a demo form Double M Digital showing vertex animated and UV animated shaders on static geometry: DMD Shader animation on static objects demo

Comment

People who like this

0 Show 0 · 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

Unity Answers is in Read-Only mode

Unity Answers content will be migrated to a new Community platform and we are aiming to launch a public beta by June 9. Please note, Unity Answers is now in read-only so we can prepare for the final data migration.

For more information and updates, please read our full announcement thread in the Unity Forum.

Follow this Question

Answers Answers and Comments

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

Related Questions

Does material's shader realtion with batching ? 1 Answer

Vertex position problem in vertex shader 0 Answers

Using compute shader, how to take every vertex of a mesh and make a cube spawn and move to each one? 0 Answers

Unity. How to render part of mesh. (pre-prepared vertex animation) 0 Answers

Materials disappear on Mobile when more then one is set to static batching. 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