Unity3D】unity场景灯光设置在哪里

2021-01-25 14:36发布

4条回答
李龙鑫
2楼 · 2021-01-25 14:40
  1. 打开unity3d的一个场景。

    unity3d怎么使场景没光照情况下全黑

  2. 我们把场景中的灯光都进行删除,但是发现场景还是清可见的,只是稍微暗了一点。

    unity3d怎么使场景没光照情况下全黑

    unity3d怎么使场景没光照情况下全黑

  3. 现在我们可以选择“Windows”--“Lighting”。

    unity3d怎么使场景没光照情况下全黑

  4. 然后会弹出一个“Lighting窗口”。

    unity3d怎么使场景没光照情况下全黑

  5. 我们把“Ambient Intensity”和“Reflection Intensity”都设置为“0”。

    unity3d怎么使场景没光照情况下全黑

  6. 现在再回到场景,所有物体都变成黑色了。

    unity3d怎么使场景没光照情况下全黑

  7. 但是我们发现天空还是蓝色的,我们可以创建一个材质“Sky2”,并且把其shader改为“Skybox”--“Cubemap”。

    unity3d怎么使场景没光照情况下全黑

    unity3d怎么使场景没光照情况下全黑

  8. 把“Exposure”设置为“0”。

    unity3d怎么使场景没光照情况下全黑

  9. 再次打开Lighting窗口,把“Skybox”设置为“Sky2”。

    unity3d怎么使场景没光照情况下全黑

  10. 回到场景,我们发现整个场景都是黑色的了。

    unity3d怎么使场景没光照情况下全黑

  11. 现在我们就可以添加局部光照,得到光照对比的效果了。

    unity3d怎么使场景没光照情况下全黑


1.打开或者新建一个unity工程

2.在场景中加入几个游戏物体

3.在资源面板中有右键添加点光源

4.添加之后会在场景资源中出现一个点光源

5.可以把光源位置先复位,方便判断位置

6.可以在面板调整参数

老杜
4楼 · 2021-03-29 10:04

定向和非定向光

在现实世界中,你有两种类型的照明效果:直接和间接照明。直接照明,顾名思义,是直接从光源照射的灯光(灯,太阳或其他)。另一方面,间接照明是来自另一物体的光。

在场景中的Action中你就可以看到直接照明,正如你能注意到的一样,场景中有一个直接光源叫做Directional Light

直接光源主要用于太阳以及月亮等户外光源,他们影响场景中所有物体的表面。他们也是开销最小的图形处理器

你可以在检视面板中选择Directional Light并查看其属性。你会注意到一些有趣的属性,比如类型,颜色以及敏感度等等。你可以改变颜色和旋转属性并实时查看结果。通过改变这些值,你可以直接改变你的定向光。

这时候,你的3D场景中没有任何的非定向光。你可以通过将球体移动至贴近红色或者绿色的墙来检查,发现球体颜色没有改变,说明场景中没有非定向光。

使用非定向光的方法之一就是使用静态对象。请记住,静态对象的使用可以提高游戏渲染的性能,但也会降低游戏质量,所以你必须在游戏中找到最佳的平衡。

在场景中添加一个方块,将它放置到球体的旁边,并命名为Cube

选中这个Cube,并在细节面板中启用静态属性

当启用静态属性时,Unity将自动为该对象创建一个光照贴图,并应用正确的光照模型。现在你可以将相机移动到Cube并发现非定向光开始起作用了。绿色或者是红色的光现在蔓延到了立方体上。

如果你改变定向光的方向,你会发现Unity将会自动更新光照贴图。

被施加到立方体上的间接照明不适用于球体,因为球体不是静态的。你可以通过使球体静态(检视>静态)来解决这个问题。

这个时候,你可以添加和配置定向以及非定向光到静态对象。然而,3D大多都是由动态对象组成。因此,我们如何将这些效果应用到那些动态对象呢?我们接下来将具体说明

光照探测器

当你的场景中包含非静态的物体,你需要使用特定的照明技术,正确地照亮他们,使他们看起来不像从场景中断开

通过使用光探针及其位置,可以在场景中采样点。每个光探针可以采样特定区域,然后计算该特定区域的照明。这些计算足够快,可用于游戏期间。光探针的使用避免了移动物体的照明和场景中的静态光映射对象之间的连接断开

球体是一个动态物体,因此,与它看起来的相反,它没有被正确地照亮。如果你把定向灯关闭,你会注意到,唯一影响球的照明是环境光。要正确地照亮球体,你需要使用光探测器

要添加光探针,你需要在Component > Rendering > Light Probe Group下打开。这样会在场景中创建一个光探针组

