Se connecter

Informatique

Création de Jeux

Sujet : J'aide les gens dans Unity
180
-Oscar97
Niveau 64
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 12
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 12
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 64
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 12
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 62
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?

Lapintade
Niveau 26
14 mai 2024 à 11:04:35

Les questions Unity sont plus rares, je pense que je vais desepingler ce topic.

seindesprit
Niveau 3
19 septembre 2024 à 09:05:59

salut
j'ai un problème avec mon script de génération de dungeon (salle avec passerelles)
le script génère des salles en despi procédural reliées parfois par des passerelles et dispatch les salles à des positions aléatoire mais adjacentes avec une petite distance entre elles
les murs des salles sont créés avec des ouvertures pour les sortie et les murs connectés par une passerelle sont colorés en jaune (mais ça ne marche qu'a moitié ou pas du tout).
j'ai besoin de différencier les murs qui sont reliés par des passerelles et ceux qui ne le sont pas j'ai trouvé que ça comme idée.
mais j'y arrive pas, j'ai besoin d'une alternative car j'ai l'impression de me compliquer la vie pour rien
tout se fait sur le même fichier
https://pastebin.com/39t5rf2f
merci d'avance

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