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 Vampiressae · Oct 07, 2014 at 07:06 AM · lightingruntimenormalmaploading filenormal map

Run-time loaded Normal Map Lighting problem

Hello everyone!

I've tried to find an answer to this but without luck. I thought I'll try it here:

I load a Normal map in run-time, all is fine, but the point light I'm using, it lits the surface only in a cone shape. Without the normal map loaded all is fine. If I assign the normal map in the editor, it is also fine. It behaves this strangely only when I load the map in run-time.

And yes, I tried with both Forward and Deferred Lighting renderers.

See the attached images with and without the normal map.

Without the normal map: alt text

With the normal map: alt text

And the image I'm using for this map: Normal Map Image

Thanks a lot in advance!

without_normal.jpg (97.5 kB)
with_normal.jpg (83.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
0

Answer by yuanxing_cai · Oct 07, 2014 at 02:37 PM

My answer is based on my assumptions of how you actually load and use the normal texture. So it could be totally irrelevant if the assumptions are false :-P

When you import the normal texture in the editor, I guess you set its Texture Type to 'Normal map'. This is necessary as Unity's built-in shaders expect that the normal data in the normal map is packed in a particular way (see the UnpackNormal function in UnityCG.cginc for detail). Setting the Texture Type to 'Normal map' makes sure the packing happens at import time (thus you don't have to do anything at runtime).

However, if you load a image file at runtime by using WWW or Texture2D.LoadImage(), Unity has no way to know if it's going to be used as a normal map and you have to do the packing by yourself. Here is how to do it.

And also if you can load the normal map asset (which is already nicely packed) by using Resources.Load() or an AssentBundle, there should be no such problem.

Hopefully this helps!

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

29 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

Related Questions

Problem importing normal map texture at runtime 0 Answers

Strange normal map on Android 0 Answers

Normal map messed up on android 1 Answer

a shader or decal that only renders the normal map 0 Answers

"Fading in" a Normal Map 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