首页|行业资讯|企业名录|周边产品|数字城市|增强现实|工业仿真|解决方案|虚拟医疗|行业仿真|图形处理|军事战场
资讯首页
行业资讯 >> 学习教程>>正文
Unity3D场景搭建4:灯光(Lights)
2012年3月28日    评论:    分享:

    来源:第三维度

    Unity3D场景搭建4: 灯光(Lights)

    对于每一个场景灯光是非常重要的部分。网格和纹理定义了场景的形状和外观,而灯光定义了场景的颜色和氛围。你很可能需要在每个场景中设置多个灯光。让他们一起工作需要一点练习但是结果是非常惊人的。
 
    
可以通过从菜单中选择 GameObject->Create Other并将其添加到你的场景中。有三种类型的灯光。一旦添加了一个灯光你就可以像操作其他物体一样操作它。此外你还可以通过选择 Component->Rendering->Light为选中的物体添加一个灯光组件。

Unity3D场景搭建4:灯光(Lights)
简单的两个灯光

    · 在灯光的检视面板中有许多不同的选项

Unity3D场景搭建4:灯光(Lights)
    检视面板中灯光的属性

    · 通过简单地改变灯光的颜色(Color),你可为场景添加完全不同的气氛。 

Unity3D场景搭建4:灯光(Lights)
    明亮,太阳光

Unity3D场景搭建4:灯光(Lights)
黄昏,中度光

Unity3D场景搭建4:灯光(Lights)
诡异的夜光

    光照灯光将使你的游戏具有个性和情趣。使用灯光来照亮场景和物体以便创建一个完美的可视氛围。灯光可以用来模拟太阳,燃烧的火光,闪光,炮火或者爆炸,下面给出几个例子。

Unity3D场景搭建4:灯光(Lights)
    灯光的检视面板

    在 Unity中有三种不同类型的灯光:

    • 点光源(Point lights)从一个位置向所有方向发射相同强度的光,就像灯泡一样。

    • 方向光(Directional lights)放置于无穷远处并影响场景中所有的物体,就像太阳一样。

    • 投射光(Spot lights)从一个点向一个方向发光,像一个车灯一样照亮一个锥形的范围。

    属性

    • 类型(Type):当前光照物体的类型

    • 方向(Directional):一个放置在无穷远的光源。它将影响场景中的所有物体并不会衰减。

    • 点(Point):一个从它的位置向所有方向发光的光源,将影响位于它的范围内的所有物体。

    • 投射(Spot):照亮一个锥形(Spot Angle)的范围(Range),只有在这个区域中的物体才会受到它的影响。

    • 颜色(Color):光线的颜色。

    • 衰减(Attenuate):光照是否随着距离而减弱?如果禁用,物体的亮度将在进入或离开它的光照范围时突变。可以用来制作一些特殊的效果。如果是方向光这个参数将被忽略。

    • 范围(Range):光线将从光源的中心发射多远

    • 投射角(Spot Angle):如果是投射光,这个参数将决定圆锥的角度。

    • 阴影(Shadows)(Pro only):将被该光源投射的阴影选项

    • 类型(Type):Hard或 Soft阴影,Soft阴影更加的费时。

    • 分辨率(Resolution):阴影的细节

    • 强度(Strength):阴影的浓度。取值在 0到 1之间

    • 投影(Projectio):方向光阴影的投影类型

    • 恒定偏移(Constane Bias):世界单元的阴影偏移

    • 物体大小偏移 (Object Size Bias):依赖于投影大小的偏移。缺省的值为投影者大小的 1%

    • Cookie:你可以为灯光附加一个纹理。该纹理的 alpha通道将被作为蒙版,以决定光照在不同位置的亮度。如果光源是一个投射或方向光,这个必须是 2D纹理。如果光源是点光源,就需要一个 Cubemap。

    • 绘制光晕(Draw Halo):如果选择了该选项,一个球形的光晕将被绘制光晕的半径等于范围(Range).

    • 闪光(Flare):可选的用于在光照位置上渲染的闪光

    • 渲染模式(Render Mode):选择光源是作为顶点光,像素光还是自动的渲染方式。详细信息参考性能考虑部分。参数包括:

    • 自动(Auto):渲染方法将在运行时确定,依据附近光照的亮度和当前的品质设置 (Quality Settings)来确定

    • 强制像素(Force Pixel):光照总是以每像素的品质来渲染。只将其用于非常重要的效果(例如,玩家汽车的前灯)。

    • 强制顶点(Force Vertex):光照总是以顶点光来渲染。

    • 裁剪蒙版(Culling Mask):用于将一组物体从光照的影响中排除;参考层部分。

    细节在 Unity中有三种类型的光照,每一种都可以调整以适应你的要求。

    你可以创建一个包含 alhpa通道的纹理并将它赋给光照的 Cookie变量。这个 Cookie将从光源处投影。Cookie的 alhpa蒙版乘以光照强度,在表面上创建亮的和暗的斑点。这是一种非常好的添加大量复杂效果的方法。 

    Unity中所有内置的 shader都可以与任何光照类型无缝融合。然而顶点光(VertexLit)shader不能显示 Cookie或阴影。

    在 Unity专业版中,所有的光照都可以随意的投射阴影。通过从阴影(Shadows)属性中选择 Hard Shadows或者 Soft Shadows来完成它。参考阴影部分。

    点光源

    点光源从一个点向所有方向发光。这是最普通的一种光照类型,典型的用于爆炸,灯泡,等等。它们在图形处理器上花费平均成本(尽管点光源阴影是昀花费成本的) 
 
    点光源可以具有 cookie-带有 alpha通道的 Cubemap纹理。这个 Cubemap将在所有方向上投影。并且带有 Cookie的点光源将不会随着距离而衰减。
 

