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 kaisean-dev · Aug 16, 2013 at 01:48 PM · graphicsscaleguitextureartifacts

GUI.DrawTexture Artifacts

I have a simple shape created with Inkscape. The shape is then exported to PNG format in 64x64 resolution. When I open the image in Photoshop, it looks the same (black background added as a PS layer below to show that the shape does not contain artifacts). Take a look at what the shape looks like in Inkscape and in PS.

alt text

But when I draw this texture inside Unity, I get this runtime artifact:

alt text

The texture rendered has some kind of a frame border along the bottom side of the texture. The texture file itself does not contain such line. This image is zoomed to 300% to make the line more visible.

The code used to render this:

 float linkSize = 40;
 Rect position = new Rect(200, 25, linkSize, linkSize);
 GUI.DrawTexture(position, linkTexture);


The linkTexture is set as a public field from Inspector.

I have used 200, 25 coordinates here even though the position is actually calculated at runtime to center it in its parent, but it is simplified here for brevity. The other thing I noticed is that if I vary the linkSize, the artifact line is visible from only 35 to 45 pixels. At image scale of 34x34 or 46x46, the line is gone. However, again after some 70 pixels of size, the line is visible again.

I am aware that scaling can mess up pixels because of aliasing, but why does this happen in a transparent area?

Is there any solution to this problem?

shape.png (9.3 kB)
artifact.png (6.5 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 Graham-Dunnett · Aug 16, 2013 at 02:23 PM

Set the texture's wrap mode to `Clamp`.

Comment
Add comment · Show 1 · 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 kaisean-dev · Aug 16, 2013 at 06:02 PM 0
Share

Yup, this solved it. I thought this mode makes sense only when a texture is applied to the mesh. But I guess, under the hood, even GUI draws are probably drawn on a on-the-fly created meshes... Not sure, though.

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

16 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

Related Questions

GUI Texture scale and position according to the actual screen resolution.. 11 Answers

Model Cut Artifacts 0 Answers

Drawing bullets using GUITextures 1 Answer

Graphical artifacts 1 Answer

Scaling guitexture gameobject 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