• 关于Unity中的光照(一)


    一、光源定义

    光源,是一个普通节点加一个Light组件,创建的时候可以直接创建光源节点,也可以先创建一个空节点,再添加Light组件实例。

    二、颜色形成

    看到的物体颜色受两个很重要的因素的影响,一个是物体的材质,一个是光源本身的颜色。两者混合在一起才是最终看到的结果。

    颜色:255 255 255
    强度 0.5
    颜色+强度=新颜色 128 128 128
    新颜色+材质颜色=最终看到的颜色
    如果材质有几种光源,那么材质就要混合几次光


    三、光源类型
    1.太阳光
    2.电灯
    3.台灯,舞台灯

    光原三个基本点有颜色,范围,强度


    太阳光----平行光(Directional Light)
    1.颜色:白色,红色
    2.范围:全部可见
    3.强度:一致的

    灯泡------点光源(Point Light)
    1.颜色:各种颜色
    2.范围:范围有限,一个球体内有效,最大波及范围
    3.强度:根据距离中心远近有衰减


    舞台灯----聚光灯(Spot Light)
    1.颜色:各种颜色
    2.范围:范围有限,一个椎体内有效,最大波及范围
    3.强度:根据轴中心远近有衰减,中心轴越靠近光源的越亮,水平面,圆形越靠近中心轴的越亮

     四、光源属性

    独特属性:

    1.平行光

    2.点光源:range:灯的半径,越大越亮,原因是同样的强度范围大的衰减的慢了一些

    3.聚光灯:(1).range:灯的高度   (2).Spot Angel:椎体角度


    公共属性:

    1.Shadow Type,影子类型,性能消耗大
    (1).Soft Shadows:默认
    (2).Hard Shadows
    (3).No Shadows

    2.Resolution,影子质量,越低计算量越小
    (1).Low Resolution:低分辨率
    (2).Medium Resolution:中分辨率
    (3).High Resolution:高分辨率
    (4).Very High Resolution:超高分辨率


    3.Draw Halo:光晕,显示出光源的具体样子

    4.Render Mode:
    (1).auto:根据当前质量自动选择
    (2).important:光照质量好,性能差
    (3).not important:光照质量不好,性能好

    5.Culling Mask:决定哪一层的物体是受光源影响的


    6.Baking:烘焙,把光照到物体上就叫烘焙
    (1).Realtime:实时光照,实时计算,光照实时改变,CPU消耗大
    (2).Baked:静态光照,预先计算好,性能消耗小,但是不能动态地改变,就像光照贴图一样贴在物体上,所以一般在一些静态游戏场景使用
    (3).Mixed:混合模式,则里面可以有静态烘焙的,也可以有动态改变的,静态的模式选Baked,再组合相应的Static物体,动态的模式选Mixed,

    五、烘焙操作
    选择Baked模式的其他必要操作
    (1).选择要被Baked的物体,右上角的Static模式选择Lightman Static,把场景中的3D物体设置成静态光照模式
    (2).光源模式改为Baked模式
    (3).打开Windows--->Lighting窗口,选择Object小窗口,模式选择Baked,发现只有刚才选择的静态光照的物体才被烘焙,才有光照
    (4).选择Scene小窗口,点击Build,就可以把静态烘焙的光照保存下来,这时候,即使把灯关掉,物体还是有被光照到的效果



  • 相关阅读:
    前端开发试题
    操作手册
    border-box有什么用
    npm安装react-dom...
    html-webpack-plugin按需加载的js/css也会被提取出来吗
    洛谷P3957 跳房子(Noip2017普及组 T4)
    【react】利用prop-types第三方库对组件的props中的变量进行类型检测
    React 进入页面以后自动 focus 到某个输入框
    React 更新阶段的生命周期 componentWillReceiveProps->shouldComponentUpdate->componentWillUpdate
    React 生命周期 constructor->componentWillMount->render->componentDidMount->componentWillUnmount
  • 原文地址:https://www.cnblogs.com/HangZhe/p/6848263.html
Copyright © 2020-2023  润新知