滤镜效果
滤镜效果针对单个纹理/图像运行,由作为 object.fill 或 object.stroke 的 effect 属性的滤镜名称(字符串)指定
object.fill.effect = "[filter]"
object.stroke.effect = "[filter]"
大多数滤镜可以通过可选项来调整。这些选项以及可接受的值对于每个特定滤镜都有所不同,如下所示。
可以在应用滤镜后明确设置滤镜选项,甚至可以在渐进过渡的过程中设置。例如
-- Set a "sepia" filter with a non-default intensity
object.fill.effect = "filter.sepia"
object.fill.effect.intensity = 0.2
-- Transition the filter to full intensity over the course of 2 seconds
transition.to( object.fill.effect, { time=2000, intensity=1 } )
 |
→ |
 |
filter.bloom
渲染从图像中亮区边框延伸的光亮边缘,给人极其明亮的光束压倒视觉的感觉。
levels.white — 默认值 = 0.843;最小值 = 0;最大值 = 1
levels.black — 默认值 = 0.565;最小值 = 0;最大值 = 1
levels.gamma — 默认 = 1;最小值 = 0;最大值 = 1
add.alpha — 默认 = 1;最小值 = 0;最大值 = 1
blur.horizontal.blurSize — 默认 = 8;最小值 = 2;最大值 = 512
blur.horizontal.sigma — 默认 = 128;最小值 = 2;最大值 = 512
blur.vertical.blurSize — 默认 = 8;最小值 = 2;最大值 = 512
blur.vertical.sigma — 默认 = 128;最小值 = 2;最大值 = 512
object.fill.effect = "filter.bloom"
object.fill.effect.levels.white = 0.8
object.fill.effect.levels.black = 0.4
object.fill.effect.levels.gamma = 1
object.fill.effect.add.alpha = 0.8
object.fill.effect.blur.horizontal.blurSize = 20
object.fill.effect.blur.horizontal.sigma = 140
object.fill.effect.blur.vertical.blurSize = 20
object.fill.effect.blur.vertical.sigma = 240
 |
→ |
 |
filter.blur
object.fill.effect = "filter.blur"
 |
→ |
 |
filter.blurGaussian
horizontal.blurSize — 默认 = 8;最小值 = 2;最大值 = 512
horizontal.sigma — 默认 = 128;最小值 = 2;最大值 = 512
vertical.blurSize — 默认 = 8;最小值 = 2;最大值 = 512
vertical.sigma — 默认 = 128;最小值 = 2;最大值 = 512
object.fill.effect = "filter.blurGaussian"
object.fill.effect.horizontal.blurSize = 20
object.fill.effect.horizontal.sigma = 140
object.fill.effect.vertical.blurSize = 20
object.fill.effect.vertical.sigma = 140
 |
→ |
 |
filter.blurGaussianLinear
一种轻量级的对数模糊处理技术,如这篇 RasterGrid 文章 所述。
horizontal.offset1 — 默认 = 1.3846153846;最小值 = 0;最大值 = 100
horizontal.offset2 — 默认 = 3.2307692308;最小值 = 0;最大值 = 100
vertical.offset1 — 默认 = 1.3846153846;最小值 = 0;最大值 = 100
vertical.offset2 — 默认 = 3.2307692308;最小值 = 0;最大值 = 100
object.fill.effect = "filter.blurGaussianLinear"
 |
→ |
 |
filter.blurGaussianLinearHorizontal
offset1 — 默认 = 1.3846153846;最小值 = 0;最大值 = 100
offset2 — 默认 = 3.2307692308;最小值 = 0;最大值 = 100
object.fill.effect = "filter.blurGaussianLinearHorizontal"
 |
→ |
 |
filter.blurGaussianLinearVertical
offset1 — 默认 = 1.3846153846;最小值 = 0;最大值 = 100
offset2 — 默认 = 3.2307692308;最小值 = 0;最大值 = 100
object.fill.effect = "filter.blurGaussianLinearVertical"
 |
→ |
 |
