Esiste qualcosa di equivalente al link_portal_door di Portal 2 in altri motori? [chiuso]


9

Ho bisogno della funzionalità di linked_portal_door che si trova nel portale 2. Ho cercato un po 'in UDK e soprattutto ho trovato persone che cercavano di duplicare la pistola del portale. Qualcuno sa se UDK, CryEngine, Unity3D o qualsiasi altro motore ha qualcosa di simile? Non sono contrario all'utilizzo di Source, voglio solo sapere quali sono le mie opzioni.


1
Pochi dei grandi motori affermati lo fanno, dal momento che la maggior parte sono derivati ​​da Quake o usano tecniche simili. I motori più piccoli o meno noti hanno utilizzato i portali come tecnica di abbattimento delle scene principali. Ricordo che CrystalSpace utilizzava i portali per collegare tutti i settori (in modo simile a come funzionava Doom / Doom2, ma in 3D). Potresti provare quel motore. Non mi sono tenuto aggiornato sul suo sviluppo, quindi non so se abbia cambiato o meno un'altra tecnica di gestione delle scene.
Sean Middleditch l'

Risposte:


8

Sono abbastanza sicuro che il motore di origine è l'unico motore che supporterà questo fuori dalla scatola. Puoi leggere alcuni dei problemi tecnici in un articolo che ho trovato su Gamasutra , copiato qui per i futuri lettori:

"Un altro problema che abbiamo riscontrato è stata la necessità di modificare i sistemi basati sulla distanza come il livello di dettaglio (LOD) per i modelli, perché con il nostro gioco la distanza è relativa alle posizioni del portale.

Ciò significa che i calcoli della distanza sono diventati una scelta di tre linee che collegano due punti, anziché una sola linea. Inoltre, la linea di vista può passare attraverso un singolo portale più di una volta per raggiungere il suo obiettivo.

Il motore di origine esegue molte ottimizzazioni di visibilità pre-calcolate per l'abbattimento. Consentire agli utenti di colmare le foglie di visibilità con i portali ha aggiunto un altro livello di complessità.

Per un rendering migliore, abbiamo implementato un metodo di disegno del buffer dello stencil per le viste del portale, che ci ha dato molta flessibilità per gestire la profondità di ricorsione del portale. Questo ci ha permesso di renderizzare un numero infinitamente profondo di portali (limitato solo dalle prestazioni), il che ha reso i nostri corridoi "infiniti" piuttosto belli.

Il disegno a stencil ci ha anche aiutato a risolvere il problema dell'integrazione corretta con altre tecnologie nel motore Source come la fioritura HDR. Dal momento che dobbiamo rendere le nostre scene altre due volte per i nostri portali, abbiamo fatto molti sforzi per rendere il rendering dei portali il più velocemente possibile, come la speciale riduzione della frustum della vista basata sui bordi del portale e l'ottimizzazione dell'elenco di rendering per il disegno del portale. "

Ricordo anche di aver letto da qualche parte che ci sono molti casi speciali, come avere portali sui lati opposti dello stesso blocco. Realizzare portali non è un compito semplice.

MODIFICARE:

Ho trovato un altro buon articolo contenente questo:

Rapidamente, ci siamo resi conto che avevamo bisogno di un metodo più robusto per il rendering dei portali e per consentire al giocatore e ad altri oggetti di spostarsi senza soluzione di continuità tra di loro. Questo ci ha richiesto di scavare un po 'più a fondo nel rendering e nel codice fisico del motore Sorgente, e abbiamo dovuto programmare il nostro sistema di portale.

Fondamentalmente, dovevamo dire al sistema di fisica Source di fare un buco temporaneo su un solo lato di un muro e che tutto dietro il portale è collegato alla geometria in un'altra parte della mappa. Far funzionare tutto questo e ottimizzare le soluzioni da eseguire in tempo reale è stata una grande sfida.


Vale la pena notare che molti di questi problemi erano la difficoltà di aggiungere portali al motore di origine derivato da Quake2 esistente. Ci sono altri motori basati sul portale per l'abbattimento delle scene fin dal primo giorno.
Sean Middleditch l'

Quali sono anche alcuni dei motori a cui ti riferisci?
Wolfadex,

0

Puoi in Unity3D , usando le trame di rendering e teletrasportando il giocatore dietro l'altro se guarda nel portale, e disattivando il rilevamento delle collisioni per l'altro portale, e quando il giocatore si sposta dalla superficie puoi accendere la sua collisione rilevamento, o se lo attraversa senza guardarlo, basta teletrasportarlo sull'altro portale (solo un'ipotesi, non so se funzionerebbe ..), non sapere degli altri 2 però ..

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.