hpg-r3f-model-scene
Version:
Pretty Footer react component used in ant.design
617 lines (614 loc) • 28.3 kB
JavaScript
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
import _regeneratorRuntime from "@babel/runtime/regenerator";
import { AlphaFormat, LuminanceFormat, RGBAFormat, LuminanceAlphaFormat, CustomBlending, DstAlphaFactor, NormalBlending, OneMinusSrcAlphaFactor, TextureLoader, NearestFilter, RepeatWrapping, Color, SRGBColorSpace, Vector2, Texture, LinearFilter, LinearMipmapLinearFilter, NearestMipmapLinearFilter, MathUtils } from 'three';
import { AlphaMode } from '../interface';
import { MaterialFunc, MAP, Process } from './enums';
import eventsBus from '../common/events';
import { get, set } from 'lodash';
import { getJsonByMaterial, getMaterialByJson } from './gltf';
var texLoader = new TextureLoader();
var setMaterial = {
setMetalness: function setMetalness(material, metalness) {
material.metalness = metalness.metalness;
},
setRoughness: function setRoughness(material, roughness) {
material.roughness = roughness.roughness;
},
setColor: function setColor(material, color) {
material.color = new Color(color.color);
// material.color.convertSRGBToLinear();
},
setMaterialMap: function setMaterialMap(material, textureMap) {
var customTexture = textureMap.texture,
name = textureMap.name;
console.log(customTexture, 'customTexture', name);
var materialTexture = null;
if (name === MAP.MAP) {
materialTexture = material.map;
} else if (name === MAP.AO) {
materialTexture = material.map;
} else if (name === MAP.NORMAL) {
materialTexture = material.normalMap;
} else if (name === MAP.METALNESS) {
materialTexture = material.metalnessMap;
} else if (name === MAP.BUMP) {
materialTexture = material.bumpMap;
} else if (name === MAP.DISPLACEMENT) {
materialTexture = material.displacementMap;
} else if (name === MAP.ALPHA) {
materialTexture = material.alphaMap;
} else if (name === MAP.SHEENCOLORMAP) {
materialTexture = material.sheenColorMap;
} else if (name === MAP.CLEARCOAT) {
materialTexture = material.clearcoatMap;
} else if (name === MAP.CLEARCOATNORMAL) {
materialTexture = material.clearcoatNormalMap;
} else if (name === MAP.CLEARCOATROUGHNESS) {
materialTexture = material.clearcoatRoughnessMap;
} else if (name === MAP.EMISSIVE) {
materialTexture = material.emissiveMap;
}
if (materialTexture instanceof Texture) {
materialTexture.dispose();
}
if (customTexture === null || customTexture === void 0 ? void 0 : customTexture.fullUrl) {
texLoader.load(customTexture.fullUrl, function (texture) {
// texture.mapping = UVMapping;
// texture.minFilter = NearestFilter;
// texture.magFilter = NearestFilter;
texture.colorSpace = SRGBColorSpace;
texture.wrapS = RepeatWrapping;
texture.wrapT = RepeatWrapping;
texture.needsUpdate = true;
texture.userData = customTexture.userData;
set(material, textureMap.name, texture.clone());
material.needsUpdate = true;
});
} else {
materialTexture = null;
set(material, textureMap.name, null);
material.needsUpdate = true;
}
},
setMaterialTextureFormat: function setMaterialTextureFormat(material, format) {
var texture = get(material, format.name);
if (!(texture === null || texture === void 0 ? void 0 : texture.isTexture)) {
console.warn('not found texture:', format.name);
return;
}
var value = format.format;
if (value === RGBAFormat) {
texture.format = RGBAFormat;
} else if (value === AlphaFormat) {
texture.format = AlphaFormat;
} else if (value === LuminanceFormat) {
texture.format = LuminanceFormat;
} else if (value === LuminanceAlphaFormat) {
texture.format = LuminanceAlphaFormat;
}
texture.needsUpdate = true;
},
setMaterialTextureFiltering: function setMaterialTextureFiltering(material, textureFiltering) {
var texture = get(material, textureFiltering.name);
if (!(texture === null || texture === void 0 ? void 0 : texture.isTexture)) {
console.warn('not found texture:', textureFiltering.name);
return;
}
var value = textureFiltering.filtering;
if (value === NearestFilter) {
texture.minFilter = NearestFilter;
texture.magFilter = NearestFilter;
} else if (value === NearestMipmapLinearFilter) {
texture.minFilter = NearestMipmapLinearFilter;
texture.magFilter = NearestFilter;
} else if (value === LinearMipmapLinearFilter) {
texture.minFilter = LinearMipmapLinearFilter;
texture.magFilter = LinearFilter;
} else if (value === LinearFilter) {
texture.minFilter = LinearFilter;
texture.magFilter = LinearFilter;
}
texture.needsUpdate = true;
set(material, textureFiltering.name, texture);
},
setMaterialTextureWrapT: function setMaterialTextureWrapT(material, textureMapping) {
var texture = get(material, textureMapping.name);
if (!(texture === null || texture === void 0 ? void 0 : texture.isTexture)) {
console.warn('not found texture:', textureMapping.name);
return;
}
texture.wrapT = textureMapping.wrapT;
texture.needsUpdate = true;
set(material, textureMapping.name, texture);
},
setMaterialTextureWrapS: function setMaterialTextureWrapS(material, textureMapping) {
var texture = get(material, textureMapping.name);
if (!(texture === null || texture === void 0 ? void 0 : texture.isTexture)) {
console.warn('not found texture:', textureMapping.name);
return;
}
texture.wrapS = textureMapping.wrapS;
texture.needsUpdate = true;
set(material, textureMapping.name, texture);
},
setMaterialTextureMapping: function setMaterialTextureMapping(material, textureMapping) {
var texture = get(material, textureMapping.name);
if (!(texture === null || texture === void 0 ? void 0 : texture.isTexture)) {
console.warn('not found texture:', textureMapping.name);
return;
}
texture.mapping = textureMapping.mapping;
texture.needsUpdate = true;
set(material, textureMapping.name, texture);
},
setMaterialTextureRotation: function setMaterialTextureRotation(material, textureRotation) {
var texture = get(material, textureRotation.name);
if (!(texture === null || texture === void 0 ? void 0 : texture.isTexture)) {
console.warn('not found texture:', textureRotation.name);
return;
}
texture.rotation = MathUtils.degToRad(textureRotation.rotation);
texture.needsUpdate = true;
},
setMaterialTextureOffset: function setMaterialTextureOffset(material, textureOffset) {
var texture = get(material, textureOffset.name);
if (!(texture === null || texture === void 0 ? void 0 : texture.isTexture)) {
console.warn('not found texture:', textureOffset.name);
return;
}
texture.repeat = textureOffset.offset;
texture.needsUpdate = true;
set(material, textureOffset.name, texture);
},
setMaterialTextureRepeat: function setMaterialTextureRepeat(material, textureRepeat) {
var texture = get(material, textureRepeat.name);
if (!(texture === null || texture === void 0 ? void 0 : texture.isTexture)) {
console.warn('not found texture:', textureRepeat.name);
return;
}
texture.repeat = textureRepeat.repeat;
texture.needsUpdate = true;
set(material, textureRepeat.name, texture);
},
setReflectivity: function setReflectivity(material, reflectivity) {
material.reflectivity = reflectivity.reflectivity;
},
setIOR: function setIOR(material, value) {
material.ior = value.ior;
},
setEnvMapIntensity: function setEnvMapIntensity(material, value) {
material.envMapIntensity = value.intensity;
},
setAoIntensity: function setAoIntensity(material, value) {
material.aoMapIntensity = value.intensity;
},
setDisplacementScale: function setDisplacementScale(material, value) {
material.displacementScale = value.displacementScale;
material.needsUpdate = true;
},
setNormalScale: function setNormalScale(material, value) {
material.normalScale.set(1 * value.normalScale, -1 * value.normalScale);
},
setBumpScale: function setBumpScale(material, value) {
material.bumpScale = value.bumpScale;
},
setSheen: function setSheen(material, value) {
material.sheen = value.sheen;
},
setMaterialSheenTint: function setMaterialSheenTint(material, value) {
var c = new Color(value.sheenColor);
// material.sheenColor = c.convertSRGBToLinear();
},
setMaterialSheenRoughness: function setMaterialSheenRoughness(material, value) {
material.sheenRoughness = value.sheenRoughness;
},
setClearcoat: function setClearcoat(material, value) {
material.clearcoat = value.clearcoat;
},
setClearcoatNormal: function setClearcoatNormal(material, value) {
material.clearcoatNormalScale = new Vector2(value.scale);
},
setClearcoatRoughness: function setClearcoatRoughness(material, value) {
material.clearcoatRoughness = value.clearcoatRoughness;
},
setTransmission: function setTransmission(material, value) {
material.transmission = value.transmission;
},
setAlphaMode: function setAlphaMode(material, alphaModeValue) {
var value = alphaModeValue.mode;
console.log(alphaModeValue, 'setAlphaMode');
if (value === AlphaMode.OPAQUE) {
material.transparent = true;
material.depthWrite = true;
//恢复默认值
material.alphaTest = 0;
material.opacity = 1;
} else if (value === AlphaMode.BLEND) {
material.transparent = true;
material.depthWrite = false;
//恢复默认值
material.alphaTest = 0;
material.opacity = 1;
} else if (value === AlphaMode.MASK) {
material.transparent = false;
material.depthWrite = true;
//恢复默认值
material.alphaTest = 0.5;
material.opacity = 1;
}
},
setOpacity: function setOpacity(material, value) {
material.transparent = value.opacity < 1;
material.opacity = value.opacity;
},
setAlphaTest: function setAlphaTest(material, value) {
material.transparent = false;
material.opacity = 1;
material.depthWrite = true;
material.alphaTest = value.alphaTest;
},
invertAlphaTexture: function invertAlphaTexture(material, value) {
var enabled = value.enabled;
if (enabled) {
material.blending = CustomBlending; // - 5
material.blendSrc = OneMinusSrcAlphaFactor;
material.blendSrcAlpha = 1;
material.blendDst = DstAlphaFactor;
material.blendDstAlpha = 0;
} else {
material.blending = NormalBlending; // - 1
}
},
setEmissiveIntensity: function setEmissiveIntensity(material, value) {
material.emissiveIntensity = value.intensity;
material.needsUpdate = true;
},
setEmissive: function setEmissive(material, color) {
material.emissive = new Color(color.color);
// material.emissive.convertSRGBToLinear();
},
setSide: function setSide(material, value) {
material.side = value.side;
material.needsUpdate = true;
},
setSpecularIntensity: function setSpecularIntensity(material, value) {
material.specularIntensity = value.intensity;
material.needsUpdate = true;
},
setSpecularColor: function setSpecularColor(material, color) {
material.specularColor = new Color(color.color);
// material.specularColor.convertSRGBToLinear();
},
exportScene: function () {
var _exportScene = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(material) {
return _regeneratorRuntime.wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return getJsonByMaterial(material);
case 2:
return _context.abrupt("return", _context.sent);
case 3:
case "end":
return _context.stop();
}
}, _callee);
}));
function exportScene(_x) {
return _exportScene.apply(this, arguments);
}
return exportScene;
}(),
materialChange: function () {
var _materialChange = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(material, jsonConfig) {
var _physicalMaterial;
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return getMaterialByJson(jsonConfig);
case 2:
_physicalMaterial = _context2.sent;
return _context2.abrupt("return", _physicalMaterial);
case 4:
case "end":
return _context2.stop();
}
}, _callee2);
}));
function materialChange(_x2, _x3) {
return _materialChange.apply(this, arguments);
}
return materialChange;
}()
};
export var setMaterialOnMessage = /*#__PURE__*/function () {
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(action, material, params) {
var result;
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.t0 = action;
_context3.next = _context3.t0 === MaterialFunc.SET_MATERIAL_COLOR ? 3 : _context3.t0 === MaterialFunc.SET_MATERIAL_METALNESS ? 5 : _context3.t0 === MaterialFunc.SET_MATERIAL_ROUGHNESS ? 7 : _context3.t0 === MaterialFunc.SET_MATERIAL_MAP ? 9 : _context3.t0 === MaterialFunc.SET_MATERIAL_TEXTURE_FORMAT ? 11 : _context3.t0 === MaterialFunc.SET_MATERIAL_TEXTURE_FILTERING ? 13 : _context3.t0 === MaterialFunc.SET_MATERIAL_TEXTURE_WRAPT ? 15 : _context3.t0 === MaterialFunc.SET_MATERIAL_TEXTURE_WRAPS ? 17 : _context3.t0 === MaterialFunc.SET_MATERIAL_TEXTURE_MAPPING ? 19 : _context3.t0 === MaterialFunc.SET_MATERIAL_TEXTURE_ROTATION ? 21 : _context3.t0 === MaterialFunc.SET_MATERIAL_TEXTURE_OFFSET ? 23 : _context3.t0 === MaterialFunc.SET_MATERIAL_TEXTURE_REPEAT ? 25 : _context3.t0 === MaterialFunc.SET_MATERIAL_REFLECTIVITY ? 27 : _context3.t0 === MaterialFunc.SET_MATERIAL_IOR ? 29 : _context3.t0 === MaterialFunc.SET_MATEIAL_ENV_MAP_INTENSITY ? 31 : _context3.t0 === MaterialFunc.SET_MATERIAL_AO_INTENSITY ? 33 : _context3.t0 === MaterialFunc.SET_MATERIAL_DISPLACEMENT_SCALE ? 35 : _context3.t0 === MaterialFunc.SET_MATERIAL_NORMAL_SCALE ? 37 : _context3.t0 === MaterialFunc.SET_MATERIAL_BUMP_SCALE ? 39 : _context3.t0 === MaterialFunc.SET_MATERIAL_SHEEN ? 41 : _context3.t0 === MaterialFunc.SET_MATERIAL_SHEEN_TINT ? 43 : _context3.t0 === MaterialFunc.SET_MATERIAL_SHEEN_ROUGHNESS ? 45 : _context3.t0 === MaterialFunc.SET_CLEARCOAT ? 47 : _context3.t0 === MaterialFunc.SET_CLEARCOAT_NORMAL ? 49 : _context3.t0 === MaterialFunc.SET_CLEARCOAT_ROUGHNESS ? 51 : _context3.t0 === MaterialFunc.SET_MATERIAL_TRANSMISSION ? 53 : _context3.t0 === MaterialFunc.SET_MATERIAL_ALPHA_MODE ? 55 : _context3.t0 === MaterialFunc.SET_MATERIAL_OPACITY ? 57 : _context3.t0 === MaterialFunc.SET_MATEIAL_ALPHA_TEST ? 59 : _context3.t0 === MaterialFunc.SET_MATERIAL_ALPHA_INVERT_TEXTURE ? 61 : _context3.t0 === MaterialFunc.SET_MATERIAL_EMISSIVE_INTENSITY ? 63 : _context3.t0 === MaterialFunc.SET_MATERIAL_EMISSIVE ? 65 : _context3.t0 === MaterialFunc.SET_MATERIAL_SIDE ? 67 : _context3.t0 === MaterialFunc.SET_MATERIAL_SPECULAR_INTENSITY ? 69 : _context3.t0 === MaterialFunc.SET_MATERIAL_SPECULAR_COLOR ? 71 : _context3.t0 === MaterialFunc.EXPORT_SCENE ? 73 : _context3.t0 === MaterialFunc.MATERIAL_CHANGE ? 77 : 81;
break;
case 3:
setMaterial.setColor(material, params);
return _context3.abrupt("break", 82);
case 5:
setMaterial.setMetalness(material, params);
return _context3.abrupt("break", 82);
case 7:
setMaterial.setRoughness(material, params);
return _context3.abrupt("break", 82);
case 9:
setMaterial.setMaterialMap(material, params);
return _context3.abrupt("break", 82);
case 11:
setMaterial.setMaterialTextureFormat(material, params);
return _context3.abrupt("break", 82);
case 13:
setMaterial.setMaterialTextureFiltering(material, params);
return _context3.abrupt("break", 82);
case 15:
setMaterial.setMaterialTextureWrapT(material, params);
return _context3.abrupt("break", 82);
case 17:
setMaterial.setMaterialTextureWrapS(material, params);
return _context3.abrupt("break", 82);
case 19:
setMaterial.setMaterialTextureMapping(material, params);
return _context3.abrupt("break", 82);
case 21:
setMaterial.setMaterialTextureRotation(material, params);
return _context3.abrupt("break", 82);
case 23:
setMaterial.setMaterialTextureOffset(material, params);
return _context3.abrupt("break", 82);
case 25:
setMaterial.setMaterialTextureRepeat(material, params);
return _context3.abrupt("break", 82);
case 27:
setMaterial.setReflectivity(material, params);
return _context3.abrupt("break", 82);
case 29:
setMaterial.setIOR(material, params);
return _context3.abrupt("break", 82);
case 31:
setMaterial.setEnvMapIntensity(material, params);
return _context3.abrupt("break", 82);
case 33:
setMaterial.setEnvMapIntensity(material, params);
return _context3.abrupt("break", 82);
case 35:
setMaterial.setDisplacementScale(material, params);
return _context3.abrupt("break", 82);
case 37:
setMaterial.setNormalScale(material, params);
return _context3.abrupt("break", 82);
case 39:
setMaterial.setBumpScale(material, params);
return _context3.abrupt("break", 82);
case 41:
setMaterial.setSheen(material, params);
return _context3.abrupt("break", 82);
case 43:
setMaterial.setMaterialSheenTint(material, params);
return _context3.abrupt("break", 82);
case 45:
setMaterial.setMaterialSheenTint(material, params);
return _context3.abrupt("break", 82);
case 47:
setMaterial.setClearcoat(material, params);
return _context3.abrupt("break", 82);
case 49:
setMaterial.setClearcoatNormal(material, params);
return _context3.abrupt("break", 82);
case 51:
setMaterial.setClearcoatRoughness(material, params);
return _context3.abrupt("break", 82);
case 53:
setMaterial.setTransmission(material, params);
return _context3.abrupt("break", 82);
case 55:
setMaterial.setAlphaMode(material, params);
return _context3.abrupt("break", 82);
case 57:
setMaterial.setOpacity(material, params);
return _context3.abrupt("break", 82);
case 59:
setMaterial.setAlphaTest(material, params);
return _context3.abrupt("break", 82);
case 61:
setMaterial.invertAlphaTexture(material, params);
return _context3.abrupt("break", 82);
case 63:
setMaterial.setEmissiveIntensity(material, params);
return _context3.abrupt("break", 82);
case 65:
setMaterial.setEmissive(material, params);
return _context3.abrupt("break", 82);
case 67:
setMaterial.setSide(material, params);
return _context3.abrupt("break", 82);
case 69:
setMaterial.setSpecularIntensity(material, params);
return _context3.abrupt("break", 82);
case 71:
setMaterial.setSpecularColor(material, params);
return _context3.abrupt("break", 82);
case 73:
_context3.next = 75;
return setMaterial.exportScene(material);
case 75:
result = _context3.sent;
return _context3.abrupt("break", 82);
case 77:
_context3.next = 79;
return setMaterial.materialChange(material, params);
case 79:
result = _context3.sent;
return _context3.abrupt("break", 82);
case 81:
return _context3.abrupt("break", 82);
case 82:
return _context3.abrupt("return", result || null);
case 83:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function setMaterialOnMessage(_x4, _x5, _x6) {
return _ref.apply(this, arguments);
};
}();
export var setMaterialActions = [MaterialFunc.SET_MATERIAL_COLOR, MaterialFunc.SET_MATERIAL_METALNESS, MaterialFunc.SET_MATERIAL_ROUGHNESS, MaterialFunc.SET_MATERIAL_MAP, MaterialFunc.SET_MATERIAL_TEXTURE_FORMAT, MaterialFunc.SET_MATERIAL_TEXTURE_FILTERING, MaterialFunc.SET_MATERIAL_TEXTURE_WRAPT, MaterialFunc.SET_MATERIAL_TEXTURE_WRAPS, MaterialFunc.SET_MATERIAL_TEXTURE_ROTATION, MaterialFunc.SET_MATERIAL_TEXTURE_OFFSET, MaterialFunc.SET_MATERIAL_TEXTURE_REPEAT, MaterialFunc.SET_MATERIAL_REFLECTIVITY, MaterialFunc.SET_MATERIAL_IOR, MaterialFunc.SET_MATERIAL_METALNESS_MAP, MaterialFunc.SET_MATEIAL_ENV_MAP_INTENSITY, MaterialFunc.SET_MATERIAL_AO_INTENSITY, MaterialFunc.SET_MATERIAL_NORMAL_SCALE, MaterialFunc.SET_MATERIAL_BUMP_SCALE, MaterialFunc.SET_MATERIAL_SHEEN, MaterialFunc.SET_MATERIAL_SHEEN_TINT, MaterialFunc.SET_MATERIAL_SHEEN_ROUGHNESS, MaterialFunc.SET_CLEARCOAT, MaterialFunc.SET_CLEARCOAT_NORMAL, MaterialFunc.SET_CLEARCOAT_ROUGHNESS, MaterialFunc.SET_MATERIAL_TRANSMISSION, MaterialFunc.SET_MATERIAL_ALPHA_MODE, MaterialFunc.SET_MATERIAL_OPACITY, MaterialFunc.SET_MATEIAL_ALPHA_TEST, MaterialFunc.SET_MATERIAL_ALPHA_INVERT_TEXTURE, MaterialFunc.SET_MATERIAL_EMISSIVE_INTENSITY, MaterialFunc.SET_MATERIAL_EMISSIVE, MaterialFunc.SET_MATERIAL_SIDE, MaterialFunc.SET_MATERIAL_SPECULAR_INTENSITY, MaterialFunc.SET_MATERIAL_SPECULAR_COLOR, MaterialFunc.EXPORT_SCENE, MaterialFunc.MATERIAL_CHANGE];
export default setMaterial;
export var setMaterialMessage = {
setColor: function setColor(color) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_COLOR, color);
},
setMetalness: function setMetalness(metalness) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_METALNESS, metalness);
},
setRoughness: function setRoughness(roughness) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_ROUGHNESS, roughness);
},
setMaterialMap: function setMaterialMap(textureMap) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_MAP, textureMap);
},
setMaterialTextureFormat: function setMaterialTextureFormat(format) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_TEXTURE_FORMAT, format);
},
setMaterialTextureFiltering: function setMaterialTextureFiltering(textureFiltering) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_TEXTURE_FILTERING, textureFiltering);
},
setMaterialTextureWrapT: function setMaterialTextureWrapT(textureWrapping) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_TEXTURE_WRAPT, textureWrapping);
},
setMaterialTextureWrapS: function setMaterialTextureWrapS(textureWrapping) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_TEXTURE_WRAPS, textureWrapping);
},
setMaterialTextureMapping: function setMaterialTextureMapping(textureMapping) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_TEXTURE_MAPPING, textureMapping);
},
setMaterialTextureRotation: function setMaterialTextureRotation(textureRotation) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_TEXTURE_ROTATION, textureRotation);
},
setMaterialTextureOffset: function setMaterialTextureOffset(textureOffset) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_TEXTURE_OFFSET, textureOffset);
},
setMaterialTextureRepeat: function setMaterialTextureRepeat(textureRepeat) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_TEXTURE_REPEAT, textureRepeat);
},
setReflectivity: function setReflectivity(reflectivity) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_REFLECTIVITY, reflectivity);
},
setIOR: function setIOR(ior) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_IOR, ior);
},
setEnvMapIntensity: function setEnvMapIntensity(intensity) {
eventsBus.emit(MaterialFunc.SET_MATEIAL_ENV_MAP_INTENSITY, intensity);
},
setAoIntensity: function setAoIntensity(intensity) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_AO_INTENSITY, intensity);
},
setDisplacementScale: function setDisplacementScale(value) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_DISPLACEMENT_SCALE, value);
},
setNormalScale: function setNormalScale(value) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_NORMAL_SCALE, value);
},
setBumpScale: function setBumpScale(value) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_BUMP_SCALE, value);
},
setSheen: function setSheen(value) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_SHEEN, value);
},
setMaterialSheenTint: function setMaterialSheenTint(value) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_SHEEN_TINT, value);
},
setMaterialSheenRoughness: function setMaterialSheenRoughness(value) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_SHEEN_ROUGHNESS, value);
},
setClearcoat: function setClearcoat(value) {
eventsBus.emit(MaterialFunc.SET_CLEARCOAT, value);
},
setClearcoatNormal: function setClearcoatNormal(value) {
eventsBus.emit(MaterialFunc.SET_CLEARCOAT_NORMAL, value);
},
setClearcoatRoughness: function setClearcoatRoughness(value) {
eventsBus.emit(MaterialFunc.SET_CLEARCOAT_ROUGHNESS, value);
},
setTransmission: function setTransmission(value) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_TRANSMISSION, value);
},
setAlphaMode: function setAlphaMode(value) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_ALPHA_MODE, value);
},
setOpacity: function setOpacity(value) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_OPACITY, value);
},
setAlphaTest: function setAlphaTest(value) {
eventsBus.emit(MaterialFunc.SET_MATEIAL_ALPHA_TEST, value);
},
invertAlphaTexture: function invertAlphaTexture(value) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_ALPHA_INVERT_TEXTURE, value);
},
setEmissiveIntensity: function setEmissiveIntensity(value) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_EMISSIVE_INTENSITY, value);
},
setEmissive: function setEmissive(value) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_EMISSIVE, value);
},
setSide: function setSide(value) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_SIDE, value);
},
setSpecularIntensity: function setSpecularIntensity(value) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_SPECULAR_INTENSITY, value);
},
setSpecularColor: function setSpecularColor(value) {
eventsBus.emit(MaterialFunc.SET_MATERIAL_SPECULAR_COLOR, value);
},
exportScene: function exportScene() {
eventsBus.emit(MaterialFunc.EXPORT_SCENE);
},
screenshot: function screenshot(value) {
eventsBus.emit(Process.SCREEN_SHOT, value);
},
materialChange: function materialChange(value) {
eventsBus.emit(MaterialFunc.MATERIAL_CHANGE, value);
}
};
export var setBackgroundActions = [MaterialFunc.SET_BACKGROUND];
export var setBackgroundMessage = {
setBackground: function setBackground(color) {
eventsBus.emit(MaterialFunc.SET_BACKGROUND, color);
}
};
export var setBackgroundOnMessage = /*#__PURE__*/function () {
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(action, params) {
var result;
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
_context4.t0 = action;
_context4.next = _context4.t0 === MaterialFunc.SET_BACKGROUND ? 3 : 5;
break;
case 3:
result = params;
return _context4.abrupt("break", 6);
case 5:
return _context4.abrupt("break", 6);
case 6:
return _context4.abrupt("return", result || null);
case 7:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return function setBackgroundOnMessage(_x7, _x8) {
return _ref2.apply(this, arguments);
};
}();