filter.blurHorizontal
blurSize — 默认 = 8;最小值 = 2;最大值 = 512
sigma — 默认 = 128;最小值 = 2;最大值 = 512
object.fill.effect = "filter.blurHorizontal"
object.fill.effect.blurSize = 20
object.fill.effect.sigma = 140
 |
→ |
 |
filter.blurVertical
blurSize — 默认 = 8;最小值 = 2;最大值 = 512
sigma — 默认 = 128;最小值 = 2;最大值 = 512
object.fill.effect = "filter.blurVertical"
object.fill.effect.blurSize = 20
object.fill.effect.sigma = 140
 |
→ |
 |
filter.brightness
intensity — 默认 = 0;最小值 = 0;最大值 = 1
object.fill.effect = "filter.brightness"
object.fill.effect.intensity = 0.4
 |
→ |
 |
filter.bulge
通过改变眼睛的光线方向提供镜头凸出的错觉。1 以下的强度使效果向内凸出(凹形)。1 以上的强度使效果向外凸出(凸形)。
intensity — 默认 = 1;最小值 = 0;最大值 = (无)
object.fill.effect = "filter.bulge"
object.fill.effect.intensity = 1.8
 |
→ |
 |
filter.chromaKey
sensitivity — 默认 = 0.4;最小值 = 0;最大值 = 1
smoothing — 默认 = 0.1;最小值 = 0;最大值 = 1
color — 默认 = {1,1,1,1};最小值 = {0,0,0,0};最大值 = {1,1,1,1}
object.fill.effect = "filter.chromaKey"
object.fill.effect.sensitivity = 0.1
object.fill.effect.smoothing = 0.3
object.fill.effect.color = { 0.2, 0.2, 0.2, 1 }
 |
→ |
 |
filter.colorChannelOffset
xTexels — 默认 = 8;最小值 = 0;最大值 = (无)
yTexels — 默认 = 8;最小值 = 0;最大值 = (无)
object.fill.effect = "filter.colorChannelOffset"
object.fill.effect.xTexels = 16
object.fill.effect.yTexels = 16
 |
→ |
 |
filter.colorMatrix
对源颜色进行乘法处理,并为图像的每个颜色分量增加一个偏移量(偏差)。
coefficients — 一个 4x4 的 RGB+A 系数矩阵。
bias — 默认 = {0,0,0,0};最小值 = {-1,-1,-1,-1};最大值 = {1,1,1,1}
object.fill.effect = "filter.colorMatrix"
object.fill.effect.coefficients =
{
1, 0, 0, 0, --red coefficients
0, 1, 0, 0, --green coefficients
0, 0, 1, 0, --blue coefficients
0, 0, 0, 1 --alpha coefficients
}
object.fill.effect.bias = { 0.6, 0.1, 0, 0 }
 |
→ |
 |
filter.colorPolynomial
向图像应用一组三次多项式。
coefficients — 一个 4x4 的 RGB+A 系数矩阵。
object.fill.effect = "filter.colorPolynomial"
object.fill.effect.coefficients =
{
0, 0, 1, 0, --red coefficients
0, 0, 1, 0, --green coefficients
0, 1, 0, 0, --blue coefficients
0, 0, 0, 1 --alpha coefficients
}
 |
→ |
 |
filter.contrast
contrast — 默认 = 1;最小值 = 0;最大值 = 4
object.fill.effect = "filter.contrast"
object.fill.effect.contrast = 2
 |
→ |
 |
filter.crosshatch
grain — 默认 = 0;最小值 = 0;最大值 = (无)
object.fill.effect = "filter.crosshatch"
object.fill.effect.grain = 4
 |
→ |
 |
filter.crystallize
numTiles — 默认 = 16;最小值 = 2;最大值 = (无)
object.fill.effect = "filter.crystallize"
object.fill.effect.numTiles = 32
 |
→ |
 |
filter.desaturate
intensity — 默认 = 0.5;最小值 = 0;最大值 = 1
object.fill.effect = "filter.desaturate"
object.fill.effect.intensity = 0.5
 |
