A seguir apresentaremos a estrutura de pastas do projeto de desenvolvimento do jogo, esta estrutura pode ser utilizada para diversos tipos de projetos que tenham personagens e jogadores.
└── Content
├── ExampleContent # Pacotes de exemplo
| ├── AnimStarterPack # Não devem estar no versionamento
| └── ThirdPerson # Separados da lógica do projeto
└── Projeto # Pasta principal do projeto
├── Art # Elementos do ambiente
| ├── Industrial # Texturas e malhas
| | ├── Ambient
| | ├── Machinery
| | └── Pipes
| ├── Nature
| | └── Ambient
| | ├── Foliage
| | ├── Rocks
| | └── Trees
| └── Office
├── Models
| ├── Characters # Estruturas dos personagens
| | ├── Human # Classe human
| | | ├── Mesh # Malhas e esqueletos
| | | ├── Animations # Animações
| | | └── Audio # Sons
| | ├── Mutant
| | | ├── Mesh # Malha e texturas do personagem
| | | └── Animations
| | | ├── Logic # Animation Blueprint, Blend Space
| | | ├── Base # Animações com movimento básico
| | | ├── Aim # Animações usando uma arma e mirando
| | | └── Audio # Sons do personagem
| | └── NPC
| | ├── Mesh # Malha e texturas do personagem
| | └── Animations
| | ├── Logic # Animation Blueprint, Blend Space
| | ├── Base # Animações com movimento básico
| | ├── Aim # Animações usando uma arma e mirando
| | └── Audio # Sons do personagem
| ├── Chests # Baús
| | ├── Materials
| | └── Mesh
| ├── Inventory # Inventários
| ├── Itens # Itens
| └── Weapons # Armas
├── Core
| ├── Characters # Classe principal dos personagens
| ├── Engine # Player Controller e Game Control
| ├── GameModes # Game Mode e Game Instance
| ├── Interactables # Classes de interação
| ├── Pickups # Classes básicas de objetos
| ├── DataSets # Tabelas, enum e struct
| └── Weapons # Classe de armas
├── UI
| ├── Characters # Interface vida, força e outros
| ├── SettingsMenu # Configuração do jogo
| ├── ExitMenu # Menu de saída
| └── MainMenu # Menu Principal
└── Maps
├── Level1
└── Level2
Classe | Pai | Atributos | Tipo | Categoria |
---|---|---|---|---|
BP_CharacterBase | fHealth | float | Character | |
sSound | Sound Cue | |||
tImage | Texture 2D | |||
cColor | Color | |||
nName | Name | |||
fWalkSpeed | float | Character\Movement | ||
fCrouchSpeed | float | |||
fRunSpeed | float | |||
bRunning | boolean | |||
bCrouch | boolean | |||
bActionLeftAttack | boolean | Character\Action | ||
bActionRightAttack | boolean | |||
bShooting | boolean | |||
bHoldingWeapon | boolean | |||
bAim | boolean | |||
bReloadWeapon | boolean | |||
Jump | Event | |||
Run | Event | |||
Attack Left | Event | |||
Attack Right | Event | |||
Weapon Take | Event | |||
Crouch | Event | |||
Weapon Aim | Event | |||
Weapon Reload | Event | |||
Weapon Shot | Event | |||
Died | Event | |||
Catch | Event | |||
├── BP_Human | BP_CharacterBase | |||
├── BP_Mutant | BP_CharacterBase | |||
└── BP_NPC | BP_CharacterBase | |||
BP_PlayerController | APlayerController | |||
BP_AIController | AIController | |||
BP_BotController | APPlayerController | |||
BP_GameMode | UGameMode | |||
BP_GameInstance | UGameInstance | OpenMenuExit | ||
OpenMenuMain | Event | |||
OpenMenPause | Event | |||
BP_Item | nName | Name | ||
sSound | Sound Cue | |||
tImage | Texture 2D | |||
cColor | Color | |||
└──BP_Weapon | BP_Item | WeaponShot | Event | |
Magazine | integer | |||
Projectile | BP_Projectile | |||
└──BP_Projectile | BP_Item | EventHit | Event | |
Damage | float |
class IMenuMainInterface : public UInterface {};
class HUD_Player : public SWidget {};
class MenuMain : public SWidget {};
class MenuLobbySinglePlayer : public SWidget {};
class MenuLobbyMultiPlayer : public SWidget {};
class MenuConfig : public SWidget {};
class MenuPause : public SWidget {};
class MenuExit : public SWidget {};
class MenuMain : public IMenuInterface {};
class UMenuMainInterface : public IMenuMainInterface {};
class UProjectGameInstance : public UGameInstance, IMenuMainInterface {};