下一步是将探头放在正确的位置。你现在要将他们放在盒子的每个角落

最好的办法是改变一个视图(单击在场景右上角的立方体)。然后,选择每个光探测节点并将其拖到每个框角

重复上述步骤,直到你在所有的角落中安装了光探头

有些场景需要额外的探针正确地照亮物体。为了添加更多的探针,您可以选择一个探头,然后在检视面板中,单击重复选定按钮。

复制之后,您需要将新节点放置在正确的位置(复制的一个节点将与所选的位置处于同一位置)

如果你仔细查看界面的督察,你会注意到,您还可以添加自定义探针(添加探针),删除探针(删除选定),或选择所有的探针从组(选择所有)。

在运动中观察光探头,选择球体,并为它添加一个刚体(添加组件>刚体)。然后,给对撞机分配一个材质。您可以使用橡胶材料。

现在,把球体放在盒子的顶部并按下播放键,现在你可以看到球体的适当光照了。要观察差异,禁用光照探头,并且再次播放

点光源

点光源是游戏中最常见的光源。它们通常用于爆炸和灯泡。因为它们在各个方向发光,所以它们在图形处理器上有一个平均成本。然而,计算阴影时使用点光源更昂贵。

通过选择对象>光>点光源加一点光源。然后,将点光源放在靠近顶部的盒子内。

选择点光源,并查看检视面板中的参数

第一个参数是类型。这里可以设置要使用的光类型。您可以选择点,方向,点,或区域。每个提供了特定的光效果。您可以选择任何选项,并看到结果的实时。然而,对于本教程,您将使用点选项。这将创建一个灯泡效果(光照所有方向相同)。

第二个参数是Baking。您可以将其设置为实时、烘焙或混合。将值作为默认值。范围参数定义光从点光源的中心发射多远。颜色参数定义发出的光的颜色

Intensity定义了光的亮度,并且Bounce Intensity定义了间接光强度倍数。 Shadow Type定义了阴影属性和阴影类型。你可以设置它 No Shadows, Hard Shadows,或者是Soft Shadows。记住,电光源的阴影对于引擎来说开销是最大的,所以要小心选择此选项。

如果选择Hard Shadows 或Soft Shadows,你会看到球体和点光源产生的阴影。当你改变强度值时,阴影也会减轻或加重。该分辨率允许您定义阴影的详细级别。最后, Bias 和Normal Bias让您在配置偏移时被使用来比较像素位置在光空间与阴影贴图。

cookie是一个可选的参数,它代表一个纹理的alpha通道,用来确定不同位置的光的亮度。因为这是一个点光源,必须使用一个立方体贴图纹理

Draw Halo选项只在光源周围呈现光晕。耀斑定义了一个在光的位置呈现的耀斑的引用。当调试3D场景和可能的瓶颈时,耀斑和Draw Halo可能是有用的

Render Mode定义了当渲染器渲染场景时照明是多么重要。更重要的是,渲染将更密集。渲染模式可以设置为自动的,重要的,或不重要的。最后,剔除遮罩用于选择或排除,由点光源影响的对象组。

聚光灯

点光源从特定区域的光源发射光。它们只照亮一个特定区域内的物体,一个由三维圆锥体分隔的区域。基本上,他们的工作就像汽车的前灯。你可以想象,他们是完美的手电筒,汽车大灯,或灯柱。他们在图形处理器中也是开销很大的。

现在让我们把点光变成聚光灯。选择您创建较早的点光源并将其类型更改为聚光灯。下一步,旋转的光线,以便它可以照亮地板的盒子。重命名为聚光灯。

正如你可能已经注意到的,在检视面板中,聚光灯的参数和点光源的参数是很相似的。但是,有一个新的参数叫做Spot Angle

Spot Angle决定光锥度数的角度

无论直接和间接照明,聚光灯工作完全像点光源。你有同样的局限性和优势。因此,在游戏中设置灯光平衡时必须小心。

注意,你可以总是使用阴影和烘烤以平衡外观和性能

区域灯光

区域光是在一个平面的矩形区域的所有方向上发出的光。这个矩形是定义在宽度和高度属性。区域光仅在光贴图烘焙时可用,这意味着它们在运行时不会对对象产生影响。

选择点光源并将其类型更改为区域,并将其名称改为区域光。下一步,把灯放在盒子里,然后在检查员里面改变宽度和高度,以盖住盒子里面的整个区域。

通过查看区域灯光参数,你会发现大多数的参数都类似于以前的,例如,Draw Halo, Flare, Render Mode, 以及Culling Mask.

真正的新参数是宽度和高度。两者都用来设置矩形光区的大小。

