diff --git a/package.json b/package.json index f6aaab6..68e0bce 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "material-editor", "private": true, - "version": "1.0.24", + "version": "1.0.25", "type": "module", "scripts": { "dev": "vite", diff --git a/src/components/MaterialAdjuster.vue b/src/components/MaterialAdjuster.vue index 66c5eea..17b667c 100644 --- a/src/components/MaterialAdjuster.vue +++ b/src/components/MaterialAdjuster.vue @@ -40,30 +40,26 @@ - - + + - - + + - - + + - - + + @@ -122,6 +118,7 @@ import { IsNullOrWhitespace } from "../helpers/helper.string"; import { FromDeflateBase64, ToDeflatedBase64 } from "../helpers/helper.material"; import { storeToRefs } from "pinia"; import { DownloadFile } from "../helpers/helper.web"; +import MathHelper from "../helpers/MathHelper"; export interface MaterialRequest { /** 材质名 */ @@ -158,6 +155,39 @@ const textureAdjustment = ref({ moveX: 0, moveY: 0 }); + +const metallic = computed({ + get: () => Material.value.matalness, + set: (val) => { + Material.value.matalness = MathHelper.clamp(val, 0, 1); + UpdateMaterial(); + } +}); + +const roughness = computed({ + get: () => Material.value.roughness, + set: (val) => { + Material.value.roughness = MathHelper.clamp(val, 0, 1); + UpdateMaterial(); + } +}); + +const normalScale = computed({ + get: () => Material.value.bumpScale, + set: (val) => { + Material.value.bumpScale = MathHelper.clamp(val, 0, 1); + UpdateMaterial(); + } +}); + +const emissiveIntensity = computed({ + get: () => Material.value.specular, + set: (val) => { + Material.value.specular = MathHelper.clamp(val, 0, 1); + UpdateMaterial(); + } +}); + const uploading = ref(false); // const model = reactive({ // metallic: Material.value.matalness, @@ -292,8 +322,7 @@ function ClampNumericValue(e: InputEvent) { if (isNaN(min) || isNaN(max)) return; - if (elm.valueAsNumber < min) elm.valueAsNumber = min; - if (elm.valueAsNumber > max) elm.valueAsNumber = max; + elm.valueAsNumber = MathHelper.clamp(elm.valueAsNumber, min, max); } defineExpose({