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 WhiskeyJack · May 14, 2012 at 01:06 PM · lightingshadersunlit

Custom shader with unlit textures is too bright

I don't know the first thing about shaders, but I'm trying to write one that wil let me show only a specific part of a texture by using another texture specifying the area in black and white.

I got this working, but I can't get my unlit textures to be lighted as other unlit shaders do in Unity. I added the o.Emission = c.rgb, but now the result is too bright.

Also, Unity keeps complaining about "The shader wants normals". Any pointers on how to fix that are also much appreciated. Thanks.

 Shader "Custom/DiffTrans" {
 Properties {
     _MainTex ("Base (RGB)", 2D) = "white" {}
     _TransTex ("Transparent (A)", 2D) = "white" {}
 }
 SubShader {
     Tags { "IgnoreProjector"="True" "RenderType"="Transparent" }
     LOD 100
     Lighting OFF
     ZWrite Off

     CGPROGRAM
     #pragma surface surf Lambert alpha

     sampler2D _MainTex;
     sampler2D _TransTex;
     
     struct Input {
         float2 uv_MainTex;
         float2 uv_TransTex;
     };

     void surf (Input IN, inout SurfaceOutput o) {
         fixed4 c = tex2D (_MainTex, IN.uv_MainTex);
         fixed4 d = tex2D (_TransTex, IN.uv_TransTex);
         
         o.Albedo = c.rgb;
         o.Alpha = d.rgb;
         o.Emission = c.rgb;
     }
             
     ENDCG

 } 
 FallBack "Transparent/VertexLit"

}

Comment
Add comment · Show 4
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 Jessy · May 14, 2012 at 03:30 PM 0
Share

Using emission is really not the way to go about this. You don't want light on a surface. Don't use a surface shader.

avatar image WhiskeyJack · May 14, 2012 at 03:40 PM 0
Share

Thanks, I was afraid of that. Any pointers on how to achieve this the proper way?

avatar image Jessy · May 14, 2012 at 04:01 PM 0
Share

I haven't learned Cg yet. These may help you: http://www.unifycommunity.com/wiki/index.php?title=Cg_Tutorial_to_Unity

http://unifycommunity.com/wiki/index.php?title=Texture_Only

http://unifycommunity.com/wiki/index.php?title=Blend_2_Textures_by_Lightmap_Alpha

avatar image syclamoth · May 14, 2012 at 04:06 PM 0
Share

As for the 'shader wants normals' thing, presumably the mesh you are applying the material on doesn't have normal data on its vertices.

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.

Follow this Question

Answers Answers and Comments

6 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Lighting support in Unlit shader 0 Answers

How to export baked lightmap for use with Unlit Texture? 0 Answers

How To Replicate the Untitled Goose Game Art Style? 0 Answers

In a shader designed for Forward rendering, unity_Lightmap seems to be correct in the base pass and incorrect in the add pass. Am I doing something wrong or is this a bug? 0 Answers

Unity URP black outline on my mesh polygons 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