Unity 2018.1.2f1

原文链接:https://www.youtube.com/watch?v=VnG2gOKV9dw

Unity Lighting练习最终效果

眼睛、光源与物体

光学基础知识

透射、反射、折射、衍射、吸收、散射

直接光照与间接光照

间接光照:光线经过多次反弹后进入眼睛

Unity内置两种Lightmapper:

1. Progressive lightmapper, 是一个无偏差的蒙特卡罗路径跟踪器,仅支持 Baked GI
2. Enlighten lightmapper, 由Geomerics开发的光照系统,主要用于支持 Realtime GI

Unity默认使用Progressive Lightmapper;

Unity Lighting光照练习详细步骤

一、基础设定

新建工程,新建场景;

在场景中放入Room与Monkey模型;

关闭默认的Directional Light;

二、添加光源

在场景中添加两个平面,给平面赋予自发光的材质作为场景中的光源;

OrangeLight材质:Emission Color = FFA400, intensity = 1.5

BlueLight材质:Emission Color = 00CAFF, intensity = 2

将模型与光源物体都设置为static(Room,Monkey,OrangeLight,BlueLight);

三、Lighting Settings

移除Skybox,环境光设置为纯黑;

Lightmapper设置为Progressive;

关闭Realtime GI,同时Clear Baked Data;

自发光材质Global Illumination = Baked;

No Skybox + Ambient Color = Pure Black + Emssion materials + Baked GI(Progressive Lightmapper)

拼接缝隙(Stitch Seams)

降低Lightmap Size = 512,以减少存储空间;

关闭Compress Lightmaps,可以提升画面质量;

开启Ambient Occlusion: Indirect Contribution = 0.1

四、Post-porcessing Effects

在Project Settings当中,设置 Color Space = Linear;

使用Package manager安装Post processing;

在Camera上面添加组件Post Process Layer;设置Layer为PostPorcessing;

创建Post-process Volume:GameObject -> 3D Object -> Post-process Volume;

a) 设置Layer = PostProcessing
b) Add Bloom effect: Intensity = 5, Threshold = 1, Diffusion = 5.5
c) Add Color Grading effect: Mode = ACES
d) Add Vignette effect: Intensity = 0.45

最终效果

Unity Lighting(一)光照练习的更多相关文章

  1. Unity 5--全局光照技术

    本文整理自Unity全球官方网站,原文:UNITY 5 - LIGHTING AND RENDERING 简介全局光照,简称GI,是一个用来模拟光的互动和反弹等复杂行为的算法,要精确的仿真全局光照非常 ...

  2. Unity Lighting - Choosing a Lighting Technique 选择照明技术(一)

      Choosing a Lighting Technique 选择照明技术 https://unity3d.com/cn/learn/tutorials/topics/graphics/choosi ...

  3. Unity Lighting - Lighting overview 照明概述

    Lighting overview 照明概述     In order to calculate the shading of a 3D object, Unity needs to know the ...

  4. 04、Unity 5--全局光照技术

    本文整理自Unity全球官方网站,原文:UNITY 5 - LIGHTING AND RENDERING 简介全局光照,简称GI,是一个用来模拟光的互动和反弹等复杂行为的算法,要精确的仿真全局光照非常 ...

  5. 渲染路径-Deferred Lighting 延时光照

    http://blog.csdn.net/heyuchang666/article/details/51564954 注意: 最后3个步骤注意下 延时光照是有着最高保真度的光照和阴影的渲染路径.如果你 ...

  6. Unity Lighting - Light Probes 光照探针(十)

      Light Probes 光照探针 Only static objects are considered by Unity’s Baked or Precomputed Realtime GI s ...

  7. Unity预计算光照的学习(速度优化,LightProb,LPPV)

    1.前言 写这篇文章一方面是因为unity的微博最近出了关于预计算光照相关的翻译文章,另一方面一些美术朋友一直在抱怨烘培速度慢 所以抱着好奇的心态来学习一下unity5的PRGI预计算实时光照 2.基 ...

  8. Unity3D学习(六):《Unity Shader入门精要》——Unity的基础光照

    前言 光学中,我们是用辐射度来量化光. 光照按照不同的散射方向分为:漫反射(diffuse)和高光反射(specular).高光反射描述物体是如何反射光线的,漫反射则表示有多少光线会被折射.吸收和散射 ...

  9. 关于Unity中的光照(七)

    全局光照 GI 这里所说的反射就是,一个红色的物体,当太阳照射它的时候,它周围的物体也会变得有点红. 1:Realtime每帧都会计算光照,实时光照是不会反射的,所以它的光影显得单调;2:Baked ...

随机推荐

  1. Com 调用word和excel

    using Microsoft.Office.Interop.Word;using System;using System.Collections.Generic;using System.Compo ...

  2. ES6新特性,对象的快速创建

    //es6对象快速赋值 //es5对象赋值 var name="xiaoming"; var age=18 var person={ name:name, age:age } co ...

  3. ubuntu svn服务本地搭建使用

    安装 sudo apt-get install subversion 创建一个仓库 svnadmin create mysvn 编辑配置文件  /home/exayong/mysvn就是上面创建的目录 ...

  4. js计算两个日期相差天数

    //两个时间相差天数 兼容firefox chrome var days = function(startDate) { var sdate = new Date(startDate.replace( ...

  5. 数据库编程加入transaction

    TransManager tm = new TransManager(); tm.begin();//开启事物 try { //sql执行代码 // // tm.commit();//更改完sql之后 ...

  6. 外网如何访问web项目holer实现篇

    外网访问WEB 内网主机上安装了WEB服务器,只能在局域网内访问,怎样从公网也能访问本地WEB应用? 本文将介绍使用holer实现的具体步骤. 1. 准备工作 1.1 安装Java 1.7及以上版本 ...

  7. .NET并行计算和并发6-获取线程池的最大可用线程数

    using System; using System.IO; using System.Security.Permissions; using System.Threading; class Test ...

  8. 网络编程 生产者消费者模型 GiL

    守护进程: 注意事项: 1.必须在p.start()前 2.守护进程不能开子进程 3.如果主进程的运行时间快于子进程,那么就只有主进程的结果,没有守护进程的结果,因为守护进程没有进行完.反之会得到两个 ...

  9. 【leetcode】414. Third Maximum Number

    problem 414. Third Maximum Number solution 思路:用三个变量first, second, third来分别保存第一大.第二大和第三大的数,然后遍历数组. cl ...

  10. ES5与ES6中的继承

    ES5继承在ES5中没有类的概念,所以一般都是基于原型链继承,具体的继承方法有以下几种: 父类: function Father (name) { this.name = name || 'sam' ...