Pular para o conteúdo principal

BetterModel

Modelos 3D animados do BetterModel como NPCs do TypeWriter, com ações de animação, controle de ossos e cinemáticas.

Pagasv1.5Entidades e modelos
RequerTypeWriter0.9BetterModelQuest extension (TypeWriter)Basic extension (TypeWriter)Entity extension (TypeWriter)RoadNetwork extension (TypeWriter)

Visão geral​

A extensão BetterModel conecta o plugin BetterModel ao TypeWriter. Você desenha um modelo e suas animações no Blockbench, instala-o no BetterModel e depois o usa no TypeWriter como uma entidade: uma definition diz qual modelo usar, uma instance o coloca no mundo, e toda a mecânica habitual de entidades do TypeWriter (audiences, activities, interações, falantes de diálogo) funciona sobre ele.

Os modelos são renderizados com pacotes, por jogador, então cada jogador pode ver um estado diferente do mesmo NPC: outros bones exibidos, outro brilho, outros equipamentos. A extensão também adiciona actions para tocar e parar animações, entries de cinematic para animar modelos e membros do jogador, e uma câmera que viaja em um bone de um modelo animado.

Recursos​

  • Entidades de modelo — uma definition e uma instance transformam qualquer modelo do BetterModel em um NPC com suporte a audience, activity e interação.
  • Animações automáticas — animações de repouso, caminhada, deslocamento lateral, pulo, voo, ataque, dano e interação são tocadas a partir do estado da entidade, com nomes que você pode alterar.
  • Actions de animação — toque ou pare uma animação em um modelo colocado a partir de qualquer trigger.
  • Controle de bones por jogador — mostre ou oculte bones e defina brilho, cor, brilho de encantamento e luminosidade conforme criteria.
  • Hitboxes personalizadas — áreas de clique ligadas a bones com Hitbox, ou automáticas a partir de bones hitbox do modelo.
  • Substituição de bones — troque um bone por um de outro modelo com Attachment ou Passenger.
  • Animações do jogador — toque animações de membros do jogador do BetterModel no jogador com uma action ou em uma cinematic.
  • Cinematics — conduza um modelo a partir de uma gravação com a entity cinematic e filme-o com a bone camera.
  • Indicador de interação — os modelos com nome exibem um indicador de interação ou de diálogo acima do nome, controlado por objectives de interação e entries de interação.

Instalação​

  1. Instale o BetterModel no servidor e confirme que ele carrega seus modelos. A bone camera exige o BetterModel 2.1.0 ou posterior; a extensão é compilada contra o BetterModel 3.3.0.
  2. Instale as extensões oficiais do TypeWriter Quest, Basic, Entity e RoadNetwork (a extensão é compilada contra as quatro).
  3. Obtenha o BetterModel nas lojas (veja os botões acima) e coloque o JAR em plugins/Typewriter/extensions/.
  4. Reinicie o servidor. O log mostra [BetterModelExtension] BetterModel detected: initializing. Se o BetterModel estiver ausente, mostra BetterModel plugin not found; extension disabled.
  5. Coloque seus modelos no BetterModel e gere o resource pack dele conforme a documentação do BetterModel. Os jogadores precisam ter aceitado o resource pack para ver os modelos.

Primeiros passos​

Coloque um NPC animado que acena quando você clica nele:

  1. No painel web do TypeWriter, abra uma página static e adicione uma BetterModel Definition. Defina modelId com o nome do seu modelo no BetterModel, ative named e defina displayName.
  2. Em defaultAnimationSettings, verifique se idle, walk e interact correspondem aos nomes das animações do seu modelo (os padrões são idle, walk e interact).
  3. Abra uma página de manifest e adicione uma BetterModel Instance, defina definition com a que você acabou de criar e capture spawnLocation com a ferramenta de posição.
  4. Opcionalmente, adicione Bone Visibility em data da definition para ocultar um bone (por exemplo, um chapéu) dos jogadores que não correspondem a um criteria.
  5. Adicione um entity interact event e uma action Play Entity Animation. Defina entity com a instance e animation com o nome de uma animação personalizada.
  6. Clique em Publish e clique no NPC no jogo.
Hitboxes

O NPC só pode ser clicado onde tem uma hitbox de interação. Nomeie um bone como hitbox no Blockbench ou adicione uma entry Hitbox. Sem nenhuma das duas, é usada uma única caixa que cobre o modelo inteiro.

Como funciona​

A definition guarda o que é compartilhado (modelo, nomes de animações, hitboxes, dados). A instance guarda a posição, dados extras e uma activity. As entries de dados da instance são aplicadas depois das da definition, então uma instance pode sobrescrever sua definition.

Configuração​

A extensão não tem arquivo de configuração. Os modelos, os membros e o resource pack são gerenciados pelo BetterModel.

Duas pastas do BetterModel são usadas pelo nome: as entidades usam modelos registrados pelo BetterModel, e as actions e cinematics de jogador leem modelos de membros do jogador da pasta players do BetterModel (por exemplo, steve, alex).

Entries​

15 entradas, geradas a partir do código-fonte da extensão.

Ações3
Cinemáticas4
Entidades2
Dados de entidade6

Solução de problemas​

O NPC está invisível. Procure no log por Model '...' not found. O modelId deve corresponder a um modelo carregado pelo BetterModel. Quando não corresponde, a extensão tenta um modelo chamado steve e, se ele também estiver ausente, não invoca nada. Verifique também se o jogador aceitou o resource pack.

O NPC aparece, mas não pode ser clicado. A hitbox de interação vem de um bone cujo nome contém hitbox ou hit_box, ou de entries Hitbox. Se o modelo não tem nenhum dos dois, uma caixa que cobre o modelo é criada, com altura de pelo menos 1,8 bloco. Ajuste hitboxYOffset em defaultAnimationSettings se as caixas flutuarem na altura errada (padrão -1.6).

Uma animação não faz nada. Os nomes das animações são os do modelo do Blockbench, com a grafia exata. Para o Play Player Animation, o modelId deve ser um modelo de membros da pasta players do BetterModel, não um modelo comum.

Equipamento, fogo ou outros dados vanilla não têm efeito. Um modelo não tem metadados de entidade vanilla. O log imprime um aviso único como '...' has no BetterModel equivalent and is ignored. Os equipamentos da mão principal, da mão secundária e do capacete precisam de bones marcados com ri, li e ph no Blockbench (caso contrário, o log diz que o modelo não tem bone para esse slot); os slots de armadura não são suportados. A escala 3D não uniforme usa apenas o valor X.

A bone camera não se move. Ela permanece onde estava enquanto o modelo não está visível para o jogador ou o bone não é encontrado. Verifique boneName (sem diferenciar maiúsculas de minúsculas) e se entityCinematic ou instance está definido; a entity cinematic prevalece quando ambos estão.

O modelo sumiu após uma troca de mundo ou uma reconexão. A extensão recarrega os modelos após a entrada, o respawn, o teleporte e o carregamento do resource pack, com pequenos atrasos (até 5 segundos). Se um modelo continuar ausente, reconecte-se; os modelos de cinematic são removidos na troca de mundo e quando o jogador sai.

Extensões relacionadas​