Comment puis-je implémenter une caméra à la troisième personne dans une carte SC2?

8

Je veux essayer de créer une carte Starcraft 2 personnalisée avec une caméra à la troisième personne suivant une unité. Il existe déjà quelques cartes personnalisées avec cette fonctionnalité, donc je sais que c'est possible.

Comment puis-je faire cela? Ai-je besoin d'un fichier de mods personnalisé, ou tout peut être fait dans le fichier de carte?

Nick Vaccaro
la source
2
sc2mapster.com/maps/tpsfps_battle_rts Je pense que cela pourrait aider. C'est un lien vers un site pour l'une des cartes les plus populaires qui ont cette fonctionnalité. Je pense qu'ils ont un mode d'emploi sur le site.
McAzzaMan
Contacter un auteur d'une carte personnalisée qui fait cela serait probablement le moyen le plus simple de découvrir comment ..
Jari Komppa
Cette question semble être hors sujet car elle concerne la modification d'un jeu spécifique, et après trois ans, il est peu probable qu'elle obtienne une réponse.
Jari Komppa
@Jari Je pense que cela devrait rester ouvert tant que le modding du jeu est sur le sujet ici et que SC2 a une communauté active. L' extension SC2: Heart of the Swarm n'a qu'un an.
Anko
@Anko Accepté; SC2 et ses mods sont loin d'être dépassés. De plus, la question a une portée étroite et il est clairement possible de la réaliser.
Seth Battin

Réponses:

1

Les informations fournies ci-dessous proviennent de http://www.staredit.net/starcraft2/Third_Person_Camera où vous pouvez trouver plus de choses comme les déclencheurs WASD et plusieurs options de caméra, mais les bases de la configuration à la troisième personne sont ici:

Configuration de l'objet caméra

Sous le bouton "Créer une caméra", vous verrez une boîte blanche avec la valeur "Caméra 001", faites un clic droit dessus et cliquez sur "Modifier les propriétés". Définissez les valeurs comme suit (Nom - Sous - Valeur - (Description)):

  • Angle - Champ de vision - 27,996 - (Quelle est la largeur de la vue. Ce sera une vue à 28 degrés de la gauche de l'écran vers la droite) Angle - Roulement - 0,0 - (Jusqu'où faire rouler la caméra de gauche à droite Pensez aux rouleaux de baril.)
  • Profondeur de champ - Quantité - 0.0 - (Inconnu, n'hésitez pas à mettre à jour l'article wiki si vous connaissez des informations sur cette valeur)
  • Profondeur de champ - Profondeur - 8,0 - (à quelle distance la caméra voit-elle)
  • Profondeur de champ - Fin - 8.0 - (La position finale de la vue depuis le point de la caméra)
  • Profondeur de champ - Début - 0,0 - (La position de départ de la vue depuis le point de la caméra)
  • Distance - 4 - (À quelle distance la caméra littérale se trouve-t-elle de l'emplacement réel de la caméra? La définition de 0 donne un FPS (First Person Shooter), environ 4 avec un TPS (Third Person Shooter))
  • Distance - Far Clip - 300.0 - (La distance à partir de laquelle rien ne sera rendu. Si quelque chose est plus éloigné de celui-ci de la caméra, il NE RENDRA PAS)
  • Distance - Près du clip - .1 - (La distance lorsque rien ne sera rendu. Si quelque chose est plus proche que cela de la caméra, il NE RENDRA PAS)
  • Distance - Shadow Clip - 75.0 - (En supposant la distance après laquelle les ombres ne seront pas rendues)
  • Cible - Pitch - 12 - (Pitch de la caméra. Pitch est le mouvement vers le haut / bas)
  • Cible - X - (Peu importe, cela changera chaque image du jeu)
  • Cible - Y - (Peu importe, cela changera chaque image du jeu)
  • Cible - Lacet - 180 - (Lacet de la caméra. Pensez à un mouvement de gauche à droite qui n'est pas un roulement de baril)
  • Cible - Décalage Z - 1 - (À quelle distance la caméra est-elle du sol)

La valeur principale dont nous avons besoin ici est la distance - 4. La définition de cette valeur sur 4 créera une caméra à la troisième personne (bien qu'avec des unités autres qu'une marine, vous devrez peut-être la modifier). 0 créera une caméra à la première personne. Il en va de même pour la cible - décalage Z - 1. Une unité plus grande aura besoin d'une valeur plus élevée pour élever la caméra.

Variables globales

Quelques variables globales sont nécessaires, dont les noms et types sont indiqués ci-dessous (Nom - Type - Valeur - (Description)):

  • FaceOffset [8] - Réel - 0.0 - (Où les unités respectives de chaque joueur sont face)
  • Vitesse - Réel - 0,03 - (La vitesse à laquelle une unité se déplace)
  • Unités [8] - Unité - [VIDE] - (Stocke les unités respectives de chaque joueur)
  • PlayerA [8] - Réel - 0 - (Stocke est le joueur Une touche est enfoncée)
  • PlayerS [8] - Real - 0 - (Store est la touche S du joueur est enfoncée)
  • PlayerD [8] - Real - 0 - (Store est la touche D du joueur est enfoncée)
  • PlayerW [8] - Real - 0 - (Store est la touche W du joueur est enfoncée)

Configurer le déclencheur de la caméra

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

Déclencheur de mise à jour de la caméra:

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
la source