Come posso implementare una telecamera di terza persona in una mappa SC2?


8

Voglio provare a creare una mappa Starcraft 2 personalizzata con una fotocamera in terza persona seguendo un'unità. Esistono già alcune mappe personalizzate con questa funzione, quindi so che è possibile.

Come faccio a fare questo? Ho bisogno di un file mod personalizzato o tutto può essere fatto nel file della mappa?


2
sc2mapster.com/maps/tpsfps_battle_rts Penso che questo potrebbe aiutare. È un collegamento a un sito per una delle mappe più popolari che hanno questa funzione. Penso che abbiano un come sul sito.
McAzzaMan,

Contattare un autore di una mappa personalizzata per farlo sarebbe probabilmente il modo più semplice per scoprire come ..
Jari Komppa,

Questa domanda sembra fuori tema perché riguarda la modifica di un gioco specifico e dopo tre anni non è probabile che riceva risposta.
Jari Komppa,

@Jari Penso che questo dovrebbe rimanere aperto fintanto che il modding del gioco è in argomento qui e SC2 ha una comunità attiva. L' espansione SC2: Heart of the Swarm ha solo un anno.
Anko,

@Anko concordato; SC2 e le sue mod sono tutt'altro che obsoleti. Inoltre, la domanda ha una portata ristretta e chiaramente possibile da realizzare.
Seth Battin,

Risposte:


1

Le informazioni fornite di seguito provengono da http://www.staredit.net/starcraft2/Third_Person_Camera dove è possibile trovare ulteriori informazioni come i trigger WASD e le opzioni multiple della fotocamera, ma le basi per l'installazione in terza persona sono qui:

Impostazione dell'oggetto Camera

Sotto il pulsante "Crea telecamera", vedrai una casella bianca con il valore "Camera 001", fai clic con il pulsante destro del mouse e premi "Modifica proprietà". Impostare i valori su quanto segue (Nome - Sotto - Valore - (Descrizione)):

  • Angolo - Campo visivo - 27.996 - (Quanto è grande la vista. Questa sarà una vista a 28 gradi da sinistra dello schermo a destra) Angolo - Rotolo - 0.0 - (Fino a che punto per ruotare la videocamera da sinistra a destra Pensa ai rotoli di botte.)
  • Profondità di campo - Quantità - 0,0 - (Sconosciuto, sentiti libero di aggiornare l'articolo wiki se conosci qualche informazione su questo valore)
  • Profondità di campo - Profondità - 8.0 - (Fino a che punto vede la telecamera)
  • Profondità di campo - Fine - 8.0 - (La posizione finale della vista dal punto della videocamera)
  • Profondità di campo - Inizio - 0.0 - (La posizione iniziale della vista dal punto della videocamera)
  • Distanza - 4 - (quanto dista la fotocamera letterale dalla posizione reale della fotocamera. Impostandola su 0 si ottiene un FPS (sparatutto in prima persona), circa 4 con un TPS (sparatutto in terza persona))
  • Distance - Far Clip - 300.0 - (La distanza dalla quale non verrà eseguito il rendering. Se qualcosa è più lontano di questo dalla telecamera, NON RENDERÀ)
  • Distance - Near Clip - .1 - (La distanza in cui non verrà eseguito il rendering di nulla. Se qualcosa è più vicino di questo dalla fotocamera, NON RENDERÀ)
  • Distance - Shadow Clip - 75.0 - (Supponendo la distanza dopo la quale le ombre non saranno renderizzate)
  • Target - Pitch - 12 - (Pitch of the camera. Pitch is the looking up / down movement)
  • Target - X - (Non importa, questo cambierà ogni frame del gioco)
  • Target - Y - (Non importa, questo cambierà ogni frame del gioco)
  • Bersaglio - imbardata - 180 - (imbardata della telecamera. Pensa al movimento da sinistra a destra che non è rotoli di botte)
  • Target - Z Offset - 1 - (Fino a che punto la fotocamera è sollevata da terra)

Il valore principale di cui abbiamo bisogno qui è la Distanza - 4. Impostando questa opzione su 4 si creerà una videocamera in terza persona (anche se con unità diverse da una marina, potrebbe essere necessario modificarla). 0 creerà una videocamera in prima persona. Lo stesso vale per Target - Z Offset - 1. Un'unità più alta avrà bisogno di un valore più alto per alzare un po 'la telecamera.

Variabili globali

Sono necessarie alcune variabili globali, i cui nomi e tipi sono indicati di seguito (Nome - Tipo - Valore - (Descrizione)):

  • FaceOffset [8] - Reale - 0.0 - (Dove sono rivolte le rispettive unità di ciascun giocatore)
  • Speed ​​- Real - 0.03 - (La velocità con cui si muove un'unità)
  • Unità [8] - Unità - [VUOTO] - (Memorizza le rispettive unità di ciascun giocatore)
  • PlayerA [8] - Real - 0 - (Stores è i giocatori Una chiave è giù)
  • PlayerS [8] - Real - 0 - (Stores è il tasto S dei giocatori è giù)
  • PlayerD [8] - Real - 0 - (Stores è il tasto D dei giocatori è giù)
  • PlayerW [8] - Real - 0 - (Stores è il tasto W dei giocatori è giù)

Imposta il trigger della fotocamera

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

Trigger di aggiornamento della fotocamera:

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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.