1
This commit is contained in:
@ -168,9 +168,7 @@ export class AppModel extends Monobehiver {
|
||||
const newName = `${originalName}_${modelId}`;
|
||||
const clonedMaterial = originalMaterial.clone(newName);
|
||||
clonedMaterials.set(originalName, clonedMaterial);
|
||||
console.log(`[cloneMaterials] 克隆材质: ${originalName} -> ${newName}`);
|
||||
console.log(`[cloneMaterials] 克隆后的材质名称: ${clonedMaterial.name}`);
|
||||
console.log(`[cloneMaterials] 材质是否在场景中:`, scene.materials.includes(clonedMaterial));
|
||||
|
||||
}
|
||||
|
||||
// 应用克隆的材质
|
||||
@ -178,8 +176,7 @@ export class AppModel extends Monobehiver {
|
||||
}
|
||||
});
|
||||
|
||||
console.log(`已为模型 ${modelId} 克隆 ${clonedMaterials.size} 个材质`);
|
||||
console.log(`[cloneMaterials] 场景中的所有材质:`, scene.materials.map(m => m.name));
|
||||
|
||||
}
|
||||
|
||||
/** 为网格设置阴影(投射和接收) */
|
||||
@ -430,10 +427,18 @@ export class AppModel extends Monobehiver {
|
||||
* @returns 模型名称,未找到返回 undefined
|
||||
*/
|
||||
findModelNameByMesh(mesh: AbstractMesh): string | undefined {
|
||||
console.log(111111111111);
|
||||
|
||||
const keys = this.modelDic.Keys();
|
||||
for (const key of keys) {
|
||||
const meshes = this.modelDic.Get(key);
|
||||
meshes.forEach(mesh => {
|
||||
console.log(mesh.uniqueId);
|
||||
console.log(mesh.name);
|
||||
|
||||
});
|
||||
if (meshes?.some(m => m === mesh || m.uniqueId === mesh.uniqueId)) {
|
||||
|
||||
return key;
|
||||
}
|
||||
}
|
||||
@ -447,6 +452,7 @@ export class AppModel extends Monobehiver {
|
||||
*/
|
||||
remove(meshOrName: AbstractMesh | string): boolean {
|
||||
let mesh: AbstractMesh | undefined;
|
||||
|
||||
|
||||
// 判断传入的是对象还是字符串
|
||||
if (typeof meshOrName === 'string') {
|
||||
@ -473,7 +479,8 @@ export class AppModel extends Monobehiver {
|
||||
* @param modelConfig 模型配置对象
|
||||
*/
|
||||
async replaceModel(modelConfig: ModelMetadata): Promise<LoadResult> {
|
||||
console.log(modelConfig.modelId, this.modelDic);
|
||||
|
||||
|
||||
|
||||
this.removeByName(modelConfig.modelId);
|
||||
return await this.addSingle(
|
||||
@ -500,7 +507,8 @@ export class AppModel extends Monobehiver {
|
||||
this.modelDic.Remove(modelName);
|
||||
this.modelMetadataDic.Remove(modelName);
|
||||
this.mainApp.gameManager?.updateDictionaries();
|
||||
console.log(`Model removed: ${modelName}`);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -509,7 +517,8 @@ export class AppModel extends Monobehiver {
|
||||
*/
|
||||
removeAll(): void {
|
||||
const modelNames = this.modelDic.Keys();
|
||||
console.log(`开始清除所有模型,共 ${modelNames.length} 个模型`);
|
||||
|
||||
|
||||
|
||||
modelNames.forEach(modelName => {
|
||||
const meshes = this.modelDic.Get(modelName);
|
||||
|
||||
@ -76,7 +76,7 @@ export class GameManager extends Monobehiver {
|
||||
this.updateDictionaries();
|
||||
|
||||
this.cacheRollerDoorMeshes();
|
||||
console.log('材质字典:', this.materialDic);
|
||||
|
||||
this.setRollerDoorScale("Box006.001", new Vector3(0.12, 0.02, 0.118));
|
||||
this.setRollerDoorScale("Box005.001", new Vector3(0.13, 0.02, 0.12));
|
||||
}
|
||||
@ -760,9 +760,7 @@ export class GameManager extends Monobehiver {
|
||||
}): void {
|
||||
this.updateDictionaries();
|
||||
|
||||
// 调试:打印所有材质名称
|
||||
console.log('[applyMaterial] 查找材质:', options.target);
|
||||
console.log('[applyMaterial] 当前所有材质:', this.materialDic.Values().map(m => m.name));
|
||||
|
||||
|
||||
// 查找目标材质(支持精确匹配和前缀匹配)
|
||||
const targetMaterials: PBRMaterial[] = [];
|
||||
@ -777,7 +775,7 @@ export class GameManager extends Monobehiver {
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('[applyMaterial] 找到材质:', targetMaterials.map(m => m.name));
|
||||
|
||||
|
||||
// 应用材质属性到目标材质
|
||||
targetMaterials.forEach(material => {
|
||||
@ -816,6 +814,6 @@ export class GameManager extends Monobehiver {
|
||||
material.markDirty();
|
||||
});
|
||||
|
||||
console.log(`Material applied to ${targetMaterials.length} material(s): ${options.target}`, options);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user