• 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 brian6022 · Jul 27, 2014 at 10:36 AM · shadertexturematerialruntimerendertexture

How to update texture during runtime to display damage?

A certain attack emits a bright flash that "sunburns" a character. That is, the pixels in the characters's surface that were touched by the flash should, e.g., turn red.

The first problem is to find out what pixels were touched by the flash. I should be able to find out via a fragment shader associated with a material on the character. The shader could return a constant color. If, at the moment of the attack, I render that material from the player's perspective to a RenderTexture, I should get a texture containing the silhouette of the damaged part of the character.

The real question is, how do I use the silhouette texture to update the character's texture? I need to translate the "on" pixels in the silhouette texture to the appropriate places in the character's texture.

(The silhouette texture only has information about x and y, and I probably also need z. Maybe I could encode z in the color, or use a different shader to render a different texture with information about z).

Comment
Add comment · Show 2
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 thornekey · Jul 27, 2014 at 03:18 PM 0
Share

im sure the terrain painting feature or something similar could be implemented onto other objects.. it couldnt be that hard.. it can be done in blender, and nearly anything is possible in unity. Does it have to be a certain spot? you could have an alpha map that makes it appear to get more damage.. but all over the body :S

avatar image robertbu · Jul 27, 2014 at 03:57 PM 0
Share

I'm not sure of your approach, but to give an answer to the specific question asked, if you Raycast() the point on your character, the RaycastHit returned contains a textureCoord which is the UV point in texture that maps to the hit point. Not sure how you would handle the seams.

0 Replies

· Add your reply
  • Sort: 

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

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

3 People are following this question.

avatar image avatar image avatar image

Related Questions

Converting a RenderTexture to a Texture2D for use in a shader 2 Answers

Cutout Material is not showing texture transparency? 0 Answers

How to use Graphics.Blit with custom input textures 3 Answers

Blending between arbitrary numbers of textures on the same material 0 Answers

How to fix a object intersection problem? 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