→ |
 |
filter.dissolve
threshold — 默认 = 1;最小值 = 0;最大值 = 1
object.fill.effect = "filter.dissolve"
object.fill.effect.threshold = 0.6
 |
→ |
 |
filter.duotone
通过使用不同颜色来再现不同灰度级别,增加灰度图像的色调范围。
darkColor — 默认 = {0,0,0.5,1};最小 = {0,0,0,0};最大 = {1,1,1,1}
lightColor — 默认 = {1,0,0,1};最小 = {0,0,0,0};最大 = {1,1,1,1}
object.fill.effect = "filter.duotone"
object.fill.effect.darkColor = { 0.7, 0.3, 0.3, 1 }
object.fill.effect.lightColor = { 1, 0.6, 0.4, 1 }
 |
→ |
 |
filter.emboss
intensity — 默认 = 1;最小 = 0;最大 = 4
object.fill.effect = "filter.emboss"
object.fill.effect.intensity = 0.2
 |
→ |
 |
filter.exposure
exposure — 默认 = 0;最小 = -10;最大 = 10
object.fill.effect = "filter.exposure"
object.fill.effect.exposure = 1.2
 |
→ |
 |
filter.frostedGlass
scale — 默认 = 64;最小 = 1;最大 = (无)
object.fill.effect = "filter.frostedGlass"
object.fill.effect.scale = 140
 |
→ |
 |
filter.grayscale
object.fill.effect = "filter.grayscale"
 |
→ |
 |
filter.hue
angle — 默认 = 0;最小 = 0;最大 = 360
object.fill.effect = "filter.hue"
object.fill.effect.angle = 200
 |
→ |
 |
filter.invert
object.fill.effect = "filter.invert"
 |
→ |
 |
filter.iris
center — 默认 = {0.5,0.5};最小 = {0,0};最大 = {1,1}
aperture — 默认 = 0;最小 = 0 (关闭);最大 = 1 (打开)
aspectRatio — 默认 = 1;最小 = 0;最大 = (无)
smoothness — 默认 = 0;最小 = 0;最大 = 1
object.fill.effect = "filter.iris"
object.fill.effect.center = { 0.5, 0.5 }
object.fill.effect.aperture = 0.5
object.fill.effect.aspectRatio = ( object.width / object.height )
object.fill.effect.smoothness = 0.5
 |
→ |
 |
filter.levels
white — 默认 = 0.843;最小 = 0;最大 = 1
black — 默认 = 0.565;最小 = 0;最大 = 1
gamma — 默认 = 1;最小 = 0;最大 = 1
object.fill.effect = "filter.levels"
object.fill.effect.white = 0.5
object.fill.effect.black = 0.1
object.fill.effect.gamma = 1
 |
→ |
 |
filter.linearWipe
direction — 默认 = {1,0};最小 = {-1,-1};最大 = {1,1}
smoothness — 默认 = 0;最小 = 0;最大 = 1
progress — 默认 = 0;最小 = 0;最大 = 1
object.fill.effect = "filter.linearWipe"
object.fill.effect.direction = { 1, 1 }
object.fill.effect.smoothness = 1
object.fill.effect.progress = 0.5
 |
→ |
 |
filter.monotone
r — 默认 = 0;最小 = 0;最大 = 1
g — 默认 = 0;最小 = 0;最大 = 1
b — 默认 = 0;最小 = 0;最大 = 1
a — 默认 = 1;最小 = 0;最大 = 1
object.fill.effect = "filter.monotone"
object.fill.effect.r = 1
object.fill.effect.g = 0.2
object.fill.effect.b = 0.5
object.fill.effect.a = 0.5
 |
→ |
 |
filter.opTile
numPixels — 默认 = 8;最小 = 0;最大 = (无)
angle — 默认 = 0;最小 = 0;最大 = 360
scale — 默认 = 2.8;最小 = 0;最大 = (无)
object.fill.effect = "filter.opTile"
object.fill.effect.numPixels = 4
object.fill.effect.angle = 0
object.fill.effect.scale = 3
 |
