Y a-t-il quelque chose d'équivalent à Linked_portal_door de Portal 2 dans d'autres moteurs? [fermé]

9

J'ai besoin de la fonctionnalité de Linked_portal_door qui se trouve dans Portal 2. J'ai cherché un peu dans UDK et j'ai surtout essayé de dupliquer le pistolet du portail. Est-ce que quelqu'un sait si UDK, CryEngine, Unity3D ou tout autre moteur a quelque chose de similaire? Je ne suis pas contre l'utilisation de Source, je veux juste savoir quelles sont mes options.

Wolfadex
la source
1
Peu de grands moteurs établis le font, car la plupart sont dérivés de Quake ou utilisent des techniques similaires. Des moteurs plus petits ou moins connus ont utilisé des portails comme technique d'élimination de la scène principale. Je me souviens que CrystalSpace utilisait des portails pour connecter tous les secteurs (similaire à la façon dont Doom / Doom2 fonctionnait, mais en full 3D). Vous pourriez essayer ce moteur. Je n'ai pas mis à jour son développement, donc je ne sais pas s'il a basculé vers une autre technique de gestion de scène ou non.
Sean Middleditch

Réponses:

8

Je suis à peu près sûr que le moteur source est le seul moteur qui prendra en charge cela hors de la boîte. Vous pouvez lire sur certains des problèmes techniques dans un article que j'ai trouvé sur Gamasutra , copié ici pour les futurs lecteurs:

"Un autre problème que nous avons rencontré était la nécessité de changer les systèmes basés sur la distance tels que le niveau de détail (LOD) pour les modèles, car avec notre jeu, la distance est relative aux emplacements du portail.

Cela signifie que les calculs de distance sont devenus un choix de trois lignes reliant deux points, plutôt qu'une seule ligne. De plus, la ligne de visée peut passer plusieurs fois par un seul portail pour atteindre sa cible.

Le moteur source effectue de nombreuses optimisations de visibilité pré-calculées pour l'abattage. Permettre aux utilisateurs de relier les feuilles de visibilité avec des portails a ajouté un autre niveau de complexité.

Pour un meilleur rendu, nous avons implémenté une méthode de dessin de tampon de gabarit pour les vues de portail, ce qui nous a donné beaucoup de flexibilité pour gérer la profondeur de récursivité du portail. Cela nous a permis de rendre un nombre infiniment profond de portails (limité uniquement par les performances), ce qui a rendu nos couloirs «infinis» assez soignés.

Le dessin au pochoir nous a également aidés à résoudre le problème de l'intégration correcte avec d'autres technologies dans le moteur source comme la floraison HDR. Étant donné que nous devons rendre nos scènes deux fois supplémentaires pour nos portails, nous avons consacré beaucoup d'efforts à rendre le rendu des portails aussi rapide que possible, comme la suppression spéciale du tronc de vue en fonction des bords du portail et l'optimisation des listes de rendu pour le dessin du portail. "

Je me souviens aussi d'avoir lu quelque part qu'il y avait beaucoup de cas particuliers, comme avoir des portails sur les côtés opposés du même bloc. Créer des portails n'est pas une tâche simple.

ÉDITER:

J'ai trouvé un autre bon article contenant ceci:

Rapidement, nous avons réalisé que nous avions besoin d'une méthode plus robuste pour rendre les portails et permettre au joueur et aux autres objets de se déplacer de manière transparente entre eux. Cela nous a obligés à creuser un peu plus profondément dans le code de rendu et de physique du moteur source, et nous avons dû programmer notre propre système de portail.

Fondamentalement, nous avons dû dire au système de physique de la source de faire un trou temporaire sur un seul côté d'un mur, et que tout ce qui se trouve derrière le portail est connecté à la géométrie dans une autre partie de la carte. Faire fonctionner cela et optimiser les solutions à exécuter en temps réel était un défi majeur.

John McDonald
la source
Il vaut la peine de noter que beaucoup de ces problèmes étaient la difficulté d'ajouter des portails au moteur source dérivé de Quake2 existant. Il existe d'autres moteurs qui sont basés sur le portail pour l'élimination des scènes depuis le premier jour.
Sean Middleditch
Quels sont les moteurs dont vous parlez également?
wolfadex
0

Vous pouvez dans Unity3D , utiliser des textures de rendu et téléporter le joueur derrière l'autre s'il regarde dans le portail, et désactiver la détection de collision pour l'autre portail, puis lorsque le joueur sort de la surface, vous pouvez activer sa collision détection, ou s'il le traverse sans le regarder, il suffit de le téléporter vers l'autre portail (juste une supposition, je ne sais pas si cela fonctionnerait ..), je ne sais pas pour les 2 autres cependant ..

Hôte Creeper
la source