c# - Unity构建一个黑暗的场景,除了手电筒外没有任何灯光

标签 c# unity3d

我想创建一个黑暗的场景。玩家手里拿着 torch ,所以这是场景中唯一的光。

因此该区域的其余部分应该没有灯光。也许这是一个洞穴或黑暗的森林?

在口袋妖怪中,你在地牢中有这种效果

enter image description here

这是我想象中的粗略草图

enter image description here

所以当我想将场景的定向光设置为全黑时,你仍然可以看到足够好。

我怎样才能实现黑暗世界的这些效果?

我不想在播放器周围使用纹理或类似的东西。也许你仍然可以看穿黑暗,但真的很糟糕。

最佳答案

以这个场景为例说明如何做到这一点:

https://github.com/Galandil74/Unity-Spotlights-Example

基本上,正如 Lestat 所说,您通过更改 RenderSettings.ambientLight 来设置整体亮度,然后为了创建 torch 效果,您使用带有纹理 cookie 的定向光游戏对象来照亮只有屏幕的一部分/形状。

请记住,要通过 cookie 纹理获得完全照明,光必须将其 intensity 属性设置为 1 - RenderSettings.ambientLight.grayScale(如果它是定向光).

我更喜欢使用定向光,因为您可以通过 cookie 纹理的 alpha channel 控制效果。

如果您正在使用 Sprite (用于背景等),如果您希望它们受到环境光的影响,请记住使用 Sprites/Diffuse Material 。

关于c# - Unity构建一个黑暗的场景,除了手电筒外没有任何灯光,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44745040/

相关文章:

android - 音频(音频爆裂//啪声)和Wi-Fi问题

c# - 为什么 Cursor.Show() 和 Cursor.Hide() 不立即隐藏或显示光标?

c# - RESTful 设计是否更喜欢 [FromBody] 标签?

unity3d - 如何以一种可以调整一个游戏对象的克隆属性以匹配场景 View 中的所有其他游戏对象的方式克隆多个游戏对象

c# - 使用 MVVM 模式和 Unity 引擎作为前端

git - merge 后如何在git-lfs中修复Unity .prefab文件

c# - 如何使用 Unity 模拟瓶子内的液体?

c# - LinqToSql 中的子查询是否保证与其父查询的顺序相同?

c# - 尝试插入日期时间时 MySQL 出错

c# - JwtSecurityTokenHandler 和 TokenValidationParameters