Como posso implementar uma câmera de terceira pessoa em um mapa SC2?

8

Quero tentar criar um mapa personalizado de Starcraft 2 com uma câmera de terceira pessoa seguindo uma unidade. Já existem alguns mapas personalizados com esse recurso, então eu sei que é possível.

Como eu faço isso? Preciso de um arquivo mods personalizado ou tudo pode ser feito no arquivo de mapa?

Nick Vaccaro
fonte
2
sc2mapster.com/maps/tpsfps_battle_rts Acho que isso pode ajudar. É um link para um site para um dos mapas mais populares que possuem esse recurso. Eu acho que eles têm um como fazer no site.
McAzzaMan 17/05
Entrando em contato com um autor de um mapa personalizado que faz isso provavelmente seria a maneira mais simples de descobrir como ..
Jari Komppa
Esta questão parece estar fora de tópico porque se trata de modificar um jogo específico e, após três anos, não é provável que seja respondida.
precisa saber é o seguinte
@Jari Acho que isso deve permanecer aberto enquanto o modding do jogo estiver no tópico aqui e o SC2 tiver uma comunidade ativa. A expansão SC2: Heart of the Swarm tem apenas um ano de idade.
Anko
@Anko concordou; O SC2 e seus mods estão longe de estar desatualizados. Além disso, a questão é limitada e claramente possível de ser realizada.
perfil completo de Seth Battin

Respostas:

1

As informações fornecidas abaixo são de http://www.staredit.net/starcraft2/Third_Person_Camera, onde você pode descobrir mais informações, como gatilhos WASD e várias opções de câmera, mas o básico para a instalação da terceira pessoa está aqui:

Configurando o Objeto Câmera

Abaixo do botão "Criar câmera", você verá uma caixa branca com o valor "Câmera 001", clique com o botão direito do mouse e clique em "Modificar propriedades". Defina os valores para o seguinte (Nome - Sub - Valor - (Descrição)):

  • Ângulo - Campo de visão - 27.996 - (Qual a largura da visão. Esta será uma visão de 28 graus da esquerda da tela para a direita) Ângulo - Rolagem - 0.0 - (Qual a distância da câmera da esquerda para a direita Pense em rolos de barril.)
  • Profundidade de campo - Quantidade - 0.0 - (Desconhecido, sinta-se à vontade para atualizar o artigo do wiki se você souber alguma informação sobre esse valor)
  • Profundidade de campo - Profundidade - 8.0 - (quão longe a câmera vê)
  • Profundidade de campo - Fim - 8.0 - (A posição final da vista do ponto da câmera)
  • Profundidade de campo - Início - 0.0 - (A posição inicial da vista do ponto da câmera)
  • Distância - 4 - (A que distância a câmera literal está da localização real da câmera. Definir isso como 0 resulta em um FPS (tiro em primeira pessoa), em torno de 4 com um TPS (tiro em terceira pessoa))
  • Distance - Far Clip - 300.0 - (A distância a partir da qual nada será renderizado. Se algo estiver além da câmera, isso NÃO SERÁ ENTREGUE)
  • Distance - Near Clip - .1 - (A distância em que nada será renderizado. Se algo estiver mais próximo do que isso da câmera, NÃO SERÁ RENDIDO)
  • Distance - Shadow Clip - 75.0 - (Assumindo a distância após a qual as sombras não serão renderizadas)
  • Alvo - Distância - 12 - (Distância da câmera. Distância é o movimento de olhar para cima / baixo)
  • Alvo - X - (Não importa, isso mudará todos os quadros do jogo)
  • Alvo - Y - (Não importa, isso mudará todos os quadros do jogo)
  • Alvo - Guinada - 180 - (Guinada da câmera. Pense nos movimentos da esquerda para a direita que não são roletes)
  • Alvo - Deslocamento Z - 1 - (A que distância a câmera está do chão)

O principal valor que precisamos aqui é a Distância - 4. A configuração para 4 criará uma câmera de terceira pessoa (embora com unidades que não sejam marítimas, você pode precisar editar isso). 0 criará uma câmera em primeira pessoa. O mesmo vale para o Target - Z Offset - 1. Uma unidade mais alta precisará de um valor mais alto para elevar a câmera um pouco.

Variáveis ​​globais

São necessárias algumas variáveis ​​globais, cujos nomes e tipos são indicados abaixo (Nome - Tipo - Valor - (Descrição)):

  • FaceOffset [8] - Real - 0,0 - (Onde as unidades respectivas de cada jogador estão voltadas)
  • Velocidade - Real - 0,03 - (A velocidade na qual uma unidade se move)
  • Unidades [8] - Unidade - [VAZIO] - (Armazena as respectivas unidades de cada jogador)
  • PlayerA [8] - Real - 0 - (Stores são os jogadores A tecla está pressionada)
  • Jogadores [8] - Real - 0 - (Stores é a tecla S do jogador está pressionada)
  • PlayerD [8] - Real - 0 - (Stores é a tecla D do jogador está pressionada)
  • PlayerW [8] - Real - 0 - (Stores é a chave W do jogador está pressionada)

Configurar o gatilho da câmera

Set Up Camera
   Events
       Timer - Every 0.0 seconds of Game Time
   Local Variables
       Yaw = 0.0 <Real>
       CameraFocus = No Point <Point>
       Counter = 0 <Integer>
   Conditions
   Actions
       General - For each integer Counter from 1 to 8 with increment 1, do (Actions)
           Actions
               General - If (Conditions) then do (Actions) else do (Actions)
                   If
                       (Controller of player Counter) == User
                       (Status of player Counter) == Playing
                   Then
                       Camera - Apply Camera 001 for player Counter over 0.0 seconds with Existing Velocity% initial velocity, 10% deceleration, and Don't Include Target
                       Camera - Lock camera mouse relative mode On for player Counter
                       Camera - Turn camera mouse rotation On for player Counter
                       Camera - Turn camera height smoothing Off for player Counter
                       Camera - Turn camera height displacement On for player Counter
                   Else

Gatilho de atualização da câmera:

Camera Update
   Events
       Timer - Every 0.0 seconds of Game Time
   Local Variables
       Yaw = 0.0 <Real>
       CameraFocus = No Point <Point>
       Counter = 0 <Integer>
   Conditions
   Actions
       General - For each integer Counter from 1 to 8 with increment 1, do (Actions)
           Actions
               General - If (Conditions) then do (Actions) else do (Actions)
                   If
                       (Controller of player Counter) == User
                       (Status of player Counter) == Playing
                   Then
                       Variable - Set Yaw = (Current camera yaw of player Counter)
                       Variable - Set CameraFocus = ((Position of Units[Counter]) offset by 0.0 towards (Yaw + 90.0) degrees)
                       Unit - Make Units[Counter] face (Yaw + FaceOffset[Counter]) over 0.0 seconds
                       Camera - Set the camera bounds for (Player group(Counter)) to (Region((X of CameraFocus), (Y of CameraFocus), ((X of CameraFocus) + 0.01), ((Y of CameraFocus) + 0.01))) (Do Not adjust the minimap)
                   Else
Tom 'Blue' Piddock
fonte