This page has been translated automatically.
视频教程
界面
要领
高级
实用建议
基础
专业(SIM)
UnigineEditor
界面概述
资源工作流程
Version Control
设置和首选项
项目开发
调整节点参数
Setting Up Materials
设置属性
照明
Sandworm
使用编辑器工具执行特定任务
如何擴展編輯器功能
嵌入式节点类型
Nodes
Objects
Effects
Decals
光源
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
编程
基本原理
搭建开发环境
使用范例
C++
C#
UnigineScript
统一的Unigine着色器语言 UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
材质和着色器
Rebuilding the Engine Tools
GUI
双精度坐标
应用程序接口
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
创建内容
内容优化
材质
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
注意! 这个版本的文档是过时的,因为它描述了一个较老的SDK版本!请切换到最新SDK版本的文档。
注意! 这个版本的文档描述了一个不再受支持的旧SDK版本!请升级到最新的SDK版本。

阿尔法混合

Alpha混合是一个将图像与背景相结合的过程,以创建一个局部或完全透明的外观。

混合公式#

通过alpha混合得到结果颜色,使用下面的公式:

ColorRes = ColorSrc * Src + ColorDest * Dest

ColorSrc对应多边形颜色(源图像),ColorDest对应屏幕缓冲颜色(目标图像)。ColorRes是结果颜色。

如果一个颜色的Alpha组件等于0,它将是透明的。使用1Alpha值,添加RedGreenBlue值来创建颜色。为了计算半透明区域的颜色,使用了线性插值。

Alpha组件一样,RGB值也被规范化。

Src和Dest乘数的值#

乘法器SrcDest可以有以下值:

Name Description
None 不使用混合
Zero 对应颜色的RGBA分量乘以0
One 对应颜色的RGBA分量乘以1
Src color 对应颜色的RGBA分量乘以这些因子(每个分量):(mR, mG, mB, mA)
One minus src color 每种材质颜色的组分乘以这些因子(每个组分):(1 - mR, 1 - mG, 1 - mB, 1 - mA)
Src alpha 对应颜色的RGBA分量乘以mA
One minus src alpha RGBA组件1 - mA乘以相应的颜色
Dest color 对应颜色的RGBA分量乘以这些因子(每个分量):(bR, bG, bB, bA)
One minus dest color 对应颜色的RGBA分量乘以这些因子(每个分量):(1 - bR, 1 - bG, 1 - bB, 1 - bA)
Dest alpha RGBA组件bA乘以相应的颜色
One minus dest alpha 对应颜色的RGBA分量乘以1 - bA

其中mR, mG, mB, mA分别为标准化材质红色、绿色、蓝色和alpha值;
bR, bG, bB, bA的背景归一化红色,绿色,蓝色,alpha值相应。

可能的组合#

根据乘数SrcDest的组合,可以实现以下效果:

1#

Src = None
Dest = None

意味着没有阿尔法混合的材质。对象呈现完全不透明。

没有阿尔法混合。所有进一步混合组合的基础

2#

Src = One
Dest = One minus Src alpha

结果:Alpha 混合

  • 不透明区域(alpha = 1)接收材质颜色。
  • 透明区域(alpha = 0)接收屏幕缓冲颜色。

结合用于创建透明基于α组件的影响。

阿尔法混合颗粒

3#

Src = Src alpha
Dest = One minus Src alpha

结果:标准α混合

  • 不透明 区域接收材质颜色,但与 以前的 变体相比,它们更暗且尺寸更小。
  • 领域的α梯度衰落是黑暗的。
  • 透明区域接收屏幕缓冲颜色。

标准α混合。注意到黑暗的边缘

4#

Src = Src color
Dest = One minus Src alpha

结果:

  • 第二第三 相比,不透明 区域也更小,甚至更暗,对比度更高 变体。
  • 领域的α梯度衰落是黑暗的。
  • 透明区域接收屏幕缓冲颜色。

5#

Src = Src color
Dest = One minus Src color

结果:

  • 不透明区域很小并且颜色反转。
  • 领域的α梯度衰落是黑暗的。
  • 透明区域接收屏幕缓冲颜色。
  • 完全黑色分散材质将导致呈现在屏幕缓冲区的颜色。

6#

Src = Src alpha
Dest = One

