LifePlay-Revival/Docs/Migration/etat/ST/STG/STG-C54-DIAG.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

7.1 KiB
Raw Blame History

Fiche STG-C54 — Niveau N3 — Modèle prévu claude-opus-5-5 | utilisé claude-opus-5-5

DIAG en lecture seule (demande de Big Boss, 2026-10-14 ; gel des scènes de sexe levé par l'utilisateur pour l'alpha) : C5-4, couple qui flotte au-dessus du lit. Scène Carly / John, chambre de Carly, mode Scene, vers 22:10-22:14 UTC. Lot STG, registre STG-TACHES.md. Sans UE, sans écriture hors de ce livrable.

1. Sources

Repère Fichier MD5
J5 D:\Game\LifePlay_Backup_5.5\COMMUN-5\essais\LifePlay_commun5_session1_BOSS.log 9c1ebcdc…
J4a / J4b …\COMMUN-4\essais\LifePlay_commun4_session1_BOSS.log / session2 4b039fd2… / 36974dfe…
J3, J2 …\COMMUN-3\essais\LifePlay_commun3_session1_definitif_BOSS.log, …\COMMUN-2\essais\LifePlay_commun2_definitif_BOSS.log 27e654cc…, 3f2355f4…
C Source/LifePlay/LPShowCoupleSubsystem.cpp (805 lignes, commit 04b0535, non modifié depuis) ; Plugins/LPAnimCore/…/LPCoupleSim* —

2. Ce que montre le journal (établi)

  • 22:10:11.546 : « fnt_chair02-f-0-sit unoccupied by John », puis « … by Carly ». Les deux quittent leur chaise pour la scène.

  • 22:10:11.639 : « Show couple : branche (PlayerCharacter + Person_C_2147481884) » ; « Pawn chambre Block=14 … Ignore->Block=4 ».

    • Boîte « pose » (os vivants des deux maillages) : centre relatif Z = -60,9, étendue X 102,9 / Y 44,5 / Z 32,2.
    • C'est une forme couchée de 2 m de long et 64 cm de haut : la pose SF_ft07 est déjà jouée.
  • Relevés M1 de 22:10:12 à 22:14 (62) :

    • les deux personnages au même point, centre de capsule z = 34,7 / 34,8 ; NoCollision ;
    • meneur MOVE_Walking, partenaire MOVE_None ;
    • meshZ -88,0, anim single:SF_ft07_0/1 ;
    • trace de visibilité complexe (M1c) arrêtée sur Room_C_0.NODE_AddStaticMeshComponent-0 (le lit) à -55,9 ;
    • sol de la pièce (Box) à -102,2 ;
    • le couple a été déplacé huit fois (x de -3131683 à -3131778, y de -14967190 à -14967271), toujours au-dessus du lit, z inchangé.
  • Hauteurs :

    Repère Hauteur Calcul
    racine des maillages -53,2 34,8 − 88,0
    dessus du lit (trace complexe) -55,9 2,7 cm sous la racine
    os les plus bas (boîte de 22:10:11) -58,3 34,8 − 60,9 − 32,2
    os les plus hauts 6,1
    sol de la pièce -102,2
    hauteur du lit 46,3 -55,9 − (-102,2)

    À 22:10:11, les corps (os) descendent 2,4 cm sous la surface touchée par la trace : d'après les données, ils reposent sur le lit, ils ne flottent pas.

3. Le même placement depuis COMMUN-2 (établi)

Hauteur du centre du joueur pendant les scènes de couple (NoCollision), par essai :

