mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-04 14:24:53 +08:00
[ts][threejs] Allow passing material customizer to SkeletonMesh.
This commit is contained in:
parent
4df4bcfb76
commit
dd7a651144
@ -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);
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user