Unity3D场景搭建4:灯光(Lights)
点光源

Unity3D场景搭建4:灯光(Lights)
带有 Cookie的点光源

    投射光
 
    投影光只能在一个方向上照亮一个圆锥范围内。者可以完美的模拟手电筒,车前灯或者是光柱,在大多数显卡上这是最费时的。

Unity3D场景搭建4:灯光(Lights)
投射光

    投射光也可以有一个 cookie,一个纹理投影到光的圆锥上。这可以用来创建透过窗口的光照。非常重要的是纹理的边缘必须是黑色的,需要打开 Border Mipmaps选项并且环绕模式 (wrapping mode)被设置为 Clamp。参考纹理部分。

Unity3D场景搭建4:灯光(Lights)
带有 Cookie的投射光

    方向光
 
    方向光通常用于室外场景的阳光和月光。光照将影响场景中物体的所有表面。在大多数显卡上这是昀快的。

Unity3D场景搭建4:灯光(Lights)
方向光

    如果一个方向光具有一个 cookie,它将投影到光源 Z轴的中心。 Cookie的大小由 Spot Angle属性控制。在检视面板中设置 cookie纹理的缠绕模式 (wrapping mode)为重复(Repeat)。

Unity3D场景搭建4:灯光(Lights) 
    方向光投影一个云状的 cookie

    Cookie是一个非常好的方法为室外场景添加一些细节。你甚至可以在场景的上方慢慢移动光源以模拟移动的云。

    性能考虑光照可以使用两种方式来渲染:顶点(vertex)光和像素(pixel)光。顶点光仅仅在游戏模型的顶点上计算光照,并在模型的表面进行插值。像素光将计算屏幕中每个像素,因此非常费时。一些老的显卡只支持顶点光。

    虽然像素渲染比较慢,但是它允许实现顶点光照不能实现的效果。凹凸贴图, cookie和实时阴影只能用像素光。透射光形状和顶点光高亮昀好使用像素模式。上诉三种类型的光使用顶点光模式时看起来如下:

Unity3D场景搭建4:灯光(Lights) 
    顶点光照模式的点光源
 

Unity3D场景搭建4:灯光(Lights)
顶点光照模式的透射光

Unity3D场景搭建4:灯光(Lights)
顶点光照模式的方向光

    光照对于场景的渲染速度具有很大的影响,因此必须在光照质量和游戏速度之间进行折中。因为像素光比顶点光更加费时,Unity只以像素质量来渲染昀亮的光。实际的像素光数量可以在质量设置(Quality Settings)中设置。

    你可以使用渲染模式(Render Mode)属性显示的控制使用顶点光照(Vertex)或是像素(pixel)光照。缺省情况下 Unity将基于有多少个物体被光照影响来自动使用光照模式。

    实际上使用像素光照是由不同场合确定的。具有高光的大物体将全部使用像素光(根据品质设置)。如果玩家距离它们很远,附近的光将使用顶点光。因此,昀好将大物体从小物体中分离出来。

    创建 Cookie参考教程部分的如何创建投影光照 Coolie部分

    提示

    • 带有 cookie的投影光在制作从窗口投射的光线是非常有用的。这种情况下,禁用衰减,并设置范围为正好到达地面。

    • 低强度的顶点光可以非常好的提供景深效果。

    • 为了达到昀大性能,使用 VertexLit shader。这个 shader只能用于顶点光照,并在低端的显卡上提供高吞吐量处理。

标签:Unity
上一篇:Unity3D场景搭建3:预设(Prefab)
下一篇:Unity3D场景搭建5:相机(Cameras)
网友评论:Unity3D场景搭建4:灯光(Lights)
评论
留名: 验证码:
您可能还需要关注一下内容:
·基于洪水模拟和预报的三维仿真系统设计
·基于Unity3D平台的三维虚拟城市研究与应用
·Unity3d 爆炸火焰特效教程
·Unity3d 基础特效教程-下雨
·基于Unity3D实现大件运输过程动态模拟
·基于Unity3D的虚拟水流墙系统的设计研究
· 西游汉字ceo张红:早教市场缺精品
·基于Unity的虚拟战场地理环境构建
·基于虚拟现实技术的三维矿井漫游演示系统开发与应用
·Unity3D实现3D立体游戏原理及过程
☏ 推荐产品

Ladybug5全景
商家:力方国际

ProJet®
商家:力方国际

ProJet®
商家:视科创新

Premium1.5
商家:视科创新

巴可HDX主动立体投
商家:德浩科视

巴可HDF-W26投
商家:德浩科视

巴可30000流明2
商家:德浩科视

巴可4万流明2K投影
商家:德浩科视
☞ 外设导航
☏ 企业名录
【广州】中科院广州电子技术有限公司
【北京】第二空间(北京)科技有限公司
【北京】幻维世界(北京)网络科技有限公司
【厦门】厦门惠拓动漫科技有限公司
【厦门】厦门幻眼信息科技有限公司
【深圳】深圳南方百捷文化传播有限公司
【北京】北京思源科安信息技术有限公司
【上海】上海殊未信息科技有限公司
【北京】北京赢康科技开发有限公司
【武汉】武汉科码软件有限公司
友情链接 关于本站 咨询策划 行业推广 广告服务 免责声明 网站建设 联系我们 融资计划
北京第三维度科技有限公司 版权所有 京ICP备09001338
2008-2016 Beijing The third dimension Inc. All Rights Reserved.
Tel:010-57255801 Mob:13371637112(24小时)
Email:d3dweb@163.com  QQ:496466882
扫一扫 第三维度
官方微信号