当前位置: 首页 > news >正文

Unity Lighting -- Unity的光源简介

        在主菜单栏中,点击Window -> Rendering -> Light Explorer打开光源管理器,这个标签页可以看到场景中所有的光源,包括每个光源的类型,形状,模式,颜色,强度,阴影等信息。

      在主菜单栏中,点击Window -> Rendering -> Lighting打开窗口,这个窗口是设置场景级的灯光设置以及环境光和烘焙的灯光贴图等设置。

直接光照(direct light)和间接光照(indirect light)的区别

        直接光照:光线被发出后从表面反射一次后直接进入了光感受器(比如眼睛)

        

        间接光照: 最终反射到传感器中的所有其他光,例如多次撞击表面的光以及当您不直接看太阳时来自天空的光。

 Unity的全局照明系统(Global Illumination Systems)

         全局照明(Global Illumination)是Unity中用来提供给开发者用于创建真实光照效果的一组技术。这些技术称为全局照明的原因是它们同时模拟了直接光照和间接光照,而不是只有直接光照。

        在Unity中有两种不同的全局照明系统:Baked Gloabl Illumination System(烘焙全局光照系统)和Realtime Global Illumination System(实时全局光照系统)。

烘焙全局光照系统组成部分

        光照贴图计算(Lightmapping):预计算场景中的各个表面的亮度并且存储结果到一个叫做光照贴图(Lightmap)的纹理的过程。全局光照系统使用一个特定的lightmapper系统(Unity - Manual: The Progressive Lightmapper)来完成这个过程。

        Light Probes:一种工具,用于测量(或探查-probe)场景中光线穿过空白空间的数据。

        Refleciton Probes:一种工具,Unity中用来模拟更多真实的反射效果。

        所有渲染管线都支持Baked Global Illumination。

实时全局光照系统组成部分

        光照贴图计算(Lightmapping):全局光照系统使用一个已经弃用了的光照贴图器,Enlighten Lightmapper。

        Light Probes:一种工具,拥有更多额外的功能。

        URP(Universal Render Pipeline)不支持实时全局光照系统。

Unity中的实时光照

        在游戏或其他实时应用跑起来的时候,Unity会在运行时计算实时的光照。实时光照会在每一帧计算一次,对于场景中移动的物体和角色的响应性非常好。

        我们下面以实际的例子来看看其效果,下图场景中有一个路灯,我们在场景中移动它:

 

         可以看到,在场景中拖动这个路灯时,灯光所能照到的区域内的光照和阴影会实时发生变化。

Unity中的烘焙光照

        当场景变得越来越复杂时,实时的光照计算会消耗大量的资源,影响性能。烘焙光照特性能够减轻这个问题的影响,能让较低配置的硬件也能得到不错的效果,它通过在运行前预先计算出光照数据来达到这个效果。这样在运行时能够减少开销,提升性能。

        执行计算并保存数据为光照贴图(Lightmap)纹理的过程称为烘焙(baking或lightmapping)。如前面所说,对于烘焙光照的计算,通过一个称为Progressive Lightmapper(Unity - Manual: The Progressive Lightmapper)的光照贴图器系统来实现。

        烘焙光照能够提升许多效率,也能被用来实现更加真实和有体验感的光照效果。但预先计算数据也意味着事情不总是能够按你期望的效果发生,除非光源和场景配置成了特定的方式,否则当场景中的物体发生交互时,会产生一些奇怪的效果。

        下面还是以一个例子来看看烘焙光照的效果:

 

         可以看到,当使用烘焙光照方式时,光源发生移动后,其光照并没有跟着光源的移动发生变化。如果要在新位置上也能有光照效果,则需要重新烘焙。

相关文章:

Unity Lighting -- Unity的光源简介

在主菜单栏中,点击Window -> Rendering -> Light Explorer打开光源管理器,这个标签页可以看到场景中所有的光源,包括每个光源的类型,形状,模式,颜色,强度,阴影等信息。 在主菜…...

