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.