[MY-AL] Camera ledge / Camera dynamique

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Avatar de l’utilisateur
Axel74
Messages : 100
Inscription : 23 Mai 2014 16:47
Localisation : Thonon - Lyon

[MY-AL] Camera ledge / Camera dynamique

Message par Axel74 » 21 Mars 2017 12:05

Salut à tous !

Je cherche à créer une caméra dynamique en fonction de deux objets (semblable à un jeu 2D donc pas de rotation). Il me faut un moyen d'avoir une détection de la position de ces objets par rapport aux "arrêtes" de la caméra. Pour le côté "dynamique" ce n'est pas le problème je saurai me débrouiller.

J'ai trouvé ceci de super intéressant ( camera.WorldToScreenPoint) : https://docs.unity3d.com/ScriptReferenc ... Point.html

C'est exactement ce dont j'ai besoin mais ça marche par rapport au nombre de pixel. Ce qui veut dire qu'en fonction de la résolution cela va influencer sur les valeurs parce que ça calcul des valeurs en pixel. J'ai essayé avec le plein écran et en petit écran et en effet les valeurs ne sont plus les mêmes.
edit : je viens d'y penser, peut être que dans le script je pourrai utiliser un pourcentage de la distance entre l'objet et l'arrête de mon objet, au lieu de définir des valeurs par rapport à résolution. En attendant je vais essayer ça..

Y a t-il alternative pour y parvenir pour avoir des valeurs "constante" de X et Y sans que ça n'interviennent en fonction de la résolution de l'application ?
Douille ou l'ail que pote étaux ? Yes I like.

Vinchont
Messages : 62
Inscription : 18 Sep 2014 14:48

Re: [MY-AL] Camera ledge / Camera dynamique

Message par Vinchont » 21 Mars 2017 12:39

Salut,

Je te redirige vers cette video du Unite 2016. C'est une vidéo sur les gizmos, mais il crée un système comme celui que tu veux faire (centré sur 1 objet, tu peux l'adapter à 2 ou plus) :
https://youtu.be/9bHzTDIJX_Q?t=558

et aussi cette doc qui a l'air de se rapprocher de ce que tu cherches:
https://docs.unity3d.com/ScriptReferenc ... Point.html
ou
https://docs.unity3d.com/ScriptReferenc ... Point.html

J'espère que ça t'aidera.

Avatar de l’utilisateur
Axel74
Messages : 100
Inscription : 23 Mai 2014 16:47
Localisation : Thonon - Lyon

Re: [MY-AL] Camera ledge / Camera dynamique

Message par Axel74 » 21 Mars 2017 16:27

Merci pour ta réponse ! La vidéo est au top, malheureusement il en dévoile pas plus que ça sur ses lignes de code pour comprendre exactement comment il fait..

Malgré ça j'ai réussi à m'en sortir avec ce que tu m'as donné.
J'utilise donc le WorldToScreenPoint de la manière suivante : je récupère les résolutions dans mon Update (pixelWidth,pixelHeight), comme ça je connais la valeur en pixel sur l'horizontal et la vertical. Je récupère la position de mes objets en pixel, que je divise par la résolution et ça me donne la bonne valeur :) Tout marche comme il faut il ne reste plus qu'à finir de configurer le côté dynamique par rapport à ces valeurs maintenant :super:
Douille ou l'ail que pote étaux ? Yes I like.

Vinchont
Messages : 62
Inscription : 18 Sep 2014 14:48

Re: [MY-AL] Camera ledge / Camera dynamique

Message par Vinchont » 21 Mars 2017 21:57

Pardon, je t'ai passé de mauvais liens, je voulais t'envoyer la mzthode worldtoviewportpoint, il te renvoie une valeur comprise entre 0 et 1 en x et y, ce qui te permet de tester rapidement et simplement si tu depasses des bords de ton ecran, peu importe la resolution.

Bonne continuation.

Avatar de l’utilisateur
Axel74
Messages : 100
Inscription : 23 Mai 2014 16:47
Localisation : Thonon - Lyon

Re: [MY-AL] Camera ledge / Camera dynamique

Message par Axel74 » 22 Mars 2017 12:14

En effet ça m'évite les calculs si c'est déjà normalisé merci :super:
Douille ou l'ail que pote étaux ? Yes I like.

Répondre

Revenir vers « (C#) CSharp »