Android仿网易云音乐歌单详情页

效果图实现思路:1、Activity设置自定义Shared Element切换动画2、透明状态栏(透明Toolbar,使背景图上移)3、Toolbar底部增加和背景一样的高斯模糊图,并上移图片(为了使背景图的底部作为Toolbar的背景)4、上…...

linux基本功系列之free命令实战

文章目录前言一. free命令介绍二. 语法格式及常用选项三. 参考案例3.1 查看free相关的信息3.2 以MB的形式显示内存的使用情况3.3 以总和的形式显示内存的使用情况3.4 周期性的查询内存的使用情况3.5 以更人性化的形式来查看内存的结果输出总结前言 大家好,又见面了…...

华为OD机试模拟题 用 C++ 实现 - 连续子串(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明连续子串题目输入输出示例一输入输出说明Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD …...

【软考——系统架构师】UML 建模与架构文档化

🔎这里是【软考——系统架构师】,关注我考试轻松过线 👍如果对你有帮助,给博主一个免费的点赞以示鼓励 欢迎各位🔎点赞👍评论收藏⭐️ 文章目录UML 基础UML 软件开发过程系统架构文档化送书福利UML 基础 U…...

Spring中常用注解

声明 bean 的注解 Component:泛指各种组件 Controller、Service、Repository 都可以称为Component Controller:控制层 Service:业务层 Repository:数据访问层Bean 的生命周期属性 Scope 设置类型包括:设置 Spring 容器…...

基于SpringCloud的可靠消息最终一致性06:轮询事务消息

上一节把可靠消息最终一致性的正常逻辑代码顺序执行了一次,并且对于同一个事务消息,在正常情况下它要被发送至少两次。 这是因为在发送消息之前,TransactionMessageService就已经把消息保存到了数据库中。而在首次消费完消息后,TransactionMessageListener并没有从数据库中…...

Python Flask + Echarts 轻松制作动态酷炫大屏( 附代码)

目录一、确定需求方案二、整体架构设计三、编码实现 (关键代码)四、完整代码五、运行效果1.动态实时更新数据效果图 说明: 其中 今日抓拍,抓拍总数,预警信息统计,监控点位统计图表 做了动态实时更新处理。 ​ 2.静态…...

Wepack(1):SourceMap讲解以及使用

今天我们来讲讲定位源码的工具 Sourcemap , 我们先讲最简单的配置,之后才补充 sourcemap 的其他属性 Sourcemap 作用 可以在打包的代码直接对应相应源码 例如 vue2 , vue3可以把对应的错误上传到相关服务器 使用 webpack.config.js const config …...

华为OD机试题,用 Java 解【最多等和不相交连续子序列】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…...

Kubernetes06:Controller

Kubernetes06:Controller 1、什么是controller 管理和运行容器的对象,是一个物理概念 在集群上管理和运行容器的对象 2、Pod和Controller之间的关系 Pod是通过controller来实现应用的运维 比如伸缩、滚动升级等等操作Pod和Controller之间通过 label 标签建立关系…...

采购文件中 RFI、RFQ、RFP、IFB的区别

【PMBOK的描述】   采购文件用于征求潜在卖方的建议书。如果主要依据价格来选择卖方(如购买商业或标准产品时),通常就使用标书、投标或报价等术语。如果主要依据其他考虑(如技术能力或技术方法)来选择卖方&#xff0…...

linux升级gcc版本详细教程

0.前言一般linux操作系统默认的gcc版本都比较低,例如centos7系统默认的gcc版本为4.8.5。gcc是从4.7版本开始支持C11的,4.8版本对C11新特性的编译支持还不够完善,因此如果需要更好的体验C11以及以上版本的新特性,需要升级gcc到一个…...

NBA Top Shot 跌落神坛

近日,美国职业篮球联盟(NBA)授权的NFT 项目“NBA Top Shot Moments”被纽约法院初步裁定为“可能符合证券的定义”,虽然这不是对2021年用户指控该项目违法的最终判决,但这个裁定引发了市场担忧,部分NFT的地…...

状态管理Pinia使用详解(带你入门)

状态管理Pinia使用详解(带你从入门到入神) 序: ​ 如果你之前使用过 vuex 进行状态管理的话,那么 pinia 就是一个类似的插件。它是最新一代的轻量级状态管理插件。你可以通过defineStore来简单创建一个存储管理。 ​ 与 vuex 相比,pinia 提…...

Linux系统基础命令(一)

一、图形界面和终端界面 图形界面:是指采用图形方式显示的计算机操作用户界面。 终端界面:是指黑底白字的命令行界面。 什么是tty呢? tty:终端设备的统称。 tty一词源于Teletypes,或者teletypewriters,…...

djvu批量转换为pdf的工具和djvu阅读器(附下载链接)

简介 DjVuToy是一款美观易用、功能强大的DjVu处理工具,DjVuToy官方版功能包括图像文件转DjVu,支持PDG、BMP、GIF等格式。转换的同时可以进行OCR,生成双层DjVu。可以插入、删除、移动、旋转多页DjVu中的页面。还可以将多个DjVu文件合并成一个&…...

Linux | 分布式版本控制工具Git【版本管理 + 远程仓库克隆】

文章目录一、前言二、有关git的相关历史介绍三、Git版本管理1、感性理解 —— 大学生实验报告2、程序员与产品经理3、张三的CEO之路 —— 版本管理工具的诞生四、如何在Linux上使用Git1、创建仓库2、将仓库克隆到本地3、git三板斧① git add② git commit③ git push4、有关git…...

FFmpeg 编译和集成

背景FFmpeg 是一款知名的开源音视频处理软件,它提供了丰富而友好的接口支持开发者进行二次开发。FFmpeg 读作 “ef ef em peg” ,其中的 “FF” 指的是 “Fast Forward”,“mpeg” 则是 “Moving Picture Experts Group” (动态图…...

OOM的俩种情况---主动kill/被动kill

出现OOM, 有两种处理方式:1. 主动Kill; 2. 被动Kill 例:HBase Region Server OOM定位问题复盘 现象 在HBase资源隔离项目中,对测试集群进行压测时,发现region server会出现崩溃的情况,单机请求量从>200到~50每秒都…...

ssh远程连接ECS实例连接失败

尝试通过 SSH 远程连接服务来连接ECS云服务器实例时,收到“连接被拒”或“连接超时”的错误信息,可能的原因分析如下: 错误信息描述 1、错误消息:“ssh: connect to ecs-X-X-X-X.compute-xxxxxxxxx.com port 22: Connection tim…...

[框架设计] MVVM 的介绍,应用及优缺点

介绍 MVVM(Model-View-ViewModel)是一种架构模式,用于将应用程序分离为三个部分: Model(模型):负责处理应用程序的数据和业务逻辑。View(视图):负责呈现用户…...

4G模块DTU网关远程抄表方案(二):DL645/698协议国网电表

4G模块DTU网关远程抄表方案(二):DL645/698协议国网电表 1 DL 645协议简介 DL645协议是一种用于智能电能表的远程抄读通讯标准。制定该标准是为统一和规范多功能电能表与数据终端设备进行数据交换时的物理连接和通信链路及应用技术规范。DL645协议可用于远程监测电力传输和使用…...

认识微服务

目录 认识微服务 单体架构 分布式架构 服务架构演变 服务治理 微服务 总结 微服务技术对比 微服务结构 微服务技术对比 企业需求 SpringCloud SpringCloud和SpringBoot的版本兼容 认识微服务 单体架构 单体架构:将业务的所有功能集中在一个项目中开发&a…...

升级Android Studio Electric Eel问题汇总

1.升级以后找不到java可执行程序 问题原因:升级后,Android Studio自带的java目录不再是根目录/jre,调整为一个新目录 Studio根目录/jbr 修改方法:1)修改系统环境变量, JAVA_HOME调整为Studio下对应的java…...

令执法机构头疼的“虚拟货币犯罪”,为何链上天眼能“行”

谈到洗钱,你脑海中率先想到的可能是影视剧中利用赌场、收藏品拍卖等来实施犯罪。其实洗钱犯罪的花样不止于此,在近期热播的扫黑剧《狂飙》中,唐小龙为洗白“赌博资金、高利贷业务”,便通过“卖酒网销”的方式达成洗钱目的。 随着科…...

【unity】开发rts 3

一 出生点、阵营类型、阵营 实例栏-GameManage,默认有一个插槽 size 插槽数量 role 权限,host是主人,权限高 type 阵营类型,不选不限制,选的效果没看懂,文档原文: The Type field in Data al…...

突破老旧OA系统局限,打通五大业务管理体系,让效率“狂飙”

目录 用无代码构建上海致远信息化平台 一、支持类(行政人事、财务)体系 二、营销体系 三、供应链体系 四、质量管理体系 五、技术研发体系 下一步规划 我们公司用的第一套系统是 IBM 的系统,部署在本地服务器,这套系统用了十几年,当时 2020 年要全部迁移到LCHub低代…...

【vue2小知识】路由守卫的使用与解决RangeError: Maximum call stack size exceeded问题的报错。

🥳博 主:初映CY的前说(前端领域) 🌞个人信条:想要变成得到,中间还有做到! 🤘本文核心:当我们在路由跳转前与后我们可实现触发的操作 【前言】当我们在做类似于登录页面的时候&…...

Google Guice 5:AOP

1. AOP 1.1 实际开发中面临的问题 在实际开发中&#xff0c;经常需要打印一个方法的执行时间&#xff0c;以确定是否存在慢操作 最简单的方法&#xff0c;直接修改已有的方法&#xff0c;在finnally语句中打印耗时 Override public Optional<Table> getTable(String da…...

网站开发管理系统有哪些/东莞seo外包

2017年9月13日 17:12:20 星期三 gitbook 可以将markdown格式的文件编译成html格式 放在当前目录里的_book目录里(需要手动创建, 也可以指定编译后的html文件放到哪里) 它有几个文件需要注意: SUMMARY.md: 用markdown格式书写的目录 (常用 *, , - 开头表示无序列表) book.json: …...

商务网站建设的主流程/搜索图片识别

题目&#xff1a;http://poj.org/problem?id3258 题意&#xff1a; 一条河长度为 L&#xff0c;河的起点(Start)和终点(End)分别有2块石头&#xff0c;S到E的距离就是L。 河中有n块石头&#xff0c;每块石头到S都有唯一的距离 问现在要移除m块石头&#xff08;S和E除外&#x…...

厦门疫情最新消息/seo培训

#!/bin/bash#####################################################Environment Setting####################################################### #程序代码数组APPS(shop euaker config) #程序名称数组 NAMES(店铺模块 euaker模块 config模块) #jar包JARS(message-pushmsg-…...

网站建设的好处/信息流推广渠道

dp[i][j]dp[i-a[i][j]dp[i-a[i]][j-1]; 其中前一项j不变表示j这一项无限取转载于:https://www.cnblogs.com/linkzijun/p/6288364.html...

怎么建设网站页面/网页制作教程视频

OpenResty 安装 drizzle-nginx-module1.下载drizzle模块 wget http://openresty.org/download/drizzle7-2011.07.21.tar.gz 2.安装drizzle模块 tar zxvf d ...学习练习 java 输入输出流练习2编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键…...

电子商务网站建设文案/中国新闻网

还在认为没有实验就不能发表论文&#xff1f;还在为不精通挖掘GEO&#xff0c;TCGA&#xff0c;SEER等数据库而痛苦不堪&#xff1f;还在为不知道如何找课题找靶点而苦恼&#xff1f;还在为不会那些高大上的图表而暗自伤神&#xff1f;快来参加莫速乎的用R语言进行科研数据挖掘…...