1
This commit is contained in:
@ -145,15 +145,6 @@ export class AppModel extends Monobehiver {
|
||||
* @param meshes 网格数组
|
||||
* @param modelName 模型名称
|
||||
*/
|
||||
private cloneMaterials(meshes: AbstractMesh[], modelName: string): void {
|
||||
meshes.forEach(mesh => {
|
||||
if (mesh.material) {
|
||||
const originalMaterial = mesh.material;
|
||||
const clonedMaterial = originalMaterial.clone(`${originalMaterial.name}_${modelName}`);
|
||||
mesh.material = clonedMaterial;
|
||||
}
|
||||
});
|
||||
}
|
||||
/** 为网格设置阴影(投射和接收) */
|
||||
private createModelRoot(modelId: string, meshes: AbstractMesh[]): AbstractMesh[] {
|
||||
const scene = this.mainApp.appScene.object;
|
||||
@ -252,7 +243,6 @@ export class AppModel extends Monobehiver {
|
||||
});
|
||||
|
||||
if (result.success && result.meshes) {
|
||||
// this.cloneMaterials(result.meshes, modelName);
|
||||
result.meshes = this.createModelRoot(modelName, result.meshes);
|
||||
this.modelDic.Set(modelName, result.meshes);
|
||||
|
||||
@ -292,7 +282,6 @@ export class AppModel extends Monobehiver {
|
||||
|
||||
if (result.success && result.meshes) {
|
||||
result.meshes = this.createModelRoot(modelId, result.meshes);
|
||||
this.cloneMaterials(result.meshes, modelId);
|
||||
this.modelDic.Set(modelId, result.meshes);
|
||||
|
||||
// 存储元数据
|
||||
@ -436,9 +425,10 @@ export class AppModel extends Monobehiver {
|
||||
return;
|
||||
}
|
||||
|
||||
meshes.forEach(mesh => mesh.dispose());
|
||||
this.getModelTransformTargets(meshes).forEach(mesh => mesh.dispose(false, true));
|
||||
this.modelDic.Remove(modelName);
|
||||
this.modelMetadataDic.Remove(modelName);
|
||||
this.mainApp.gameManager?.updateDictionaries();
|
||||
console.log(`Model removed: ${modelName}`);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user