如果你按播放,你会看到该地区的光是投在其范围内的所有对象的光。矩形的大小由宽度和高度属性决定。光被投射的一侧是平面的法线,与光的正z方向相同。光从矩形的整个表面发射出去。正因为如此,阴影和阴影从受影响的对象往往是比点光源或定向光源要柔和得多。

区域光的照明计算相当处理器密集型,所以它们在运行时不可用,只能被烘烤成光贴图。


征戰撩四汸
5楼 · 2021-11-10 10:27

Unity已经成为游戏程序员中越来越受欢迎的游戏引擎。这是因为Unity直接支持多种平台,如移动、桌面和控制台环境。此外,对于低收入开发者或工作室来说,它是免费使用的。

Unity支持多种技术和组件。一些关键部件是灯光和照明技术。在Unity中,你可以通过模拟复杂的灯光行为或者通过简单的灯光模型来照亮场景。

本教程将重点讲解如何在Unity 5使用照明工程,照明类型和属性,以及如何使用它们来创建丰富的照明效果。

预设条件

首先,确保你有最新版本的Unity。在本教程中,我们使用的版本5.5.0f3。确保您使用的是最新的Unity版本,否则您可能会在教程中使用物理连接后出现问题。

下一步,下载LightingIn-Starter文件,解压并在Unity中打开项目。Demo场景应该能够自动打开,如果不行,可以从Assets文件夹中打开。

定向和非定向光

在现实世界中,你有两种类型的照明效果:直接和间接照明。直接照明,顾名思义,是直接从光源照射的灯光(灯,太阳或其他)。另一方面,间接照明是来自另一物体的光。

在场景中的Action中你就可以看到直接照明,正如你能注意到的一样,场景中有一个直接光源叫做Directional Light

直接光源主要用于太阳以及月亮等户外光源,他们影响场景中所有物体的表面。他们也是开销最小的图形处理器

你可以在检视面板中选择Directional Light并查看其属性。你会注意到一些有趣的属性,比如类型,颜色以及敏感度等等。你可以改变颜色和旋转属性并实时查看结果。通过改变这些值,你可以直接改变你的定向光。

【unity灯光效果及设置详解】

这时候,你的3D场景中没有任何的非定向光。你可以通过将球体移动至贴近红色或者绿色的墙来检查,发现球体颜色没有改变,说明场景中没有非定向光。

【unity灯光效果及设置详解】

使用非定向光的方法之一就是使用静态对象。请记住,静态对象的使用可以提高游戏渲染的性能,但也会降低游戏质量,所以你必须在游戏中找到最佳的平衡。

在场景中添加一个方块,将它放置到球体的旁边,并命名为Cube

【unity灯光效果及设置详解】

选中这个Cube,并在细节面板中启用静态属性

【unity灯光效果及设置详解】

当启用静态属性时,Unity将自动为该对象创建一个光照贴图,并应用正确的光照模型。现在你可以将相机移动到Cube并发现非定向光开始起作用了。绿色或者是红色的光现在蔓延到了立方体上。

【unity灯光效果及设置详解】

如果你改变定向光的方向,你会发现Unity将会自动更新光照贴图。

被施加到立方体上的间接照明不适用于球体,因为球体不是静态的。你可以通过使球体静态(检视>静态)来解决这个问题。

这个时候,你可以添加和配置定向以及非定向光到静态对象。然而,3D大多都是由动态对象组成。因此,我们如何将这些效果应用到那些动态对象呢?我们接下来将具体说明

光照探测器

当你的场景中包含非静态的物体,你需要使用特定的照明技术,正确地照亮他们,使他们看起来不像从场景中断开

通过使用光探针及其位置,可以在场景中采样点。每个光探针可以采样特定区域,然后计算该特定区域的照明。这些计算足够快,可用于游戏期间。光探针的使用避免了移动物体的照明和场景中的静态光映射对象之间的连接断开

球体是一个动态物体,因此,与它看起来的相反,它没有被正确地照亮。如果你把定向灯关闭,你会注意到,唯一影响球的照明是环境光。要正确地照亮球体,你需要使用光探测器

要添加光探针,你需要在Component > Rendering > Light Probe Group下打开。这样会在场景中创建一个光探针组

【unity灯光效果及设置详解】

下一步是将探头放在正确的位置。你现在要将他们放在盒子的每个角落

最好的办法是改变一个视图(单击在场景右上角的立方体)。然后,选择每个光探测节点并将其拖到每个框角

【unity灯光效果及设置详解】

重复上述步骤,直到你在所有的角落中安装了光探头