Essai Animations z Surface sous le couple (trace)
COMMUN-2 MF_kol07, MF_sp02/04/14, MF_layBJ10, FM_layFD*, MF_Na208, MF_fp02 34,8 5,0 : un objet au-dessus de la racine, pas le lit
COMMUN-3 S1 MF_kol07, MF_sp01 34,8 -55,9
COMMUN-4 S1 MF_kol07, MF_cg204, MF_fp05, MF_bedADG, MF_fp01 42,0 -49,1
COMMUN-4 S2 SF_ft07, FF_gf03 34,8 -55,9
COMMUN-5 SF_ft07 34,7 / 34,8 -55,9
  • La racine est toujours posée à environ 3 cm au-dessus de la surface du lit (2,7 et 3,1 cm), quelle que soit l'animation, depuis COMMUN-2.

  • Ce placement est fait par les Blueprints : le chemin Sex / moveToBedIfPossible de Room, qui lit GI.ActorTransforms (voir STG-C5-CART.md § 1). LPShowCoupleSubsystem ne fixe pas la hauteur de départ : il mesure la boîte (FitToBodies), puis la garde pendant les déplacements (KeepTogether, avec le lit franchissable IsBedMesh, sans gravité).

  • Aucun correctif STG n'y joue :

    Correctif Raison
    KO3c dans Walk, qui n'est pas appelé quand SexOn est vrai
    S-F5 / S-F5j en extérieur seulement ; aucun relevage quand SexOn est vrai ; ici la pièce est intérieure (échelle Z 0,2)
    S-F4b en extérieur seulement
    M1c mesure seulement
    B7-a Show, garde SexOn
    K8-a places des meubles, pas le lit de la scène

    Le défaut est donc d'origine pour STG : un placement Blueprint inchangé depuis le portage, et LPShowCoupleSubsystem inchangé depuis 04b0535.

4. Pourquoi l'utilisateur voit le couple flotter (estimé, deux hypothèses)

Les données de 22:10:11 disent « au contact ». La capture dit « plusieurs dizaines de centimètres au-dessus du matelas ». Deux lectures sont possibles, et le journal ne permet pas de trancher :

  • H1, décalage propre à l'animation : la mesure de 22:10:11 est prise à la première image de SF_ft07. Si l'animation monte ensuite le bassin (cycle) ou si la pose de référence diffère, les corps s'élèvent pendant la lecture. M1 ne relève que la capsule et la racine, pas les os. Une animation créée pour une racine au sol, avec la hauteur du lit déjà incluse, donnerait environ 46 cm de trop (la hauteur du lit). C'est l'ordre de grandeur décrit.
  • H2, matelas plus bas que la surface tracée : la trace complexe touche peut-être, à ce point, une partie du lit plus haute que le matelas (cadre, couverture, tête de lit). Les corps reposeraient alors sur cette surface, au-dessus du matelas visible.

5. Mesure proposée (pour trancher, faible coût)

M1d (≈ 20 lignes dans LPDebugSubsystem, ligne COUPLE du relevé, seulement quand SexOn est vrai) :

  • os le plus bas et os du bassin (Z monde) de chaque maillage ;
  • surface sous le bassin (trace complexe vers le bas, en ignorant les deux personnages) ;
  • nom de l'animation et position dans le cycle.

Un essai de 5 min sur deux ou trois animations (lit et sol) suffit à départager H1 et H2. Pas d'asset, 1 build.

6. Correctif proposé (après M1d), estimation

Id Geste Coût Risque
C54-a (si H1) Recalage vertical au contact : à chaque changement d'animation de la scène, puis toutes les 0,5 s, abaisser ou monter la racine du couple pour que l'os le plus bas des deux corps soit à 1 cm au-dessus de la surface trouvée par une trace vers le bas (lit ou sol). Seulement en scène de couple, avec une hystérésis de 5 cm ≈ 40 lignes C++ dans LPShowCoupleSubsystem (FitToBodies / KeepTogether), N3, VAL, 1 build, essai sur 5 animations moyen : poses volontairement hautes (debout sur le lit, à genoux), petites oscillations ; fichier hors STG à ce jour (lot ShowCouple)
C54-b (si H1, données) Décalage Z par animation, dans une table de données (SF_ft07 −46 cm, etc.) 1 table, quelques lignes C++, mesure de chaque animation concernée faible pour les animations mesurées ; les autres non couvertes
C54-c (si H2) Prendre comme surface le dessus du matelas (trace limitée au maillage du lit, ou décalage propre au lit) ≈ 15 lignes, plus une mesure par lit faible

Recommandation : M1d d'abord (une session), puis C54-a ou C54-c selon le résultat. C'est après les façades et S-F5k, qui restent prioritaires.

7. Fichiers à commiter

Docs/Migration/etat/ST/STG/STG-C54-DIAG.md.