首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么当光源在一边时,我的统一物体的底部比顶部更暗?

为什么当光源在一边时,我的统一物体的底部比顶部更暗?
EN

Stack Overflow用户
提问于 2021-10-17 20:31:51
回答 1查看 601关注 0票数 3

我有一个行星在我的游戏,它是旁边的太阳(我的项目中唯一的光源)。正像预期的那样,面对太阳的一面更明亮,而朝外的一面则更暗。但是,如果你看看球体的黑暗面,无论是在编辑器还是游戏中,底部都比顶部暗得多。太阳在球体的一侧,所以这是没有意义的。这是照明装置的一部分吗?如果是的话,我怎样才能关掉它呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-20 01:15:36

TL;DR

在环境照明设置中,“地面”指“向上”,“天空”指向下,“地面颜色”所有网格面指向向下,而向上做相反的,你应该改变环境照明设置。

解释

颜色倍增发生在你的着色器内,大概是标准着色器(它是你在材质顶部标记的)。

这个着色器与联合的渲染管道交互,渲染像阴影和环境光这样的东西,在你的情况下,你是显式地设置“天空颜色”,使用环境光的渐变选项(检查你的照片环境照明)。

“天空”和“地面”指场景中的“向上”和“向下”,或Vector3(0,1,0)和Vector3(0,-1,0) (检查https://docs.unity3d.com/ScriptReference/Vector3-up.html)。(在外层空间,没有“向上”或“向下”的概念)。

标准着色器与这些设置交互作用,并使您的“天空颜色”(例如,您的网格中所有指向上的面的颜色乘数(技术上,网格的点具有正常的指向上)),您的“地面颜色”更暗,因此当它将您的星球的颜色乘以它时,结果会更深(接近0的颜色值更深,通常在抖动中从0.0到1.0,当一个颜色乘以白色,或者1.0,1.0,1.0,结果是相同的颜色,当它乘以接近黑色的颜色,比如0.1,0.1,0.1,结果颜色接近黑色)

(法线是从网格中的点指向的向量)

你可以:

  • 将环境颜色更改为天框,统一将根据天框的颜色计算环境颜色
  • 将环境颜色更改为单一颜色(而不是渐变),并将其变为您喜欢的颜色。
  • 使“天空颜色”和“地底颜色”颜色相同,就像在您的环境、外层空间中,没有“地面”和“天空”。
  • 编写了自己的着色器,使用CG (HLSL) /阴影实验室(取决于您的渲染管道),用CG(HLSL)/阴影实验室(取决于您的渲染管道)编写自己的着色器。

F 211

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69608355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档