From 2ede939a62728de045fb220a4be621994805a067 Mon Sep 17 00:00:00 2001 From: tianmo Date: Fri, 11 Sep 2026 09:49:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=85=B3=E9=97=AD=E8=83=8C?= =?UTF-8?q?=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- tests/build-x10-comparison.js | 9 +++++---- tests/pma-color-rendering.html | 2 +- viewer/spine.html | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 2878ab9..07c90fc 100644 --- a/README.md +++ b/README.md @@ -77,9 +77,9 @@ SpineViewer/ ## 使用说明 -预览与手动缩略图使用 WebGL 绘制网格三角形,避免 Canvas 逐三角形裁切造成的细线接缝,覆盖全部九个运行时版本。WebGL 不可用时回退到 Canvas。 +预览与手动缩略图使用 WebGL 绘制网格三角形,避免 Canvas 逐三角形裁切造成的细线接缝,覆盖全部九个运行时版本。贴图从原始文件直接解码到 GPU,避免 PMA 贴图经过 Canvas 中转导致低透明度颜色量化和光晕分层;支持逐顶点 RGB、Alpha 及运行时提供的双色染色。WebGL 不可用时回退到 Canvas,回退路径的染色能力有限。 -“背景”开关默认开启,绘制每格 50×50 世界单位的灰色方格,随骨骼视图一起移动和缩放。背景像素与骨骼在同一个帧缓冲中合成,支持正常、相加、相乘和滤色;关闭方格后使用实色背景。手动缩略图跟随当前背景开关。4.3 等带 `-beta` 后缀的完整版本号也会显示在水印中。 +“背景”开关默认关闭,使用实色背景;手动开启后绘制每格 50×50 世界单位的灰色方格,随骨骼视图一起移动和缩放。背景像素与骨骼在同一个帧缓冲中合成,支持正常、相加、相乘和滤色。手动缩略图跟随当前背景开关。4.3 等带 `-beta` 后缀的完整版本号也会显示在水印中。 加载骨骼时会先使用骨骼数据声明的默认皮肤;没有默认皮肤时使用皮肤列表中的第一个,并立即按 setup pose 重建槽位附件。手动切换皮肤也会执行同样的附件刷新,避免只有下拉框变化而画面为空。 diff --git a/tests/build-x10-comparison.js b/tests/build-x10-comparison.js index 49b3c58..28bbd39 100644 --- a/tests/build-x10-comparison.js +++ b/tests/build-x10-comparison.js @@ -2,10 +2,11 @@ // Local visual diagnostic. The private project/export remain outside version control. const fs = require('fs'), path = require('path'); const root = path.resolve(__dirname, '..'); -const library = '/Users/tianmokeji/Desktop/特效/特效.library/images'; -const source = process.argv[2] || path.join(library, 'MTV7M6B96MAP6.info/x10.skel'); -const atlasPath = process.argv[3] || path.join(library, 'MTV7M6B96RPMA.info/x10.atlas'); -const texturePath = process.argv[4] || path.join(library, 'MTV7M6B9BJ9MS.info/x10.png'); +const source = process.argv[2]; +if (!source) throw Error('Usage: node tests/build-x10-comparison.js x10.skel [x10.atlas] [x10.png] [output.html]'); +const assets = require('../js/spine-utils').discoverAssets(source); +const atlasPath = process.argv[3] || assets.atlasPath; +const texturePath = process.argv[4] || assets.texturePaths['x10.png']; const output = process.argv[5] || '/tmp/spine-x10-comparison.html'; const baseline = process.env.SPINE_COMPARE_BASELINE === '1'; const script = s => ''; diff --git a/tests/pma-color-rendering.html b/tests/pma-color-rendering.html index a2febd8..55d8bea 100644 --- a/tests/pma-color-rendering.html +++ b/tests/pma-color-rendering.html @@ -10,7 +10,7 @@ // Produce a PNG whose low-alpha RGB values can be represented exactly by // Canvas's 8-bit storage; PMA consumers must preserve those encoded values. const encoded=canvas(),pixels=encoded.createImageData(32,32); - for(let i=0;iencoded.canvas.toBlob(resolve)); const image=new Image();image.src=URL.createObjectURL(blob);await image.decode(); diff --git a/viewer/spine.html b/viewer/spine.html index de3d4f5..8fc1f3f 100644 --- a/viewer/spine.html +++ b/viewer/spine.html @@ -140,7 +140,7 @@ 预乘