• 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
2
Question by jacksmash2012 · Jul 28, 2010 at 06:49 PM · shader

What is the best way to go about manipulating vertices?

For example, changing color (for simplicity).

Sometimes I find myself trying to distinguish between whether to write a script, or whether to write/edit a shader. For example, let's say I have a simple primitive, like a sphere. I want all of the vertices to be green. It seems to me that there are two possible approaches:

  1. Write a script that loops through all of the vertices of a Mesh (in the Update function) and change the color to Color.green, or

  2. Write a shader that simply sets the Main Color to green.

Obviously, two is the better choice. Although, I think that #1 also depends on the shader, since not all shaders will respond to vertex-color changes.

But if the question gets more complex, i.e., I'd like to implement some fractal and noise functions. How do I know what I should accomplish in a script, and then what I should do with the shader?

Hope this makes sense. If not, just say so and I'll try to reword it.

Cheers.

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

1 Reply

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

Answer by Eric5h5 · Jul 28, 2010 at 07:13 PM

Good question...persistance, perhaps? If you want to change something about a mesh permanently (like applying damage to a car model), it seems to me that changing the mesh in a script is more appropriate. A shader would be better for something where you have a basic state that has an effect applied "on top" of that every frame (like a waving flag shader). You could do that with a script too, but a shader would be faster and use fewer resources.

Comment
Add comment · Show 2 · 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 jacksmash2012 · Jul 29, 2010 at 01:22 PM 0
Share

Ok, so the bottom line is I should consider using a shader when an object's state (per frame) is dynamic. Is that a fair statement?

avatar image Eric5h5 · Jul 29, 2010 at 06:23 PM 0
Share

@jacksmash: seems fair to me, though I'd like to see some more answers.

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.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

No one has followed this question yet.

Related Questions

Shader errors 0 Answers

How to hide script-completed shader properties ? 0 Answers

Full scene speed-based motion blur 2 Answers

Change Water via Script? 0 Answers

Scripting Shader: How to control Alpha with slider? 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