Commit Graph

54 Commits

Author SHA1 Message Date
385ebf6a7b feat(client): proxy animation via custom CMC + injected acceleration
Porta a estratégia do ZClientMMO para o ZMMO: novo
UZMMOProxyMovementComponent expõe escrita externa de Acceleration,
e AZMMOPlayerProxy deriva accel a partir da variação de velocidade
entre snapshots (com smoothing e fallback sintético em locomotion
constante). Tick do proxy roda antes do mesh para alimentar
Velocity+Acceleration antes do NativeUpdateAnimation. Cliente local
agora também envia Vel.Z e bIsFalling para que proxies vejam pulo
completo (subida + queda).
2026-05-08 22:54:54 -03:00
1744383f6f feat(client): cliente autoritativo da pose + proxy visivel (ADR 0040/0041)
ZMMOPlayerCharacter: SendInputAxis agora envia viewYawDeg
(GetController()->GetControlRotation().Yaw, fallback para
GetActorRotation().Yaw) + posicao autoritativa (GetActorLocation)
+ velocidade XY (GetVelocity) — bate com o C_INPUT_AXIS de 41
bytes do servidor (ADR 0041).

ZMMOPlayerProxy:
- MOVE_Walking + RotationRate=0 + bRunPhysicsWithNoController=false
  para o AnimBP do Quinn transitar entre Idle/Run sem o CMC
  integrar fisica.
- Defaults visuais SKM_Quinn_Simple + ABP_Unarmed no construtor
  para o proxy ser visivel em PIE sem precisar de BP filha.
- Line trace local de fallback (ECC_Visibility, 5m down) ajusta Z
  quando o snapshot Z vier estranho. Armadilha conhecida: Landscape
  do UE5 esta em ECC_WorldStatic — quando o trace falhar,
  AdjustedPos.Z fica igual ao snapshot. Fix do canal fica no backlog
  (bug do proxy sumir ao encostar parede).

ZMMO.uproject: indentacao tabs + plugin "meshy" registrado disabled.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 18:20:49 -03:00
3d4d0de40b feat: ZMMO client base (Game/Entity|Controller|Modes|Network)
Estrutura inicial do cliente Unreal Zeus MMO alinhada ao padrao
"cliente solto + servidor valida input/velocidade" (ADR 0038):

- Source/ZMMO/Game/Entity/ — IZMMOEntityInterface, AZMMOEntity (base
  AActor para Mob/NPC/Object), AZMMOPlayerCharacter (player local com
  CMC livre, Enhanced Input, envio de C_INPUT_AXIS), AZMMOPlayerProxy
  (snapshot-only para players remotos).
- Source/ZMMO/Game/Controller/ — AZMMOPlayerController com IMC defaults
  (IMC_Default + IMC_MouseLook) e suporte opcional a virtual joystick.
- Source/ZMMO/Game/Modes/ — AZMMOGameMode (defaults para PlayerCharacter
  / PlayerController), UZMMOGameInstance (auto-connect ao servidor Zeus
  em Init e logging dos eventos OnConnected/OnDisconnected/...).
- Source/ZMMO/Game/Network/ — UZMMOWorldSubsystem (registry
  EntityId -> AActor*, dispatch dos delegates OnPlayerSpawned/Despawned/
  StateUpdate; ignora snapshots locais do cliente solto).
- Config/DefaultEngine.ini — GlobalDefaultGameMode aponta para
  /Script/ZMMO.ZMMOGameMode; GameInstanceClass para
  /Script/ZMMO.ZMMOGameInstance; redirects para a nova hierarquia.
- ZMMO.Build.cs — depende de ZeusNetwork; PublicIncludePaths para a
  nova arvore Game/Entity|Controller|Modes|Network.
- Content — assets do template ThirdPerson (Mannequins, IAs/IMCs,
  Lvl_ThirdPerson + TestWorld). Os Variant_* levels ficam no commit
  inicial mas serao limpos numa proxima sessao com aprovacao explicita
  (Master Rule para .umap/.uasset).

Notas:
- BP_ThirdPersonCharacter/GameMode/PlayerController ainda apontam para
  a hierarquia antiga e estao a aguardar aprovacao para remocao
  (Master Rule).
- README.md descreve a arquitectura e o smoke test de conexao.
2026-05-07 20:21:21 -03:00
9a5a0eef61 first commit
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-07 20:17:53 -03:00