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 Pennylane Goodman · Jan 17, 2011 at 01:50 AM · texturebuggetpixels

Bug with GetPixels()?

Hello guys,

I don't know if this is a bug. Take a look at this code:

private Texture2D tempTexture;

private void CopyToTestTexture(Texture2D source) { if (tempTexture == null) { tempTexture = new Texture2D(source.width, source.height); }

tempTexture.SetPixels(source.GetPixels()); tempTexture.Apply();

GUITexture testGuiTexture = GameObject.Find("Test").guiTexture; testGuiTexture.texture = tempTexture; // just to render to see if it copied it well }

It just copies the specified source texture unto a temporary using SetPixels(). It works fine for power-of-2 textures, but not for non power-of-2 textures.

What I'm trying to achieve is get a pixel from the texture, check its alpha against a certain threshold such that I can flag it as a collision hit when clicked. My game requires that clicking on a transparent part of the image should not trigger a hit. Maybe you can give another solution.

Note that my textures are imported with:

void OnPreprocessTexture() {
    TextureImporter importer = (TextureImporter) assetImporter;
    importer.textureType = TextureImporterType.Advanced;
    importer.npotScale  = TextureImporterNPOTScale.None;
    importer.isReadable = true;
}

I can't scale textures because it produces visual artifacts on the scene. I am porting a hidden object game. You might have other ideas.

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

3 Replies

· Add your reply
  • Sort: 
avatar image
1

Answer by maxime.du · Jan 31, 2012 at 10:44 PM

Hi Pennylane,

as I have seen your post is outdated a little. But I came across this problem recently too.

The solution is simple: set your Texture format to ARGB32, RGBA32 or Alpha8. See: http://unity3d.com/support/documentation/ScriptReference/Texture2D.SetPixels.html

The default "Automatic compressed" does not work here with npo2 textures.

Regards, Roger

Comment
Add comment · 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
0

Answer by amit-chai · Sep 22, 2011 at 01:13 AM

TY m8! in your code (even though i dont know whats wrong in it), ive finally found the obvius about using getPixels and SetPixels in order to load a saved image into a texture!

This was the one i needed :

mainBG.SetPixels(mainBGSource.GetPixels()); so simplem but couldnt find it anywhere else ;)

Comment
Add comment · 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
0

Answer by mukeshguptathingsprogramming · Mar 27, 2018 at 04:49 AM

It is only support texture2D

Comment
Add comment · 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

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

3 People are following this question.

avatar image avatar image avatar image

Related Questions

Problem using multiple materials 0 Answers

Bug? CUBE map using a LOT of memory 1 Answer

cut texture with cut object 0 Answers

Set texture / EnableKeyword not working in build 1 Answer

Setting pixels on a texture? 2 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