色彩魔术-空气远近法

1. 定义

空气远近法,是使用色彩差异表现远近的一种方法,即色彩透视法。

色彩透视法:也称色彩远近法,它是空气透视法的一种,它也是跟空气的厚薄有关,景物距离观察者越远其颜色饱和度越低,亮度也会相应的降低。

2. 常见空气远近调色示例

下面是常见的山川景象

色彩透视最有名的范例就是达.芬奇的《蒙娜丽莎》,也是最早运用透彩透视原则的作品。

 

还有油画中使用空气远近法的实例

 

3. 原理讲解

3.1. 基本原理

我们可以看到在这些图像中,近景的饱和度与亮度都会比远景的要高,我们可以使用这样的手法在我们的模型上表现给观察者在某一定特定距离下看到我们作品产生真实感的效果。 

下面我们从物理及数学的角度来分析下远近的色彩变化:

  • 光在空气中漫反射会呈现球状扩散的方式,所以我们在一定真实距离观看时,观看到的是光在这个距离为半径的球壳某一块面积上的能量

  • 假设我们最近的观察距离R,取我们眼睛能看到球壳上一块固定面积Sv,球壳总面积是

[S_1=4\pi R^2]

  • 光的能量,也就是我们看到的亮度为

[B_{r1}=S_v / S_1]

假设我们移动到中等距离2R,我们眼睛能看到球壳上的固定面积还是Sv,所以

[S_2 = 4 \times 4 \pi R^2]

  • 我们看到的亮度为

[B_{r2}=S_v / S_2 = (1/4)\times(S_v/S_1)]

  • 当我们移动到远距离3R,我们能看到的亮度变为

[B_{r3}=(1/9)\times(S_v/S_1)]

3.2. 亮度变化

我们定义最近距离观察为我们对模型上色的主色,则做远处或者体积表现时,远处的亮度就要相应的降低。下面是距离对应亮度的关系

我们可以看到当距离为初始距离的3倍之后,肉眼很难分辨亮度的变化。

同时不要忘记,我们身处在一个白天肉眼可视范围处处都是平行光的世界,即使远处,也有足够的亮度,也就是说远距离与近距离亮度会被背景光拉近。

3.3. 色彩饱和度变化

不过,色彩中的饱和度,却因远近而剧烈变化。

我们可以看到,色彩随着距离的增加慢慢褪去,变得灰白
所以,我们在模型上表现距离时,就需要向主色中添加黑、白色,甚至在灰色中添加主色来表现足够远的距离。


当然,根据模型与需要表现的尺寸,我们可以适当在主色中添加黑、白,对于战车、飞机、高达等个体模型来说,饱和度变化不会太剧烈。

但如果是制作场景模型,尤其是大型场景模型时,大尺度的饱和度变化会为您的场景带来完全不同的真实体验。

4. 空气远近法在游戏画面创作时的应用

空气远近法在游戏画面创作时的应用主要体现在以下几个方面:

4.1. 视觉表现与空间感营造

  1. 增强空间深度:通过空气远近法,游戏开发者可以在画面中营造出更强的空间深度感。这种方法通常涉及将远处的物体绘制得相对模糊、色彩偏冷且对比度降低,而近处的物体则保持清晰、色彩鲜艳。这种处理方式能够引导玩家的视线从前景延伸到背景,增强画面的层次感和立体感。

  2. 模拟真实视觉体验:在现实生活中,由于大气中的微粒散射作用,远处的物体往往会呈现出一种朦胧感,且色彩偏蓝。游戏开发者通过模拟这种自然现象,可以使游戏画面更加贴近真实世界的视觉体验,提升玩家的沉浸感。

4.2. 技能与特效设计

  1. 技能表现:在游戏中,很多技能特效都涉及到空气元素的运用。通过空气远近法,开发者可以设计出更加生动、逼真的技能效果。例如,当角色释放一个范围性的空气技能时,可以通过逐渐模糊技能边缘、降低色彩饱和度等方式来模拟技能在空气中扩散的过程。

  2. 环境互动:在一些以自然环境为背景的游戏中,空气远近法还可以用于表现角色与环境之间的互动。例如,在沙漠、雪地等环境中,通过调整空气中的尘埃、雪花等元素的密度和分布范围,可以营造出更加逼真的环境氛围。