→ |
 |
filter.pixelate
numPixels — 默认 = 4;最小 = 0;最大 = (无)
object.fill.effect = "filter.pixelate"
object.fill.effect.numPixels = 4
 |
→ |
 |
filter.polkaDots
numPixels — 默认 = 4;最小 = 4;最大 = (无)
dotRadius — 默认 = 1;最小 = 0;最大 = 1
aspectRatio — 默认 = 1;最小 = 0;最大 = (无)
object.fill.effect = "filter.polkaDots"
object.fill.effect.numPixels = 16
object.fill.effect.dotRadius = 1
object.fill.effect.aspectRatio = ( object.width / object.height )
 |
→ |
 |
filter.posterize
colorsPerChannel — 默认 = 4;最小 = 2;最大 = (无)
object.fill.effect = "filter.posterize"
object.fill.effect.colorsPerChannel = 6
 |
→ |
 |
filter.radialWipe
center — 默认 = {0.5,0.5};最小 = {-1,-1};最大 = {1,1}
smoothness — 默认 = 0;最小 = 0;最大 = 1
axisOrientation — 默认 = 0;最小 = 0;最大 = 1
progress — 默认 = 0;最小 = 0;最大 = 1
object.fill.effect = "filter.radialWipe"
object.fill.effect.center = { 0.3, 0.5 }
object.fill.effect.smoothness = 1
object.fill.effect.axisOrientation = 0
object.fill.effect.progress = 0.5
 |
→ |
 |
filter.saturate
intensity — 默认 = 1;最小 = 0;最大 = 8
object.fill.effect = "filter.saturate"
object.fill.effect.intensity = 4
 |
→ |
 |
filter.scatter
intensity — 默认 = 0.5;最小 = 0;最大 = (无)
object.fill.effect = "filter.scatter"
object.fill.effect.intensity = 0.5
 |
→ |
 |
filter.sepia
intensity — 默认 = 1;最小 = 0;最大 = 1
object.fill.effect = "filter.sepia"
object.fill.effect.intensity = 1
 |
→ |
 |
filter.sharpenLuminance
sharpness — 默认 = 0;最小 = 0;最大 = 1
object.fill.effect = "filter.sharpenLuminance"
object.fill.effect.sharpness = 1
 |
→ |
 |
filter.sobel
object.fill.effect = "filter.sobel"
 |
→ |
 |
filter.straighten
width — 默认 = 1;最小 = 1;最大 = (无)
height — 默认 = 1;最小 = 1;最大 = (无)
angle — 默认 = 0;最小 = 0;最大 = 360
object.fill.effect = "filter.straighten"
object.fill.effect.width = 10
object.fill.effect.height = 40
object.fill.effect.angle = 20
 |
→ |
 |
filter.swirl
intensity — 默认 = 0;最小 = 0;最大 = (无)
object.fill.effect = "filter.swirl"
object.fill.effect.intensity = 0.4
 |
→ |
 |
filter.vignette
radius — 默认 = 0.1;最小 = 0;最大 = 1
object.fill.effect = "filter.vignette"
object.fill.effect.radius = 0.1
 |
→ |
 |
filter.vignetteMask
innerRadius — 默认 = 0.8;最小 = 0;最大 = 1
outerRadius — 默认 = 0.25;最小 = 0;最大 = 1
object.fill.effect = "filter.vignetteMask"
object.fill.effect.innerRadius = 0.7
object.fill.effect.outerRadius = 0.1
 |
→ |
 |
filter.wobble
amplitude — 默认 = 10;最小 = (无);最大 = (无)
object.fill.effect = "filter.wobble"
object.fill.effect.amplitude = 80
 |
→ |
 |
filter.woodCut
intensity — 默认 = 0.5;最小值 = 0;最大值 = 1
object.fill.effect = "filter.woodCut"
object.fill.effect.intensity = 0.4
 |
→ |
 |