结果:Alpha-dependent颜色之外

  • 在重叠的不透明区域中,材质颜色被添加到自身。 这些区域的面积非常小。
  • 透明区域接收屏幕缓冲颜色。
  • 完全黑色分散材质将导致呈现在屏幕缓冲区的颜色。

7#

Src = Src color
Dest = Dest alpha

结果:几乎与 之前的 变体相同,但亮度稍差,材质颜色不明显

8#

Src = One
Dest = One

结果:颜色之外

  • 在重叠的不透明区域中,材质颜色被添加到自身。
  • α梯度衰落的地区是明亮的和独特的。
  • 透明区域接收屏幕缓冲颜色。
  • 完全黑色分散材质将导致呈现在屏幕缓冲区的颜色。

这种组合可用于创建晕光,粒子系统,和体积灯。在这种混合模式,深色的颜色对象,可视化更加透明。通过覆盖层,使受强光照明。

9#

Src = Zero
Dest = Src color

Src = Dest color
Dest = Zero

结果(两个变种):乘法

  • 不透明 区域接收屏幕缓冲区颜色乘以材质颜色。
  • 透明区域是黑色的。

如果所有的材质是半透明的,这种组合可以用来创建彩色玻璃。

10#

Src = One minus Src color
Dest = Dest alpha

结果:

  • 非白人的颜色,似乎完全不透明区域小,接收倒颜色。在α渐变褪色,它改变到总结的颜色。层重叠会导致颜色的强化。
  • 如果漫反射材质颜色为白色,则完全不透明核心区域会接收屏幕缓冲区颜色,该颜色会随着 alpha 渐变的消退而变为总和颜色。
  • 透明区域接收屏幕缓冲颜色。
  • 改变漫射颜色乘数的大小变化核心领域(环大小的插图)。
  • 完全黑色分散材质将导致呈现在屏幕缓冲区的颜色。

材质漫射颜色乘数:1(左边)和1.5(右边)

如果分散材质的颜色是白色,不透明的核心是屏幕缓冲区的颜色。漫射颜色乘数= 1.5

11#

Src = One minus Src color
Dest = One minus Src color

结果:类似于 以前的 组合,但有以下例外:

  • 非白人的颜色,一个完全不透明区域接收倒似乎更大的规模和深颜色。在α梯度减弱,材质颜色显得沉闷,色彩,几乎看不见。
  • 如果漫反射材质颜色为白色,则完全不透明核心区域会收到黑色,随着 alpha 渐变的消退,黑色会变为相加的反色。

和下面的特征是相同的:

  • Transparent areas are of the screen buffer color.
  • 改变漫反射颜色倍增器会改变核心区域的大小(图中环形区域的大小)。
  • 完全黑色分散材质将导致呈现在屏幕缓冲区的颜色。

材质漫反射颜色乘数:1(左侧)和 1.5(右侧)

如果分散材质的颜色是白色,倒不透明的核心是黑色的

12#

Src = One minus Dest color
Dest = Dest Alpha

结果:

  • 不透明 区域是明亮的且具有漫反射材质色调。
  • 屏幕缓冲区的颜色越深,越饱和材质颜色。
  • 透明区域是屏幕缓冲颜色。
  • 完全黑色分散材质将导致呈现在屏幕缓冲区的颜色。

13#

Src = One minus Dest color
Dest = One minus Src alpha

结果:

  • 在重叠区域,屏幕缓冲区的反转颜色变得越来越明显增加层数。
  • 透明区域是屏幕缓冲颜色。

14#

Src = One minus Dest color
Dest = One minus Src color

结果:

  • 在重叠区域,反向的颜色改变背景颜色和回来。
  • 透明区域是屏幕缓冲颜色。
  • 完全黑色分散材质将导致呈现在屏幕缓冲区的颜色。

15#

Src = Dest color
Dest = Dest alpha

结果:

  • 这个组合更适合材质白色强或明亮的高价值的漫反射颜色。否则,材质颜色色彩是不可见的。
  • 透明区域是屏幕缓冲颜色。

16#

Src = Dest color
Dest = Dest color

结果:

  • 不透明 区域接收材质和屏幕缓冲区的总颜色。
  • 透明区域是倍增的屏幕颜色 - 更暗,更饱和。
  • 在重叠的领域,不透明和透明的材质颜色(根据α组件)地区愈演愈烈。

最新更新: 2024-08-16
Build: ()