From dd7a6511444f1e1f818f7e3339ff79a44a8f0e2d Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Thu, 17 Mar 2022 11:48:32 +0100 Subject: [PATCH 1/2] [ts][threejs] Allow passing material customizer to SkeletonMesh. --- spine-ts/spine-threejs/example/index.html | 3 ++- spine-ts/spine-threejs/src/SkeletonMesh.ts | 8 +++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/spine-ts/spine-threejs/example/index.html b/spine-ts/spine-threejs/example/index.html index ca632b15d..fdeda06d3 100644 --- a/spine-ts/spine-threejs/example/index.html +++ b/spine-ts/spine-threejs/example/index.html @@ -81,8 +81,9 @@ var skeletonData = skeletonJson.readSkeletonData(assetManager.require(skeletonFile)); // Create a SkeletonMesh from the data and attach it to the scene - skeletonMesh = new spine.SkeletonMesh(skeletonData, function (parameters) { + skeletonMesh = new spine.SkeletonMesh(skeletonData, (parameters) => { parameters.depthTest = false; + parameters.alphaTest = 0.5; }); skeletonMesh.state.setAnimation(0, animation, true); mesh.add(skeletonMesh); diff --git a/spine-ts/spine-threejs/src/SkeletonMesh.ts b/spine-ts/spine-threejs/src/SkeletonMesh.ts index 46927fd2e..3d4eb5903 100644 --- a/spine-ts/spine-threejs/src/SkeletonMesh.ts +++ b/spine-ts/spine-threejs/src/SkeletonMesh.ts @@ -32,9 +32,7 @@ import { MeshBatcher } from "./MeshBatcher"; import * as THREE from "three"; import { ThreeJsTexture } from "./ThreeJsTexture"; -export interface SkeletonMeshMaterialParametersCustomizer { - (materialParameters: THREE.ShaderMaterialParameters): void; -} +export type SkeletonMeshMaterialParametersCustomizer = (materialParameters: THREE.ShaderMaterialParameters) => void; export class SkeletonMeshMaterial extends THREE.ShaderMaterial { constructor (customizer: SkeletonMeshMaterialParametersCustomizer) { @@ -103,7 +101,7 @@ export class SkeletonMesh extends THREE.Object3D { private vertices = Utils.newFloatArray(1024); private tempColor = new Color(); - constructor (skeletonData: SkeletonData) { + constructor (skeletonData: SkeletonData, private materialCustomerizer: SkeletonMeshMaterialParametersCustomizer = (material) => { }) { super(); this.skeleton = new Skeleton(skeletonData); @@ -138,7 +136,7 @@ export class SkeletonMesh extends THREE.Object3D { private nextBatch () { if (this.batches.length == this.nextBatchIndex) { - let batch = new MeshBatcher(); + let batch = new MeshBatcher(10920, this.materialCustomerizer); this.add(batch); this.batches.push(batch); } From b23ff3b216af1eb684644f41159636b059f9f117 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Thu, 17 Mar 2022 11:54:09 +0100 Subject: [PATCH 2/2] [ts] 4.0.24 release. --- spine-ts/package-lock.json | 30 ++++++++++++++--------------- spine-ts/package.json | 2 +- spine-ts/spine-canvas/package.json | 4 ++-- spine-ts/spine-core/package.json | 2 +- spine-ts/spine-player/package.json | 4 ++-- spine-ts/spine-threejs/package.json | 4 ++-- spine-ts/spine-webgl/package.json | 4 ++-- 7 files changed, 25 insertions(+), 25 deletions(-) diff --git a/spine-ts/package-lock.json b/spine-ts/package-lock.json index 9f52e01a0..f6c616669 100644 --- a/spine-ts/package-lock.json +++ b/spine-ts/package-lock.json @@ -1,12 +1,12 @@ { "name": "@esotericsoftware/spine-ts", - "version": "4.0.23", + "version": "4.0.24", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@esotericsoftware/spine-ts", - "version": "4.0.23", + "version": "4.0.24", "license": "LicenseRef-LICENSE", "workspaces": [ "spine-core", @@ -7951,41 +7951,41 @@ }, "spine-canvas": { "name": "@esotericsoftware/spine-canvas", - "version": "4.0.23", + "version": "4.0.24", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "^4.0.23" + "@esotericsoftware/spine-core": "^4.0.24" } }, "spine-core": { "name": "@esotericsoftware/spine-core", - "version": "4.0.23", + "version": "4.0.24", "license": "LicenseRef-LICENSE" }, "spine-player": { "name": "@esotericsoftware/spine-player", - "version": "4.0.23", + "version": "4.0.24", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-webgl": "^4.0.23" + "@esotericsoftware/spine-webgl": "^4.0.24" } }, "spine-threejs": { "name": "@esotericsoftware/spine-threejs", - "version": "4.0.23", + "version": "4.0.24", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "^4.0.23", + "@esotericsoftware/spine-core": "^4.0.24", "@types/three": "^0.133.1", "three": "^0.133.1" } }, "spine-webgl": { "name": "@esotericsoftware/spine-webgl", - "version": "4.0.23", + "version": "4.0.24", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "^4.0.23" + "@esotericsoftware/spine-core": "^4.0.24" } } }, @@ -7993,7 +7993,7 @@ "@esotericsoftware/spine-canvas": { "version": "file:spine-canvas", "requires": { - "@esotericsoftware/spine-core": "^4.0.23" + "@esotericsoftware/spine-core": "^4.0.24" } }, "@esotericsoftware/spine-core": { @@ -8002,13 +8002,13 @@ "@esotericsoftware/spine-player": { "version": "file:spine-player", "requires": { - "@esotericsoftware/spine-webgl": "^4.0.23" + "@esotericsoftware/spine-webgl": "^4.0.24" } }, "@esotericsoftware/spine-threejs": { "version": "file:spine-threejs", "requires": { - "@esotericsoftware/spine-core": "^4.0.23", + "@esotericsoftware/spine-core": "^4.0.24", "@types/three": "^0.133.1", "three": "^0.133.1" } @@ -8016,7 +8016,7 @@ "@esotericsoftware/spine-webgl": { "version": "file:spine-webgl", "requires": { - "@esotericsoftware/spine-core": "^4.0.23" + "@esotericsoftware/spine-core": "^4.0.24" } }, "@types/offscreencanvas": { diff --git a/spine-ts/package.json b/spine-ts/package.json index ca152a5af..fd468f0c3 100644 --- a/spine-ts/package.json +++ b/spine-ts/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-ts", - "version": "4.0.23", + "version": "4.0.24", "description": "The official Spine Runtimes for the web.", "files": [ "README.md" diff --git a/spine-ts/spine-canvas/package.json b/spine-ts/spine-canvas/package.json index 55bec6035..2dd386a1a 100644 --- a/spine-ts/spine-canvas/package.json +++ b/spine-ts/spine-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-canvas", - "version": "4.0.23", + "version": "4.0.24", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -30,6 +30,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-core": "^4.0.23" + "@esotericsoftware/spine-core": "^4.0.24" } } \ No newline at end of file diff --git a/spine-ts/spine-core/package.json b/spine-ts/spine-core/package.json index 097d39042..996c9f98c 100644 --- a/spine-ts/spine-core/package.json +++ b/spine-ts/spine-core/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-core", - "version": "4.0.23", + "version": "4.0.24", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/spine-ts/spine-player/package.json b/spine-ts/spine-player/package.json index efd384e34..05fa16f00 100644 --- a/spine-ts/spine-player/package.json +++ b/spine-ts/spine-player/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-player", - "version": "4.0.23", + "version": "4.0.24", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -30,6 +30,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-webgl": "^4.0.23" + "@esotericsoftware/spine-webgl": "^4.0.24" } } \ No newline at end of file diff --git a/spine-ts/spine-threejs/package.json b/spine-ts/spine-threejs/package.json index cbc7387d5..6b38c2e99 100644 --- a/spine-ts/spine-threejs/package.json +++ b/spine-ts/spine-threejs/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-threejs", - "version": "4.0.23", + "version": "4.0.24", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -32,6 +32,6 @@ "dependencies": { "@types/three": "^0.133.1", "three": "^0.133.1", - "@esotericsoftware/spine-core": "^4.0.23" + "@esotericsoftware/spine-core": "^4.0.24" } } \ No newline at end of file diff --git a/spine-ts/spine-webgl/package.json b/spine-ts/spine-webgl/package.json index 7cee493b8..75878e9f3 100644 --- a/spine-ts/spine-webgl/package.json +++ b/spine-ts/spine-webgl/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-webgl", - "version": "4.0.23", + "version": "4.0.24", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -30,6 +30,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-core": "^4.0.23" + "@esotericsoftware/spine-core": "^4.0.24" } } \ No newline at end of file