filter.zoomBlur
u(水平原点)— 默认 = 0.5;最小 = 0;最大 = 1
v (垂直原点) — 默认 = 0.5;最小 = 0;最大 = 1
intensity — 默认 = 0.5;最小值 = 0;最大值 = 1
object.fill.effect = "filter.zoomBlur"
object.fill.effect.u = 0.5
object.fill.effect.v = 0.5
object.fill.effect.intensity = 0.3
生成器效果
生成器效果是程序生成的无需在任何纹理/图像上操作的效果。取而代之的是,它们在片段着色器中生成纹理。
与滤镜一样,生成器也由效果名称(字符串)指定,作为 object.fill 或 object.stroke 的 effect 属性
object.fill.effect = "[generator]"
object.stroke.effect = "[generator]"
大多数生成器可以通过可选参数进行调整。对于每个特定生成器来说,这些参数和可接受的值根据下文定义而有所不同。
-- Apply a "sunbeams" generator effect
object.fill.effect = "generator.sunbeams"
object.fill.effect.aspectRatio = ( object.width / object.height )
generator.checkerboard
color1 — 默认 = {1,0,0,1};最小 = {0,0,0,0};最大 = {1,1,1,1}
color2 — 默认 = {0,0,1,1};最小 = {0,0,0,0};最大 = {1,1,1,1}
xStep — 默认 = 3;最小 = 1;最大 =(无)
yStep — 默认 = 3;最小 = 1;最大 =(无)
object.fill.effect = "generator.checkerboard"
object.fill.effect.color1 = { 0.8, 0, 0.2, 1 }
object.fill.effect.color2 = { 0.2, 0.2, 0.2, 1 }
object.fill.effect.xStep = 8
object.fill.effect.yStep = 8
generator.lenticularHalo
在对象上渲染镜状光晕效果。尽管示例图像表示相反,但此效果是使用透明阿尔法背景生成的。seed 参数由随机算法使用,并作为改变光晕外观的手段提供。
posX — 默认 = 0.5;最小 = 0;最大 = 1
posY — 默认 = 0.5;最小 = 0;最大 = 1
aspectRatio — 默认 = 1;最小 = 0;最大 = (无)
seed — 默认 = 0;最小 = 0;最大 =(无)
object.fill.effect = "generator.lenticularHalo"
object.fill.effect.posX = 0.5
object.fill.effect.posY = 0.5
object.fill.effect.aspectRatio = ( object.width / object.height )
object.fill.effect.seed = 1
generator.linearGradient
color1 — 默认 = {1,0,0,1};最小 = {0,0,0,0};最大 = {1,1,1,1}
position1 — 默认 = {0,0};最小 = {0,0};最大 = {1,1}
color2 — 默认 = {0,0,1,1};最小 = {0,0,0,0};最大 = {1,1,1,1}
position2 — 默认 = {1,1};最小 = {0,0};最大 = {1,1}
object.fill.effect = "generator.linearGradient"
object.fill.effect.color1 = { 0.8, 0, 0.2, 1 }
object.fill.effect.position1 = { 0, 0 }
object.fill.effect.color2 = { 0.2, 0.2, 0.2, 1 }
object.fill.effect.position2 = { 1, 1 }
generator.marchingAnts
object.strokeWidth = 2
object.stroke.effect = "generator.marchingAnts"
generator.perlinNoise
color1 — 默认 = {1,0,0,1};最小 = {0,0,0,0};最大 = {1,1,1,1}
color2 — 默认 = {0,0,1,1};最小 = {0,0,0,0};最大 = {1,1,1,1}
scale — 默认 = 8;最小 = 0;最大 =(无)
object.fill.effect = "generator.perlinNoise"
object.fill.effect.color1 = { 0.9, 0.1, 0.3, 1 }
object.fill.effect.color2 = { 0.8, 0.8, 0.8, 1 }
object.fill.effect.scale = 12
generator.radialGradient
在对象上渲染径向渐变。center_and_radiuses 参数是一个表,按顺序指定中心**x**、中心**y**、内半径和外半径。
color1 — 默认 = {1,0,0,1};最小 = {0,0,0,0};最大 = {1,1,1,1}
color2 — 默认 = {0,0,1,1};最小 = {0,0,0,0};最大 = {1,1,1,1}
center_and_radiuses — 默认 = {0.5,0.5,0.125,0.25};最小 = {0,0,0,0};最大 = {1,1,1,1}
aspectRatio — 默认 = 1;最小 = 0;最大 = (无)
object.fill.effect = "generator.radialGradient"
object.fill.effect.color1 = { 0.8, 0, 0.2, 1 }
object.fill.effect.color2 = { 0.2, 0.2, 0.2, 1 }
object.fill.effect.center_and_radiuses = { 0.5, 0.5, 0.25, 0.75 }
object.fill.effect.aspectRatio = 1
generator.random
object.fill.effect = "generator.random"
generator.stripes
在对象上渲染条纹图案。periods 参数是一个表,按顺序指定第一条纹宽度、第一个空隙宽度、第二条纹宽度和第二个空隙宽度。translation 参数指定图案的偏移位置。
periods — 默认 = {1,1,1,1};最小 = {0,0,0,0}
angle — 默认 = 0;最小 = 0;最大 = 360
translation — 默认 = 0;最小 = 0;最大 =(无)
object.fill.effect = "generator.stripes"
object.fill.effect.periods = { 8, 2, 4, 4 }
object.fill.effect.angle = 45
object.fill.effect.translation = 0
generator.sunbeams
在对象上渲染一束光效果。尽管示例图像表示相反,但此效果是使用透明阿尔法背景生成的。seed 参数由随机算法使用,并作为改变一束光外观的手段提供。
posX — 默认 = 0.5;最小 = 0;最大 = 1
posY — 默认 = 0.5;最小 = 0;最大 = 1
aspectRatio — 默认 = 1;最小 = 0;最大 = (无)
seed — 默认 = 0;最小 = 0;最大 =(无)
object.fill.effect = "generator.sunbeams"
object.fill.effect.posX = 0.5
object.fill.effect.posY = 0.5
object.fill.effect.aspectRatio = ( object.width / object.height )
object.fill.effect.seed = 0
合成效果
复合效果对两个纹理/图像起作用,将其组合在一起作为复合绘画。一旦定义好,此复合绘画即可用于填充/描边对象,并应用复合混合效果。一个复合绘画可以包括两个不同的纹理/图像或其自身的相同纹理/图像,具体取决于您要实现的效果。
 |