有些场景需要额外的探针正确地照亮物体。为了添加更多的探针,您可以选择一个探头,然后在检视面板中,单击重复选定按钮。

【unity灯光效果及设置详解】

复制之后,您需要将新节点放置在正确的位置(复制的一个节点将与所选的位置处于同一位置)

【unity灯光效果及设置详解】

如果你仔细查看界面的督察,你会注意到,您还可以添加自定义探针(添加探针),删除探针(删除选定),或选择所有的探针从组(选择所有)。

在运动中观察光探头,选择球体,并为它添加一个刚体(添加组件>刚体)。然后,给对撞机分配一个材质。您可以使用橡胶材料。

【unity灯光效果及设置详解】

现在,把球体放在盒子的顶部并按下播放键,现在你可以看到球体的适当光照了。要观察差异,禁用光照探头,并且再次播放

【unity灯光效果及设置详解】

点光源

点光源是游戏中最常见的光源。它们通常用于爆炸和灯泡。因为它们在各个方向发光,所以它们在图形处理器上有一个平均成本。然而,计算阴影时使用点光源更昂贵。

通过选择对象>光>点光源加一点光源。然后,将点光源放在靠近顶部的盒子内。

【unity灯光效果及设置详解】

选择点光源,并查看检视面板中的参数

【unity灯光效果及设置详解】

第一个参数是类型。这里可以设置要使用的光类型。您可以选择点,方向,点,或区域。每个提供了特定的光效果。您可以选择任何选项,并看到结果的实时。然而,对于本教程,您将使用点选项。这将创建一个灯泡效果(光照所有方向相同)。

第二个参数是Baking。您可以将其设置为实时、烘焙或混合。将值作为默认值。范围参数定义光从点光源的中心发射多远。颜色参数定义发出的光的颜色

Intensity定义了光的亮度,并且Bounce Intensity定义了间接光强度倍数。 Shadow Type定义了阴影属性和阴影类型。你可以设置它 No Shadows, Hard Shadows,或者是Soft Shadows。记住,电光源的阴影对于引擎来说开销是最大的,所以要小心选择此选项。

如果选择Hard Shadows 或Soft Shadows,你会看到球体和点光源产生的阴影。当你改变强度值时,阴影也会减轻或加重。该分辨率允许您定义阴影的详细级别。最后, Bias 和Normal Bias让您在配置偏移时被使用来比较像素位置在光空间与阴影贴图。

cookie是一个可选的参数,它代表一个纹理的alpha通道,用来确定不同位置的光的亮度。因为这是一个点光源,必须使用一个立方体贴图纹理

Draw Halo选项只在光源周围呈现光晕。耀斑定义了一个在光的位置呈现的耀斑的引用。当调试3D场景和可能的瓶颈时,耀斑和Draw Halo可能是有用的

Render Mode定义了当渲染器渲染场景时照明是多么重要。更重要的是,渲染将更密集。渲染模式可以设置为自动的,重要的,或不重要的。最后,剔除遮罩用于选择或排除,由点光源影响的对象组。

聚光灯

点光源从特定区域的光源发射光。它们只照亮一个特定区域内的物体,一个由三维圆锥体分隔的区域。基本上,他们的工作就像汽车的前灯。你可以想象,他们是完美的手电筒,汽车大灯,或灯柱。他们在图形处理器中也是开销很大的。

现在让我们把点光变成聚光灯。选择您创建较早的点光源并将其类型更改为聚光灯。下一步,旋转的光线,以便它可以照亮地板的盒子。重命名为聚光灯。

【unity灯光效果及设置详解】

正如你可能已经注意到的,在检视面板中,聚光灯的参数和点光源的参数是很相似的。但是,有一个新的参数叫做Spot Angle

【unity灯光效果及设置详解】

Spot Angle决定光锥度数的角度

无论直接和间接照明,聚光灯工作完全像点光源。你有同样的局限性和优势。因此,在游戏中设置灯光平衡时必须小心。

注意,你可以总是使用阴影和烘烤以平衡外观和性能

区域灯光

区域光是在一个平面的矩形区域的所有方向上发出的光。这个矩形是定义在宽度和高度属性。区域光仅在光贴图烘焙时可用,这意味着它们在运行时不会对对象产生影响。

选择点光源并将其类型更改为区域,并将其名称改为区域光。下一步,把灯放在盒子里,然后在检查员里面改变宽度和高度,以盖住盒子里面的整个区域。

【unity灯光效果及设置详解】

通过查看区域灯光参数,你会发现大多数的参数都类似于以前的,例如,Draw Halo, Flare, Render Mode, 以及Culling Mask.

