Home » Divertissement » Comment calculer la visibilité/occlusion d’un acteur depuis la caméra du joueur jusqu’au pourcentage ? -C++

Comment calculer la visibilité/occlusion d’un acteur depuis la caméra du joueur jusqu’au pourcentage ? -C++

by Nouvelles
Comment calculer la visibilité/occlusion d’un acteur depuis la caméra du joueur jusqu’au pourcentage ?  -C++

2024-05-09 00:38:21

Estrange (Estrange) 8 mai 2024, 20h59 1

Je crée une fonctionnalité pour mon jeu qui m’oblige à avoir un pourcentage de visibilité/occlusion des acteurs depuis la caméra du joueur.
Cela ne sera pas exécuté sur Tick ou sur chaque image. C’est une action déclenchée par le joueur, et elle peut être lente puisque je n’aurai pas besoin des résultats tant que le joueur n’aura pas terminé le niveau.
Il doit être évolutif car je ne sais pas combien d’acteurs pourraient devoir être vérifiés dans cette seule image (20+ sont possibles).
J’en ai juste besoin pour ne pas accrocher ou manger des cadres.

Choses que j’ai essayées :

  • Créer un composant de capture de scène pour chaque acteur que je souhaite analyser, les rendre en solo et comparer la profondeur avec la profondeur de la photo originale (Capturer la scène plusieurs fois dans une seule image est trop coûteux).

  • Conversion des limites des acteurs en espace d’écran et traçage vers chaque pixel de ces limites 2D (BEAUCOUP trop de traces).

  • Utilisation d’une profondeur et de pochoirs personnalisés (le chevauchement des pochoirs tue cette idée).

  • Idées stupides auxquelles je n’ai pas réfléchi jusqu’au bout en raison d’un manque de connaissances :

  • Implémenter un shader et utiliser le raycasting ou quelque chose comme ça ?

  • D’une manière ou d’une autre, rassembler les informations en créant une SceneViewExtension et en faisant quelque chose avant ou après le DepthPass/BasePass ?

  • J’ai divisé le problème en deux parties.

    La partie rapide :
    Capturez la scène avec la capture de scène.
    Rassemblez les données de la scène.
    Remarque : je dois rassembler/mettre en cache ici des données qui pourraient changer d’ici la prochaine image.

    La partie lente :
    Effectuez des calculs par rapport aux données de la scène.
    Renvoyez les données.
    Remarque : la vitesse n’est pas nécessaire ici puisque je dois attendre que le niveau soit fermé.

    J’ai compris la partie lente, mais je n’ai aucune idée de comment faire la partie rapide rapidement sans problèmes de performances.

    #Comment #calculer #visibilitéocclusion #dun #acteur #depuis #caméra #joueur #jusquau #pourcentage
    1715206379

    You may also like

    Leave a Comment

    This site uses Akismet to reduce spam. Learn how your comment data is processed.