Se connecter

Informatique

Création de Jeux

Sujet : J'aide les gens dans Unity
180
-Oscar97
Niveau 57
31 août 2023 à 18:59:58

Le 31 août 2023 à 18:34:19 :

Le 31 août 2023 à 16:54:45 :
Bon en fait j'ai trouvé une solution à mon problème, c'était vraiment très con. :hap:
Par contre je voudrais quand même savoir s'il y a une alternative pour que le Raycast ignore un objet en particulier sans qu'il soit dans un layer à part, ça peut toujours être utile.

Tu peux toujours faire des conditions après avoir effectué ton raycast, dans le if correspondant. Suffit de checkez si c'est l'objet à ignorer, si c'est le cas ne rien faire, sinon tu executes ton code

J'utilise TryGetComponent pour ça en général

par exemple

Oui, mais dans ce cas là ça fait des raycasts qui servent à rien je pense (ils touchent l'objet à ignorer en premier, donc on entre pas dans le if). :(
Mais la méthode de d'abord mettre l'objet à ignorer dans un layer en particulier et le retirer après le raycast c'est une bonne idée je pense.

-Oscar97
Niveau 57
31 août 2023 à 19:16:37

Après tu peux aussi récupérer le point de collision entre le raycast et l'objet à ignorer et relancer un raycast dans la même direction, depuis ce point de collision...

BrandNewFlavor
Niveau 9
31 août 2023 à 19:26:19

Le 31 août 2023 à 18:59:58 :

Le 31 août 2023 à 18:34:19 :

Le 31 août 2023 à 16:54:45 :
Bon en fait j'ai trouvé une solution à mon problème, c'était vraiment très con. :hap:
Par contre je voudrais quand même savoir s'il y a une alternative pour que le Raycast ignore un objet en particulier sans qu'il soit dans un layer à part, ça peut toujours être utile.

Tu peux toujours faire des conditions après avoir effectué ton raycast, dans le if correspondant. Suffit de checkez si c'est l'objet à ignorer, si c'est le cas ne rien faire, sinon tu executes ton code

J'utilise TryGetComponent pour ça en général

par exemple

Oui, mais dans ce cas là ça fait des raycasts qui servent à rien je pense (ils touchent l'objet à ignorer en premier, donc on entre pas dans le if). :(
Mais la méthode de d'abord mettre l'objet à ignorer dans un layer en particulier et le retirer après le raycast c'est une bonne idée je pense.

Bah non, tu fais d'abord le raycast, et dans le raycast tu check les objets, et tu décides d'ignorer ou non.
Tu mets tous les object susceptibles d'être raycast dans le même layer, tu fais un raycast sur ce layer, et tu fais ta logique de vérification dans le if.

Il faut utiliser la version de Raycast avec un "out RaycastHit", et c'est ce raycastHit que tu check, et tu décides si c'est valide ou non

BrandNewFlavor
Niveau 9
31 août 2023 à 19:34:33

if(Physics.Raycast(..., out RaycastHit hit, ..){
 if(hit.TryGetComponent<TonScript>().isIgnored) return;
 Ton Code
 }
}

Par exemple
Le TryGetComponent est pas obligatoire dans mon exemple, mais ça permet de stocker ton script dans une variable en rajoutant hit.TryGetComponent<TonScript>(out taVariable)

-Oscar97
Niveau 57
31 août 2023 à 20:53:36

Le 31 août 2023 à 19:34:33 :
if(Physics.Raycast(..., out RaycastHit hit, ..){ if(hit.TryGetComponent<TonScript>().isIgnored) return; Ton Code } }

Par exemple
Le TryGetComponent est pas obligatoire dans mon exemple, mais ça permet de stocker ton script dans une variable en rajoutant hit.TryGetComponent<TonScript>(out taVariable)

Attends, un raycast s'arrête pas au premier objet touché ?

BrandNewFlavor
Niveau 9
03 septembre 2023 à 15:22:50

Le 31 août 2023 à 20:53:36 :

Le 31 août 2023 à 19:34:33 :
if(Physics.Raycast(..., out RaycastHit hit, ..){ if(hit.TryGetComponent<TonScript>().isIgnored) return; Ton Code } }

Par exemple
Le TryGetComponent est pas obligatoire dans mon exemple, mais ça permet de stocker ton script dans une variable en rajoutant hit.TryGetComponent<TonScript>(out taVariable)

Attends, un raycast s'arrête pas au premier objet touché ?

Dans mon exemple si, ça s'arrête au premier objet touché ( et le sauvegarde dans le RaycastHit )
Si tu veux avoir tous les objets touché par ton raycast, il faut plutôt utiliser RaycastAll, SphereCastAll etc, au lieu de simplement retourné un raycasthit, ça retourne un array de raycasthit

Albundy1
Niveau 6
19 septembre 2023 à 02:07:58

Salut il m'arrive un truc étrange.

Unity m'oblige à réimporter mon projet mais je n'ai fait aucune mise à jour dans Unity ni dans aucun assets, les autres projets s'ouvre normalement ?

C'est un bug ou c'est normal ?

ultramaxsetting
Niveau 34
09 octobre 2023 à 16:39:03

Salut, je voulais faire un ascenseur.
https://www.noelshack.com/2023-41-1-1696861824-capture-d-ecran-2023-10-09-162853.png
https://www.noelshack.com/2023-41-1-1696861833-ddd.png
le problème est le suivant, je dois sortir de l'ascenseur pour qu'il redescende pour prendre en compte le "beginoverlap" il y a pas une option ou tant qu'on est dans le overlap, ça prend en compte les inputs ?

ulgrude
Niveau 18
12 octobre 2023 à 15:14:55

:salut:

J'ai un problème de scène corrompue, dès que j'essaie de l'ouvrir ça crash.
La première fois, je devais être en train de créer des GameObject UI et ça a crash quand j'ai voulu mettre play. Depuis, je ne peux plus lancer cette scène.

Auriez-vous une idée de comment supprimer ces potentiels GameObject corrompus ? :(

:merci:

ulgrude
Niveau 18
12 octobre 2023 à 21:52:31

Le 12 octobre 2023 à 15:14:55 ulgrude a écrit :
:salut:

J'ai un problème de scène corrompue, dès que j'essaie de l'ouvrir ça crash.
La première fois, je devais être en train de créer des GameObject UI et ça a crash quand j'ai voulu mettre play. Depuis, je ne peux plus lancer cette scène.

Auriez-vous une idée de comment supprimer ces potentiels GameObject corrompus ? :(

:merci:

J'ai mit à jour ma version d'Unity et j'arrive à ouvrir la scène dorénavant !

BrandNewFIavor
Niveau 6
19 octobre 2023 à 14:01:47

Le 12 octobre 2023 à 21:52:31 :

Le 12 octobre 2023 à 15:14:55 ulgrude a écrit :
:salut:

J'ai un problème de scène corrompue, dès que j'essaie de l'ouvrir ça crash.
La première fois, je devais être en train de créer des GameObject UI et ça a crash quand j'ai voulu mettre play. Depuis, je ne peux plus lancer cette scène.

Auriez-vous une idée de comment supprimer ces potentiels GameObject corrompus ? :(

:merci:

J'ai mit à jour ma version d'Unity et j'arrive à ouvrir la scène dorénavant !

Tu devrais t'intéresser au version control, comme git par exemple.
Ca t'aurait permit de revenir à un stade antérieur de ton projet, juste avant que ça provoque un crash.

RaptorWars22
Niveau 1
27 décembre 2023 à 13:59:24

Bonjour,
J'aimerais créer un RPG dans un monde médiéval réaliste mais je suis seul dans le projet et je cherche quelqu'un car je suis pas très bon sur Unity.

Ibadez38
Niveau 46
27 décembre 2023 à 14:17:39

Le 27 décembre 2023 à 13:59:24 :
Bonjour,
J'aimerais créer un RPG dans un monde médiéval réaliste mais je suis seul dans le projet et je cherche quelqu'un car je suis pas très bon sur Unity.

Du coup tu apporterais quoi au projet?

180
Sujet : J'aide les gens dans Unity
   Retour haut de page
Consulter la version web de cette page