+ |
 |
-- Create the object
local object = display.newRect( 100, 100, 160, 160 )
-- Set up the composite paint (distinct images)
local compositePaint = {
type="composite",
paint1={ type="image", filename="image01.png" },
paint2={ type="image", filename="texture.png" }
}
-- Apply the composite paint as the object's fill
object.fill = compositePaint
-- Set a composite blend as the fill effect
object.fill.effect = "composite.add"
 |
→ |
 |
composite.add
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.add"
object.fill.alpha = 1
 |
→ |
 |
composite.average
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.average"
object.fill.alpha = 1
 |
→ |
 |
composite.colorBurn
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.colorBurn"
object.fill.alpha = 1
 |
→ |
 |
composite.colorDodge
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.colorDodge"
object.fill.alpha = 1
 |
→ |
 |
composite.darken
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.darken"
object.fill.alpha = 1
 |
→ |
 |
composite.difference
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.difference"
object.fill.alpha = 1
 |
→ |
 |
composite.exclusion
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.exclusion"
object.fill.alpha = 0.4
 |
→ |
 |
composite.glow
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.glow"
object.fill.alpha = 1
 |
→ |
 |
composite.hardLight
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.hardLight"
object.fill.alpha = 1
 |
→ |
 |
composite.hardMix
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.hardMix"
object.fill.alpha = 0.2
 |
→ |
 |
composite.lighten
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.lighten"
object.fill.alpha = 0.8
 |
