【问题标题】:Black objects on screen in Unity3DUnity3D屏幕上的黑色物体
【发布时间】:2014-04-20 22:48:00
【问题描述】:

我正在开发一款游戏,这就是游戏场景中发生的事情。

我对每件作品的着色器进行了数十次验证,但没关系。在图片中,您可以在材质上看到带有颜色、发射和反照率的调试消息,它们是可以的。 任何想法可能是什么问题?任何建议都可以,因为发布日即将到来。

编辑:

Properties {
_Color ("Main Color", Color) = (1,1,1,1)  
_Cube ("Cubemap", CUBE) = "" {}
  _Emission ("Emission", Range (0.0, 1.0)) = 0.5
  _Albedo("Albedo", Range (0.01, 1)) = 0.9

}
SubShader {
  Tags {"RenderType" = "Opaque" }

  //Blend Off

  Cull Off

  CGPROGRAM
  #pragma surface surf Lambert approxview noforwardadd

  fixed4 _Color;

  struct Input 
  {
      half3 worldRefl;
  };

  samplerCUBE _Cube;

  float _Emission;

  float _Albedo;

  void surf (Input IN, inout SurfaceOutput o) {
      o.Albedo = _Color.rgb * _Albedo;
      o.Emission = texCUBE (_Cube, IN.worldRefl).rgb * _Emission;

  }

  ENDCG
} 
Fallback "Diffuse"
}

【问题讨论】:

  • 什么是着色器?你写了吗?如果有,请出示。
  • 快速提问:你的场景中有灯光吗?
  • 它也适用于我。但在测试中它会时有发生,但没有特定的再现步骤。我也在读这个forum.unity3d.com/threads/…
  • 如果我不得不猜测,我会说你的场景中没有灯光(或者没有影响几何的灯光),也没有环境光。这将导致 Albedo 没有任何颜色。
  • 我在场景中有灯光。

标签: c# unity3d shader


【解决方案1】:

尝试使“主色”更亮。这可能会解决它。

【讨论】:

  • 这不是问题。 “主色”属性更亮。调试消息中的“颜色”文本是用“主颜色”(红、蓝、黄、白)编写的。
猜你喜欢
  • 2017-02-23
  • 1970-01-01
  • 2017-09-24
  • 2016-04-27
  • 1970-01-01
  • 2016-04-28
  • 2016-02-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多