diff --git a/packages/i18n/src/locales/en/settings.yaml b/packages/i18n/src/locales/en/settings.yaml index 4fc2c0212..8c05d9057 100644 --- a/packages/i18n/src/locales/en/settings.yaml +++ b/packages/i18n/src/locales/en/settings.yaml @@ -122,6 +122,8 @@ live2d: title: Disable model mouse tracking button-disable: title: Disable model mouse tracking + render-scale: + title: Render scale fps: title: FPS description: Limit rendering frame rate @@ -1107,6 +1109,8 @@ theme: title: Settings voices: Voice vrm: + render-scale: + title: Render scale change-model: from-file: Load from File from-file-select: Select diff --git a/packages/i18n/src/locales/es/settings.yaml b/packages/i18n/src/locales/es/settings.yaml index e11a75a5a..e23bd3c87 100644 --- a/packages/i18n/src/locales/es/settings.yaml +++ b/packages/i18n/src/locales/es/settings.yaml @@ -115,6 +115,8 @@ live2d: title: Desactivar seguimiento del ratón del modelo button-disable: title: Disable model mouse tracking + render-scale: + title: Escala de renderizado fps: title: FPS description: Limitar velocidad de fotogramas @@ -1069,6 +1071,8 @@ theme: title: Configuración voices: Voz vrm: + render-scale: + title: Escala de renderizado change-model: from-file: Cargar desde Archivo from-file-select: Seleccionar diff --git a/packages/i18n/src/locales/fr/settings.yaml b/packages/i18n/src/locales/fr/settings.yaml index f80b64707..c925bb41d 100644 --- a/packages/i18n/src/locales/fr/settings.yaml +++ b/packages/i18n/src/locales/fr/settings.yaml @@ -115,6 +115,8 @@ live2d: title: Désactiver le suivi du modèle par la souris button-disable: title: Disable model mouse tracking + render-scale: + title: Échelle de rendu fps: title: FPS description: Limiter la fréquence d'image du rendu @@ -1069,6 +1071,8 @@ theme: title: Paramètres voices: Voix vrm: + render-scale: + title: Échelle de rendu change-model: from-file: Charger depuis un fichier from-file-select: Sélectionner diff --git a/packages/i18n/src/locales/ja/settings.yaml b/packages/i18n/src/locales/ja/settings.yaml index bb0094175..7510f39a3 100644 --- a/packages/i18n/src/locales/ja/settings.yaml +++ b/packages/i18n/src/locales/ja/settings.yaml @@ -115,6 +115,8 @@ live2d: title: モデルのマウストラッキングを無効にする button-disable: title: Disable model mouse tracking + render-scale: + title: レンダースケール fps: title: FPS description: レンダリングフレームレートを制限 @@ -1069,6 +1071,8 @@ theme: title: 設定 voices: 音声 vrm: + render-scale: + title: レンダースケール change-model: from-file: ファイルから読み込む from-file-select: 選択 diff --git a/packages/i18n/src/locales/ko/settings.yaml b/packages/i18n/src/locales/ko/settings.yaml index 2e366c51b..9fe26c98c 100644 --- a/packages/i18n/src/locales/ko/settings.yaml +++ b/packages/i18n/src/locales/ko/settings.yaml @@ -115,6 +115,8 @@ live2d: title: 마우스 포인터 추적 비활성화 button-disable: title: Disable model mouse tracking + render-scale: + title: 렌더 스케일 fps: title: FPS (초당 프레임) description: 렌더링 주사율 제한 @@ -1069,6 +1071,8 @@ theme: title: 설정 voices: 음성 vrm: + render-scale: + title: 렌더 스케일 change-model: from-file: 파일로부터 불러오기 from-file-select: 선택 diff --git a/packages/i18n/src/locales/ru/settings.yaml b/packages/i18n/src/locales/ru/settings.yaml index 68e33ba11..4726056b5 100644 --- a/packages/i18n/src/locales/ru/settings.yaml +++ b/packages/i18n/src/locales/ru/settings.yaml @@ -115,6 +115,8 @@ live2d: title: Отключить слежение за мышью button-disable: title: Disable model mouse tracking + render-scale: + title: Масштаб рендера fps: title: ФПС description: Ограничить скорость рендеринга кадров @@ -1069,6 +1071,8 @@ theme: title: Настройки voices: Голос vrm: + render-scale: + title: Масштаб рендера change-model: from-file: Загрузить из файла from-file-select: Выбрать diff --git a/packages/i18n/src/locales/vi/settings.yaml b/packages/i18n/src/locales/vi/settings.yaml index b56c4754e..31f9c037b 100644 --- a/packages/i18n/src/locales/vi/settings.yaml +++ b/packages/i18n/src/locales/vi/settings.yaml @@ -115,6 +115,8 @@ live2d: title: Tắt theo dõi chuột cho mô hình button-disable: title: Disable model mouse tracking + render-scale: + title: Tỷ lệ render fps: title: FPS description: Giới hạn tốc độ khung hình hiển thị @@ -1069,6 +1071,8 @@ theme: title: Cài Đặt voices: Giọng Nói vrm: + render-scale: + title: Tỷ lệ render change-model: from-file: Tải từ Tệp from-file-select: Chọn diff --git a/packages/i18n/src/locales/zh-Hans/settings.yaml b/packages/i18n/src/locales/zh-Hans/settings.yaml index 62ae17630..31bdda42e 100644 --- a/packages/i18n/src/locales/zh-Hans/settings.yaml +++ b/packages/i18n/src/locales/zh-Hans/settings.yaml @@ -115,6 +115,8 @@ live2d: title: 禁用模型鼠标跟踪 button-disable: title: 禁用live2D模型鼠标追踪 + render-scale: + title: 渲染倍率 fps: title: 帧率 description: 限制渲染帧率 @@ -1069,6 +1071,8 @@ theme: title: 设置 voices: 声线 vrm: + render-scale: + title: 渲染倍率 change-model: from-file: 从文件加载 from-file-select: 选择 diff --git a/packages/i18n/src/locales/zh-Hant/settings.yaml b/packages/i18n/src/locales/zh-Hant/settings.yaml index 68d0c87ed..84bb663c4 100644 --- a/packages/i18n/src/locales/zh-Hant/settings.yaml +++ b/packages/i18n/src/locales/zh-Hant/settings.yaml @@ -115,6 +115,8 @@ live2d: title: 停用模型滑鼠追蹤 button-disable: title: Disable model mouse tracking + render-scale: + title: 渲染倍率 fps: title: FPS description: 限制渲染幀率 @@ -1069,6 +1071,8 @@ theme: title: 設定 voices: 聲線 vrm: + render-scale: + title: 渲染倍率 change-model: from-file: 從檔案載入 from-file-select: 選擇 diff --git a/packages/stage-ui-live2d/src/components/scenes/Live2D.vue b/packages/stage-ui-live2d/src/components/scenes/Live2D.vue index c5a75a494..2ef032bf0 100644 --- a/packages/stage-ui-live2d/src/components/scenes/Live2D.vue +++ b/packages/stage-ui-live2d/src/components/scenes/Live2D.vue @@ -28,6 +28,7 @@ withDefaults(defineProps<{ live2dExpressionEnabled?: boolean live2dShadowEnabled?: boolean live2dMaxFps?: number + live2dRenderScale?: number }>(), { paused: false, focusAt: () => ({ x: 0, y: 0 }), @@ -41,6 +42,7 @@ withDefaults(defineProps<{ live2dExpressionEnabled: true, live2dShadowEnabled: true, live2dMaxFps: 0, + live2dRenderScale: 2, }) const componentState = defineModel<'pending' | 'loading' | 'mounted'>('state', { default: 'pending' }) @@ -73,7 +75,7 @@ defineExpose({ v-model:state="componentStateCanvas" :width="width" :height="height" - :resolution="2" + :resolution="live2dRenderScale" :max-fps="live2dMaxFps" max-h="100dvh" > diff --git a/packages/stage-ui/src/components/scenarios/settings/model-settings/live2d.vue b/packages/stage-ui/src/components/scenarios/settings/model-settings/live2d.vue index c1e0feae7..2205be21d 100644 --- a/packages/stage-ui/src/components/scenarios/settings/model-settings/live2d.vue +++ b/packages/stage-ui/src/components/scenarios/settings/model-settings/live2d.vue @@ -34,6 +34,7 @@ const { live2dExpressionEnabled, live2dShadowEnabled, live2dMaxFps, + live2dRenderScale, } = storeToRefs(settings) const live2d = useLive2d() @@ -306,6 +307,15 @@ function handleMotionSelect(selectedMotionPath: string | number | undefined) { placement="right" /> + + diff --git a/packages/stage-ui/src/components/scenarios/settings/model-settings/vrm.vue b/packages/stage-ui/src/components/scenarios/settings/model-settings/vrm.vue index 773c36194..3cdcae377 100644 --- a/packages/stage-ui/src/components/scenarios/settings/model-settings/vrm.vue +++ b/packages/stage-ui/src/components/scenarios/settings/model-settings/vrm.vue @@ -46,6 +46,7 @@ const { envSelect, skyBoxIntensity, + renderScale, } = storeToRefs(modelStore) const controlsLocked = computed(() => props.runtimeSnapshot.controlsLocked) const canExtractColors = computed(() => props.runtimeSnapshot.canCapturePreview) @@ -110,6 +111,11 @@ const envOptions = computed(() => [ :y-config="{ min: -modelSize.y * 2, max: modelSize.y * 2, step: modelSize.y / 10000, label: 'Y', formatValue: val => val?.toFixed(4) }" :z-config="{ min: -modelSize.z * 2, max: modelSize.z * 2, step: modelSize.z / 10000, label: 'Z', formatValue: val => val?.toFixed(4) }" /> + { live2dExpressionEnabled: live2dRefs.live2dExpressionEnabled, live2dShadowEnabled: live2dRefs.live2dShadowEnabled, live2dMaxFps: live2dRefs.live2dMaxFps, + live2dRenderScale: live2dRefs.live2dRenderScale, // Theme settings themeColorsHue: themeRefs.themeColorsHue, diff --git a/packages/stage-ui/src/stores/settings/live2d.ts b/packages/stage-ui/src/stores/settings/live2d.ts index cb726a0d8..b11872420 100644 --- a/packages/stage-ui/src/stores/settings/live2d.ts +++ b/packages/stage-ui/src/stores/settings/live2d.ts @@ -27,6 +27,7 @@ export const useSettingsLive2d = defineStore('settings-live2d', () => { const live2dExpressionEnabled = useLocalStorageManualReset('settings/live2d/expression-enabled', false) const live2dShadowEnabled = useLocalStorageManualReset('settings/live2d/shadow-enabled', true) const live2dMaxFps = useLocalStorageManualReset('settings/live2d/max-fps', 0) + const live2dRenderScale = useLocalStorageManualReset('settings/live2d/render-scale', 2) function resetState() { live2dDisableFocus.reset() @@ -36,6 +37,7 @@ export const useSettingsLive2d = defineStore('settings-live2d', () => { live2dExpressionEnabled.reset() live2dShadowEnabled.reset() live2dMaxFps.reset() + live2dRenderScale.reset() } return { @@ -46,6 +48,7 @@ export const useSettingsLive2d = defineStore('settings-live2d', () => { live2dExpressionEnabled, live2dShadowEnabled, live2dMaxFps, + live2dRenderScale, resetState, } })