LifePlay-Revival/Docs/Migration/etat/CAM/CAM-B2m-FICHE.md
edujiro5972 8084622450 LifePlay UE 5.8 : état de développement au 2026-10-19
Tickets : REP1-T4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 22:57:42 +02:00

3.4 KiB
Raw Blame History

CAM-B2m : lacet POV à la souris (PC, fiche lp-mcp-bp, 2026-10-14)

Origine : CAM-COMMUN5-DIAG.md § 3. Défaut d'origine : en POV, le mouvement horizontal de la souris fait pencher l'image au lieu de la tourner. Gel des scènes levé par l'utilisateur pour l'alpha (relayé par Big Boss). PC seul.

Barème

a0 b1 c0 d1 e1 f0 = 3 → N1, ajusté à N3 (écriture MCP par lp-mcp-bp) ; S = C3 1 + f 0 = 1 : une fiche. Aucun nœud créé, 1 coupure, 3 liens, environ 12 appels. Case C9a : état du PC relu le jour même.

Cause (dump PC CAM-B1-VAL_LPDumpFunction_20261013-085611.txt, PC A19510E613F31905437BAB48F38C6154, inchangé depuis CHG-339)

  • Horizontal :
    • IfThenElse_136 then et else → K2Node_CallFunction_951 = FirstPersonSM.K2_AddRelativeRotation(312) ;
    • 312 = MakeRotator(Roll ← CommutativeAssociativeBinaryOperator_108, Pitch 0, Yaw 0) ;
    • 108 = leftright × −1 (VariableGet_115). Un Roll relatif tourne autour de l'axe de visée du composant : l'image penche.
  • Vertical, qui marche : IfThenElse_164 → 316 = FirstPersonSM.K2_AddWorldRotation(314 = MakeRotator(Pitch ← 109)).
  • Nœud mort K2Node_CallFunction_204 = FirstPersonSM.K2_AddWorldRotation(312) : execute et then vides, self ← VariableGet_67.FirstPersonSM, DeltaRotation ← 312. Il est déjà câblé pour devenir le lacet monde.

Écritures (préfixe /Game/BPs/PC.PC:EventGraph., un appel MCP par message)

  1. load_asset /Game/BPs/PC. get_node_infos sur 136, 951, 204, 312, 108 et 316. Tout écart avec la section « Cause » : arrêt avant écriture. Relever les PinID (312 : Roll, Pitch, Yaw ; 204 : execute).
  2. break_pins 108.ReturnValue → 312.Roll.
  3. connect_pins 108.ReturnValue → 312.Yaw. Le rotateur 312 devient un lacet ; il alimente 951 et 204.
  4. connect_pins IfThenElse_136.then → 204.execute, puis IfThenElse_136.else → 204.execute. Une sortie d'exécution n'a qu'un lien : cela remplace les liens vers 951.
  5. Relecture :
    • 136 then et else → 204 ;
    • 951 : execute vide (laissé en place, mort ; pas de suppression dans cette fiche) ;
    • 204 : execute ← 136.then et 136.else, self ← 67, DeltaRotation ← 312 ;
    • 312 : Yaw ← 108, Roll 0 non relié ;
    • 316 et 164 inchangés.
  6. AssetTools.is_dirty /Game/BPs/PC = vrai ; compile_blueprint avec warnings_as_errors = true ; save_assets [/Game/BPs/PC] seul ; Saving Package: /Game/BPs/PC ; MD5 du PC ≠ a19510e6… ; Room, GI et Person inchangés par cette fiche.

Réserve et contournement

  • Le sens peut être inversé (−1 de 108, hérité du Roll). Si l'essai montre une rotation à l'envers : set_pin_value 108.B = 1 (fiche courte, même passage UE si possible).
  • Le tangage (316, AddWorldRotation d'un Pitch) tourne autour de l'axe Y du monde, pas autour de l'axe droit de la caméra. Il est juste face à X, faux face à Y. Non traité ici : l'utilisateur ne signale que l'horizontal. À noter pour l'essai.

VAL (lp-validator distinct)

  • V5 : LPDumpFunction -BP=PC -Fn=EventGraph -Pins -Exec, diff contre le dump de B1-VAL. Seules différences : 312 (Yaw au lieu de Roll), liens d'exécution de 136, 951 et 204.
  • V6 : CompileAllBlueprints = référence.
  • V7 (COMMUN-6) : voir CAM-COMMUN-6-TESTS.md.

Retour arrière

.\Tools\Restore.ps1 -Lot CAM-B2m -Only Content\BPs\PC.uasset, éditeur fermé, sur accord.