真正的新参数是宽度和高度。两者都用来设置矩形光区的大小。

【unity灯光效果及设置详解】

如果你按播放,你会看到该地区的光是投在其范围内的所有对象的光。矩形的大小由宽度和高度属性决定。光被投射的一侧是平面的法线,与光的正z方向相同。光从矩形的整个表面发射出去。正因为如此,阴影和阴影从受影响的对象往往是比点光源或定向光源要柔和得多。

区域光的照明计算相当处理器密集型,所以它们在运行时不可用,只能被烘烤成光贴图。


相关问题推荐

  • 回答 17

    还是要学好编程基础呀如果你觉得编程很苦难 不一定要从c#开始学  学学js flash as等等  有个梯度就好多了如果要用好unity  不会编程那是不行的  学习的过程中都有个头疼的过程  记住  头越痛  代表你要接受的东西越多  坚持 你的大脑在和知识兼容中:D...

  • unity如何自学Unity3D 2022-01-06 15:24
    回答 18

    可以先思考学习的目的,是什么因素在驱动你。是完成一款作品?进入某个行业?还是探究某类问题?否则和技术相关的知识浩如烟海,很容易迷失在细枝末节上。而要找到动力源头。个人的经验,就是关注一些和自己同方向,同类型的创作者。他们输出的作品会激励你,...

  • 回答 23

    可以让模型师直接作出这样的形状,如果用纯Unity制作,就要用基本游戏对象拼接了,包括楼梯,城堡,都可以拼接出来。正常情况不会这样做,因为不够精美,都是建模师来实现,毕竟Unity不属于专业的建模软件,侧重于实现功能。...

  • 回答 2

    Shader Unlit/Test{Properties{_MainTex(MainTex,2D)=white{}_MainColor(MainColor,COLOR)=(1,1,1,1)_AddTex(AddTex,2D)=white{}_Maxset(Max,Range(0.1,1.0))=0.1}SubShader{Tags{RenderType=Transparent Queue=Tran...

  • 回答 4

    文章主要为大家详细介绍了Unity Shader实现水波纹效果,文中示例代码介绍的非常详细具体代码实现如下:Shader Custom/shuibowen{ Properties{ _MainTex(Base (RGB),2D)=white{} _distanceFactor(Distancefactor,float)=1 _timeFactor(time factor,float)=...

  • 回答 7

    策划的最基本的原则就是:改进缺点,做别人没有做到的。无论游戏策划还是其它策划都是一样!    游戏策划的第二个原则:放飞思想。也许你认为我是说策划们应该充满想象力,能想一些匪夷所思的东西!对不起。不是这意思!一个合格的策划不是为了发泄自己的...

  • 回答 7
    已采纳

    可以多玩一些其它的游戏,看一些科幻电影等,寻找灵感。

  • 回答 3
    已采纳

    游戏架构与设计不纯粹是一门科学,它不需要提出假设或探究真理,也不被逻辑或正规方法的严格标准所束缚。游戏的目的就是通过玩来获得娱乐,因此游戏设计即需要艺术家一样的创造力,也需要工程师一样的精心规划。游戏设计是一门手艺,就像好莱坞的电影摄像或服...

  • 回答 5

    void Update(){          transform.rotation = Quaternion.Euler(Vector3.zero);}可以试一下,保证物体x轴和z轴为0就可以使其一直垂直。

  • 回答 3

    界面左右移动、上下移动。。本质都是:手指滑动。。。可以参考这些:https://www.cnblogs.com/coldcode/p/5362537.htmlhttps://blog.csdn.net/totosj/article/details/80112852https://blog.csdn.net/zcc858079762/article/details/85253120...

  • 回答 6

    首先新建一个C#脚本,命名为MyFollow,然后把以下代码粘贴进去,保存:AخA 1using UnityEngine;2using System.Collections;3public class MyFollow : MonoBehaviour4{5    public float distanceAway = 5;          // distance...

  • 回答 5

    安装高通的Vuforia插件即可。

  • 回答 5

    不可以,只能一个工程打一个包。

  • 回答 2

    Edit->Project Settings->Graphics 找到Shader Stripping 中fog mode设置为custom(原来是Automatic),然后选中你想要的模式,最后重新打包就ok

  • 回答 2

    用到的插件:System.Drawing.dllSystem.Windows.Forms.dllSystem.Deployment.dll(运用基于.Net4.x的dll打包时,需要用到该dll,否则会报错)代码如下:using System;using System.Runtime.InteropServices;using UnityEngine;using UnityEngine.UI; p......

  • 回答 6

    如下图,设置为none,然后删掉滑动条就可以了。

没有解决我的问题,去提问