4.3. 场景设计与优化

  1. 场景层次感:在大型开放世界游戏中,场景设计往往需要考虑多个层次的空间布局。通过空气远近法,开发者可以更加清晰地划分出不同层次的场景元素,使得整个场景看起来更加有序、和谐。

  2. 性能优化:在游戏开发中,性能优化是一个非常重要的环节。通过运用空气远近法,开发者可以在保证画面质量的前提下,对远处的场景元素进行适当的简化处理,从而降低渲染负担、提高游戏运行效率。

4.4. 具体应用

在一些以科幻或奇幻为背景的游戏中,开发者可能会利用空气远近法来表现宇宙空间中的星云、尘埃带等天体现象;

在一些以自然风光为主题的游戏中,则可能会利用这种方法来模拟晨雾、夕阳等自然景象。

总之,空气远近法在游戏画面创作中具有广泛的应用价值,它不仅能够提升画面的视觉效果和空间感营造能力,还能够为技能特效设计、场景设计与优化等方面提供有力的支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/367923.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

尝试修改苍穹外卖为”李小罗餐厅“

学习苍穹外卖后,将其修改为自己所需要的项目,也是对苍穹外卖项目的加深理解 对项目之间的连接等关系进一步清晰,那么便开始吧 d1_开始修改 修改名字为”李小罗餐厅“ src\views\login\index.vue src\router.ts 结果展示 修改进来之后的展示…

nginx转发的问题

我在项目配置的时候遇到一个问题: 配置了域名转发,且配置了https nginx配置如下: server {listen 443 ssl;server_name yourdomain.com;ssl_certificate /path/to/your/certificate.crt;ssl_certificate_key /path/to/your/private.key;loca…

动物检测yolo格式数据集(水牛 、大象 、犀牛 、斑马四类)

动物检测数据集 1、下载地址: https://download.csdn.net/download/qq_15060477/89512588?spm1001.2101.3001.9500 2、数据集介绍 本数据集含有四种动物可以检测,分别是水牛 、大象 、犀牛 、斑马四类,数据集格式为yolo格式,…

【Java环境配置过程详解(包括IDEA配置Java)】

目录 一、JDK下载安装 1. 官网下载JDK 2. 本地安装JDK 3. 配置环境变量 4. 验证是否安装成功 ​编辑二、IDEA进行安装下载 1. 官网下载 IDEA 2、IDEA进行Java开发 1. 创建Java项目 2. 程序测试 一、JDK下载安装 1. 官网下载JDK 1)官网链接: https://www.o…

Redis理解【精细】【快速上手】

目录 1. 了解3V和3高 2.什么是redis 3. redis可以做什么 4. Windows安装 5. 使用redis客户端操作redis 5.1 redis基本命令 5.1.1 切换数据库 5.1.2 查看当前数据库的大小 5.1.3 查看当前数据库所有的key ​​​​​​​ 5.1.4 清空当前数据库所有key 5.1.5 清空所…

网口串口(Serialport)服务器

文章所用工具http://t.csdnimg.cn/2gIR8http://t.csdnimg.cn/2gIR8 搭建服务器界面 操作配置文件保存方式类 public string FileName { get; set; }public IniHelper(string name) {this.FileName name; //在构造函数中给路径赋值} 1 先导入c语言进行读取操作ini文件的方法 …

Qt creator实现一个简单计算器

目录 1 界面设计 2 思路简介 3 代码 目录 1 界面设计 ​2 思路简介 3 代码 3.1 widget.h 3.2 widget.c 4 完整代码 在这里主要记载了如何使用Qt creator完成一个计算器的功能。该计算器可以实现正常的加减乘除以及括号操作,能实现简单的计算器功能。 1 界…

Qt Creator配置以及使用Git

