材质
更新时间:2021-06-17
混合模式
混合模式可以让模型材质与底图做2D方式混合。混合模式需要额外的性能开销
混合方式: Added, Average, Darken, Multiply, ColorBurn, LinearBurn, Lighten, Screen, ColorDodge, LinearDodge, Overlay, SoftLight, HardLight, VividLight, LinearLight, PinLight, HardMix, Difference, Exclusion, Subtract, Divide, Negation, Glow, Reflect, Phoenix, SnowColor, SnowHue。
1、对于普通json节点,在主场景的JSON里面添加Material字段,添加"alphaMode"字段。
"material": {
"common": {
"alphaMode": "Screen"
}
}
name | Description |
---|---|
alphaMode | 27种混合模式中任何一种 |
2、对于gltf模型节点,在Material字段下,添加"alphaMode"字段。
"materials": [
{
"alphaMode": "Screen",
"name": "BlendMaterial",
}
]
name | Description |
---|---|
alphaMode | 27种混合模式中任何一种 |
环境贴图
环境贴图可以让物体反射出周围环境的情况,可用于IBL光照,眼镜反射等材质。
使用方法:在主场景的JSON里面添加Material字段,并把环境贴图放在texture/env下,并设置好环境贴图路径,注意路径不需要带ENV字段。目前支持格式为KTX,HDR,建议使用KTX格式。
"material": {
"common": {
"offsetRepeat": "0,0,1,1",
"textureList": [
{
"textureShaderName": "envMapOrigin", //必须为envMapOrigin
"textureName": "res/texture/panorama.ktx", //环境贴图路径
"intensity" : 1.0 //环境贴图强度
}
]
}
},
name | Description |
---|---|
textureShaderName | 标记Texture的用途,环境贴图默认使用envMapOrigin |
textureName | 贴图路径,支持格式为KTX,HDR,建议使用KTX |
intensity | 环境贴图强度,默认为1.0 |
extra: 对于黑色墨镜,由于反射较低,需要加上clearCoat模拟金属镀层反射。
请在GLTF节点的material下添加,不是主场景的JSON。
"extensions": {
"glasses": { //名字可随意
"clearCoatFactor": 1.0,
"clearCoatRoughnessFactor": 0.0,
"clearCoatColorFactor": [
1.0,
1.0,
1.0
]
}
}
name | Description |
---|---|
clearCoatFactor | 清漆涂层的强度(厚度) |
clearCoatRoughnessFactor | 清漆涂层的光滑程度 |
clearCoatColorFactor | 清漆涂层的颜色 |