→ |
 |
composite.linearLight
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.linearLight"
object.fill.alpha = 0.4
 |
→ |
 |
composite.multiply
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.multiply"
object.fill.alpha = 1
 |
→ |
 |
composite.negation
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.negation"
object.fill.alpha = 0.3
 |
→ |
 |
composite.normalMapWith1DirLight
此复合效果在表面上呈现定向光。在此效果中,dirLightDirection 是一个包含纹理空间中光方向的表。每个轴的原点和生长方向与 composite.normalMapWith1PointLight 中 pointLightPos 所述相同。此方向向量指示了光线从何处射来,而不是光线将前往何处。不必规范化此向量,因为它已经在内部完成。
dirLightColor 参数是一个包含 RGB+A 值的表,而 ambientLightIntensity 指定了强度。
dirLightDirection — 默认 = {1,0,0};最小 = {0,0,0};最大 = {1,1,1}
dirLightColor — 默认 = {1,1,1,1} ; 最小 = {0,0,0,0} ; 最大 = {1,1,1,1}
ambientLightIntensity — 默认 = 0 ; 最小 = 0 ; 最大 = (无)
object.fill = compositePaint
object.fill.effect = "composite.normalMapWith1DirLight"
object.fill.effect.dirLightDirection = { 1, 0, 0 }
object.fill.effect.dirLightColor = { 0.3, 0.4, 1, 0.8 }
object.fill.effect.ambientLightIntensity = 1
 |
→ |
 |
composite.normalMapWith1PointLight
这种复合效果会在表面上渲染点光。在此效果中,pointLightPos 是一个包含纹理空间中光位置的表。此 {x,y,z} 原点是左上角 {0,0,0}。正 x 向右移动,正 y 向下移动,正 z “超出屏幕”朝向观察者移动,表示距离表面的距离。z 没有最大值,但通常此值为 0 和 1 之间。
pointLightColor 参数是一个包含 RGB+A 值的表,并且 ambientLightIntensity 指定从 0 (暗)到 1(满亮)的强度。
attenuationFactors 参数是一个包含漫反射光距离衰减因子的表。在此情况下,{x,y,z} 是常量、线性和平方衰减因子。请注意,距离衰减不会影响环境光强度。要更好地了解衰减因子,请阅读 衰减 和 光的衰减。
pointLightPos — 默认 = {1,0,0} ; 最小 = {0,0,0} ; 最大 = {1,1,1}
pointLightColor — 默认 = {1,1,1,1} ; 最小 = {0,0,0,0} ; 最大 = {1,1,1,1}
ambientLightIntensity — 默认 = 0 ; 最小 = 0 ; 最大 = (无)
attenuationFactors — 默认 = {0.4,3,20} ; 最小 = {0,0,0}
object.fill = compositePaint
object.fill.effect = "composite.normalMapWith1PointLight"
object.fill.effect.pointLightPos = { 0, 1, 1 }
object.fill.effect.pointLightColor = { 1, 0.4, 0.5, 1 }
object.fill.effect.ambientLightIntensity = 1.2
object.fill.effect.attenuationFactors = { 0.4, 3, 0 }
 |
→ |
 |
composite.overlay
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.overlay"
object.fill.alpha = 1
 |
→ |
 |
composite.phoenix
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.phoenix"
object.fill.alpha = 0.5
 |
→ |
 |
composite.pinLight
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.pinLight"
object.fill.alpha = 1
 |
→ |
 |
composite.reflect
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.reflect"
object.fill.alpha = 1
 |
→ |
 |
composite.screen
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.screen"
object.fill.alpha = 1
 |
→ |
 |
composite.softLight
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.softLight"
object.fill.alpha = 1
 |
→ |
 |
composite.subtract
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.subtract"
object.fill.alpha = 0.8
 |
→ |
 |
composite.vividLight
alpha — 默认 = 1;最小 = 0;最大 = 1
object.fill = compositePaint
object.fill.effect = "composite.vividLight"
object.fill.alpha = 1