3.5 KiB
3.5 KiB
CAM-B2e : boîte de pièce sur les faces intérieures des murs (fiche lp-mcp-bp, 2026-10-13)
Défaut des essais de B2b : « camera est hors de la pièces » (capture 5). Diagnostic : CAM-B2-journal.txt, section
« Défaut B2b ». Passe dans la même ouverture d'éditeur que B2d, sur GO de Big Boss. Room seul.
Barème
Grille a1 b2 c1 d1 e1 f1 = 7 → N3 ; S = C3 1 + f 1 = 2 < 3 : une fiche. ≈ 22 nœuds, ≈ 60 appels, 65 tours. Case C9a à cocher à l'envoi.
Règle (amendement B2e de la SPEC, B2b-1 remplacé)
Faces intérieures, par GetComponentBounds (origine O, étendue E, AABB monde) de chaque mur, avec la convention du jeu
(Wall1 −X, Wall2 +X, Wall3 −Y, Wall4 +Y : positions relatives par défaut −47,4 / +49,5 / −46,8 / +46,9) :
- MinX = W1.O.X + W1.E.X + 30 ; MaxX = W2.O.X − W2.E.X − 30 ;
- MinY = W3.O.Y + W3.E.Y + 30 ; MaxY = W4.O.Y − W4.E.Y − 30 ;
- plafond intérieur : ZTopIn = WallT.O.Z − WallT.E.Z − 25 (face inférieure) ;
- ZMin (sol + 50) et le choix extérieur (
SelectFloat491) sont inchangés. L'emprise reste en XY dehors : les murs y sont seulement écrasés en Z (échelle 0,01), leur position XY ne change pas.
Nœuds existants (préfixe /Game/BPs/Room.Room:EventGraph., rapports F1 et F2)
ComputeRoomBox= CustomEvent_49 → VariableSet_64 (C2BoxMin) → VariableSet_65 (C2BoxMax).- MakeVector 492 (Min) : X ← 484.X, Y ← 484.Y, Z ← PO_14.
- MakeVector 493 (Max) : X ← 485.X, Y ← 485.Y, Z ← 491.
- PO_15 (ZTopIn = A − 25) : A ← 488.Z (centre de WallT).
- Getters : 283 (Wall2), 284 (Wall4), 285 (WallT). Wall1 et Wall3 sont à créer (
Variables|Pardéfaut|ObtenirWall1/ObtenirWall3, sinon chercher « Wall1 »).
Écritures
- Wall1 : getter → (N)
Collision|GetComponentBounds→ (N) Ajouter vecteur (O + E) → (N) Ajouter (B = "30,30,0") → (N) BreakVector → X → 492.X (break_pins484.X → 492.X d'abord). - Wall2 : 283 → GetComponentBounds → Soustraire (O − E) → Soustraire (B = "30,30,0") → BreakVector → X → 493.X.
- Wall3 : getter → GetComponentBounds → O + E → + "30,30,0" → BreakVector → Y → 492.Y.
- Wall4 : 284 → GetComponentBounds → O − E → − "30,30,0" → BreakVector → Y → 493.Y.
- WallT : 285 → GetComponentBounds → O − E → BreakVector → Z → PO_15.A (
break_pins488.Z → PO_15.A d'abord). - Les anciens nœuds de calcul (PO_9 à PO_13, 479 à 483, 476 à 478, 484, 485, 487, 488) restent sans consommateur. Ils sont purs et sans effet. Ne pas les supprimer dans cette fiche : budget, et nettoyage plus tard.
- Lecture de la collision (sans écriture) : réponse au canal Camera des murs
Wall1àWall4et deWallT. Parget_default_objectde Room puisObjectTools.get_properties, ou par lecture du composant : chercherBodyInstance/CollisionResponses/ResponseToChannels.Camera. À rapporter tel quel. Hors budget : arrêt de ce seul point, sans insister. - Relecture groupée (créés, 492, 493, PO_15), compilation stricte.
save_assetsde Room seul, une fois B2d et B2e faites (une seule sauvegarde pour les deux fiches si elles s'enchaînent ; sinon à la fin de chacune).
VAL
- V5 :
GetComponentBounds≥ 5 dansComputeRoomBox; 492.X/Y et 493.X/Y alimentés par les nouveaux BreakVector ; PO_15.A alimenté par la face inférieure de WallT. - Essai : dos au mur, de chaque côté de la pièce (les 4 murs), dans un coin, en hauteur (flèche haut au maximum), et dans une pièce redimensionnée si possible. Aucune vue de l'extérieur.