Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
2 captures
12 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
1
Question by metinevren · Dec 21, 2017 at 11:16 PM · spriteshadowmasking

Make a sprite visible only on some objects

I have a shadow sprite, and I want it to be only visible on some objects, like an astreoid. How can I achieve this? (The shadow is a sprite, not done by lighting/shadowing) alt text

shadowsprite.png (76.8 kB)
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 Buckslice · Dec 22, 2017 at 12:57 AM

You can accomplish this with Sprite Masks. Add a SpriteMask component to your asteroids and assign the sprite to be the same one the SpriteRenderer is using. Then on your shadows SpriteRenderer set the Mask Interaction property to 'Visible Inside Mask'. The default SpriteMask options worked fine for me, but depending on the complexity of your scene / layer setup you may need to tweak them a bit.

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 metinevren · Dec 22, 2017 at 02:25 AM 0
Share

Thank you. A mask will be used with any of the sprites in the scene. I thought it had to be child of the sprite. And I can do sorting with sorting group component or setting mask's custom range. Is there a way to make this more specific? Like, sorting the masks by tag, ins$$anonymous$$d of layer orders? So specific masks will work for specific sprites all through the scene?

avatar image Buckslice metinevren · Dec 22, 2017 at 03:08 AM 0
Share

I am not really sure, but I think you just need to use the custom sorting layer ranges on the masks for this to work. Tags not having an associated value with them won't work for sorting. You could probably make a script that automatically sets these ranges up for you somehow based on the mask tags. Still not really sure how that would work with only tags though. Like the ship shadow and asteroid are both tagged the same thing? You have to make sure the shadows are an order ahead in the layer then.

avatar image Carrotpie · May 29, 2020 at 01:36 PM 0
Share

This is fine only if you have not many objects. Sprite $$anonymous$$asks breaks GPU instancing, which in turn ramps up the CPU cost if you have a lot of sprites needed to be masked. We need a better solution to go in pair with Instancing!

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

100 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 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 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 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 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

Prevent 2D mask to impact other gameobjects ? 3 Answers

Huge performance drop after using sprite Masks 2 Answers

2d "fake" shadow is running away 0 Answers

Mask Sprites 1 Answer

Dynamic sprite mask 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