fix(g20): метки привязываются к npc.data.rootMesh (модель)
Метки рисовались в куче в (0,0,0) — anchorMesh был сам npc (объект, не mesh). LabelManager делал plane.parent = anchorMesh, но позиция не наследовалась. Фикс: _resolveTweenTarget для 'npc' возвращает data.mesh = npc.data.rootMesh (реальная модель NPC).
This commit is contained in:
parent
56c35273ef
commit
4644a332e4
@ -1569,15 +1569,17 @@ export class GameRuntime {
|
||||
if (Number.isFinite(n)) npc = nm.npcs.get(n);
|
||||
}
|
||||
if (npc) {
|
||||
// Возвращаем npc в формате 'tween-target' с mesh-ссылкой.
|
||||
// У NPC реальный mesh лежит в npc.data.rootMesh (модель).
|
||||
const mesh = npc.data?.rootMesh || npc.data?.rootNode
|
||||
|| npc.rootMesh || npc.rootNode || null;
|
||||
return {
|
||||
kind: 'npc',
|
||||
data: {
|
||||
mesh: npc.rootMesh || npc.mesh || npc.rootNode || npc,
|
||||
rootMesh: npc.rootMesh || npc.rootNode,
|
||||
x: npc.x ?? npc.position?.x ?? 0,
|
||||
y: npc.y ?? npc.position?.y ?? 0,
|
||||
z: npc.z ?? npc.position?.z ?? 0,
|
||||
mesh,
|
||||
rootMesh: mesh,
|
||||
x: npc.x ?? 0,
|
||||
y: npc.y ?? 0,
|
||||
z: npc.z ?? 0,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user