Qt Creator配置以及使用Git 引言一、Qt Creator配置git二、Qt Creator使用git2.1 创建git仓库 or git项目导入Qt2.2 配置远端,拉代码 or 上传代码2.3 查看更改2.4 更多细节可参考官方文档 三、参考的博客以及文档 引言 Qt Creator配置Git之后,可以看作是…

使用Charles实现Android抓包,附带Charles破解教程

1.下载Charles 网址:下载Charles 安装完成后的界面: 2.配置http抓包 点击该选项 可以看到代理的 ip 和端口号 然后在手机的wifi中配置代理(手机和电脑要在同一局域网),代理选择手动,并填入ip和端…

vue3中 slot使用

默认插槽&#xff1a; 这是最基本的插槽类型&#xff0c;当没有指定 name 属性时&#xff0c;插槽是默认插槽。 子组件&#xff1a; <template><div class"child"><h2>子组件内容</h2><slot></slot> <!-- 默认插槽&#x…

UnityUGUI之三 Text

富文本 常用语法&#xff1a; 1.加粗 <b> text </b> 2.斜体 <i> text </i> 3.尺寸 <size?> text </size> 4.颜色 <color#ff0000> text </color>

zabbix小白入门:从SNMP配置到图形展示——以IBM服务器为例

作者 乐维社区&#xff08;forum.lwops.cn&#xff09;许远 在运维实践中&#xff0c;Zabbix作为一款强大的开源监控工具&#xff0c;被广泛应用于服务器、网络设备和应用程序的监控&#xff0c;成为保障业务连续性和高效运行的关键。然而&#xff0c;对于Zabbix的初学者来说&a…

发送微信消息和文件

参考&#xff1a;https://www.bilibili.com/video/BV1S84y1m7xd 安装&#xff1a; pip install PyOfficeRobotimport PyOfficeRobotPyOfficeRobot.chat.send_message(who"文件传输助手", message"你好&#xff0c;我是PyOfficeRobot&#xff0c;有什么可以帮助…

泽州县和美环保科技有限公司——绿色环保的践行者

在环保产业蓬勃发展的今天&#xff0c;泽州县和美环保科技有限公司以其卓越的技术和强大的实力&#xff0c;成为山西省危废综合处置领域的翘楚。作为雅居乐环保集团的全资子公司&#xff0c;和美环保科技有限公司紧跟集团发展战略&#xff0c;致力于为社会提供全方位的环境服务…

UE5 04-重新加载当前场景

给关卡加一个淡出的效果 给关卡加一个淡入的效果, 这个最好放置在Player 上,这样切关卡依然有这个效果

Chapter10 高级纹理——Shader入门精要学习笔记

Chapter10 高级纹理 一、立方体纹理1.基本概念①组成②采样 2.天空盒子 Sky Box3.环境映射三种方法①特殊布局的纹理创建②手动创建Cubemap——老方法③脚本生成 4.反射5.折射6.菲涅尔反射 二、渲染1.镜子效果2.玻璃效果3.渲染纹理 vs GrabPass 三、程序纹理1.简单程序纹理2.Un…

Mybatis Plus 自动填充注解 @TableField(fill = FieldFill.INSERT_UPDATE)

第一步&#xff1a;在需要自动填充的位置加上注解 通过在创建时间和修改时间上添加 fill 填充字段 进行自动填充 第二步&#xff1a;要想实现自动填充还需要实现MetaObjectHandler接口&#xff0c;在这里实现自动填充的逻辑 Component public class MyMetaObjectHandler …

Cmake静态库与动态库的构建与使用

项目目录 各个文件 myhell.h // // Created by glt on 2024/7/3. //#ifndef MY_PRO_HELLO_H #define MY_PRO_HELLO_H#include <iostream>void HelloFunc();#endif //MY_PRO_HELLO_Hhello.cpp // // Created by glt on 2024/7/3. // #include "myhello.h"voi…

《数据结构与算法基础 by王卓老师》学习笔记——2.5线性表的链式表示与实现1

1.链式表示 2.链表举例 3.链式存储的相关术语 4.三个讨论题

文本分析-使用Python做词频统计分析

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…