Salut à tous, j'ai un besoin pas commun j'aimagine vu que je n'ai pas trouvé de réponse sur le net. J'ai besoin d'avoir une liste de touts les gameObjects de mon jeu pour pouvoir les utiliser depuis une autre appli et la seule solution que j'ai trouvée pour avoir accès à tous les gameObjects c'est de parser les fichiers .unity, je n'ai rien trouvé dans l'asset store qui fasse un truc pareil et j'ai pas franchement le temps de créer ça non plus, si jamais vous connaissez un autre moyen de faire ça ou bien que vous connaissez un parser pour les scènes je prends tout !
Merci d'avance
Edit : Apparemment le format est du YAML basique donc je devrais trouver un plugin qui fait ça sur l'asset store.
https://assetstore.unity.com/packages/tools/integration/yamldotnet-for-unity-36292 --> Ca devrait le faire
Le 11 mars 2019 à 12:41:31 pifpafpouf07 a écrit :
Salut à tous, j'ai un besoin pas commun j'aimagine vu que je n'ai pas trouvé de réponse sur le net. J'ai besoin d'avoir une liste de touts les gameObjects de mon jeu pour pouvoir les utiliser depuis une autre appli et la seule solution que j'ai trouvée pour avoir accès à tous les gameObjects c'est de parser les fichiers .unity, je n'ai rien trouvé dans l'asset store qui fasse un truc pareil et j'ai pas franchement le temps de créer ça non plus, si jamais vous connaissez un autre moyen de faire ça ou bien que vous connaissez un parser pour les scènes je prends tout !Merci d'avance
Edit : Apparemment le format est du YAML basique donc je devrais trouver un plugin qui fait ça sur l'asset store.
https://assetstore.unity.com/packages/tools/integration/yamldotnet-for-unity-36292 --> Ca devrait le faire
Ta demande est assez floue.
Qu'entends tu par récupérer la liste de tous les Go d'une scène ???
Les Go ne sont que des containers de composant(s).
A part le name et les values type transform cela est très abstrait.
Pour ce type de donnée c'est assez simple de base à en réaliser une liste.
Reste les refs au prefabs en référence qui peuvent demander plus d'analyse et plus de code.
Précise ta demande stp.
J'ai juste besoin des noms en fait, je dois faire une web app qui utilise ces noms pour personnaliser des composants de mon jeu Unity via un fichier JSON, comme j'utilise GO.Find() (je peux pas faire autrement) j'ai besoin d'avoir les noms tels qu'ils sont dans la scène et pas avoir à changer vers unity toutes les 2 secondes pour vérifier si le nom est bon. J'upload le fichier JSON avec mes noms vers un serveur et mon appli prend ces noms pour un champ de mon formulaire d'édition.
Le 11 mars 2019 à 13:41:35 pifpafpouf07 a écrit :
J'ai juste besoin des noms en fait, je dois faire une web app qui utilise ces noms pour personnaliser des composants de mon jeu Unity via un fichier JSON, comme j'utilise GO.Find() (je peux pas faire autrement) j'ai besoin d'avoir les noms tels qu'ils sont dans la scène et pas avoir à changer vers unity toutes les 2 secondes pour vérifier si le nom est bon. J'upload le fichier JSON avec mes noms vers un serveur et mon appli prend ces noms pour un champ de mon formulaire d'édition.
using UnityEngine;
public class LstGo : MonoBehaviour
{
void Start()
{
// Pour l'ensemble des GameObject de la scène
foreach (var gameObj in FindObjectsOfType(typeof(GameObject)) as GameObject[])
Debug.Log(gameObj.name);
}
}
Voila un composant qui fait le boulot sur le principe.
A toi de mettre en forme cela de façon Json.
A+
Non mais ça je sais le faire, j'ai besoin de faire ça mais pour toutes les scènes de mon jeu. Le plus simple que j'ai trouvé c'est de parser le texte des scènes Unity depuis l'éditeur avec un plugin qui parse le yaml et juste récuperer le nom des GO, la solution que tu m'as donnée peut marcher mais dès que je changerai un GO ça se mettra pas à jour tout seul.
Sinon ce que je peux faire c'est un fichier JSON par scène et je le met à jour automatiquement quand je bouge un truc dans ma scène, je vais voir comment je fais et je reviens vers toi si j'ai un soucis.
Purée tu cherche la compliq la
Un simple thread même Coroutine qui check le datetime de tes files peut peut être automatiser ton truc non ?
En soit c'est pas très compliqué, je pense prendre un fichier JSON par scène, ce sera déjà plus simple, pourquoi pas les merger plus tard mais en gros avec ce bout de code ça devrait marcher :
[ExecuteInEditMode]
public class Test : MonoBehaviour {
void Update(){
if(!Application.isPlaying){
//Operations de recuperation des noms de GO et écriture du fichier JSON
}
}
}
Par contre je pensais à ajouter un délai pour pas rewrite dans un fichier à chaque frame quand je déplace un truc.
Peut être devrais tu réfléchir orienté composant.
Genre un composant qui sérialize son état dans un GameObject Manager de type Singleton.
C'est lui qui fait le boulot de transfert...
Juste à mettre le composant qui doit informer de l'état sur l'ensemble de tes gameObjects de ta scène.
C'est un scénari d'option possible là.
Bonjour petite question de débutant comment régler ce problème d’arbre rose Merci Beacoup
Il n'y a pas de texture/matérial affecté à ton GameObject ?
Le 19 mars 2019 à 22:19:01 TheRealMarco a écrit :
Il n'y a pas de texture/matérial affecté à ton GameObject ?
Le 19 mars 2019 à 22:19:01 TheRealMarco a écrit :
Il n'y a pas de texture/matérial affecté à ton GameObject ?
Je n’ai pas compris ta question car je suis amateur j’ai suivis un Tuto YouTube et sur tout les objet 3D maison, Personnage sa me fait ce bug de texture j’ai télécharger tous ces objet dans Le store Merci
Tu peux montrer l'Inspector quand tu as cliqué sur ton objet ? (C'est la partie à droite avec les infos sur le GameObject).
Tu es sûr que le fichier dans le store contient la texture ?
Le 22 mars 2019 à 20:25:33 TheRealMarco a écrit :
Tu peux montrer l'Inspector quand tu as cliqué sur ton objet ? (C'est la partie à droite avec les infos sur le GameObject).Tu es sûr que le fichier dans le store contient la texture ?
Voilà l’inspector
Et normalement oui il y a des texture en tout cas dans le tuto Oui
Merci de ton aide
Tu peux m'envoyer le lien de téléchargement ?
Voilà https://assetstore.unity.com/packages/3d/vegetation/speedtree/free-speedtrees-package-29170 je crois le bug viens de moi car j’ai essayer un autre pack d’arbre et il sont tous en rose
Effectivement, j'ai aucun problème à l'importer même si j'ai eu un message d'erreur.
Essaie de régénérer les matériaux. Dans la fenêtre Project, clique sur l'arbre puis dans l'Inspector clique sur Generate materials.
Vérifie aussi que les matériaux sont bien sur les GameObjects (les GameObjects enfants de l'arbre).
Bonjour les gens
Je viens vers vous pour vous demander un p'tit coup de main :p
J'utilise Unity avec le HDSRP et shadergraph/amplify shader.
En ce moment j'apprend les shaders et FX, J'ai une petite flamme toony stylized composée de 2 meshes
- Le core avec une texture alpha enabled colorée rouge et uv scrolling
- La Shell avec une texture alpha enabled colorée jaune et uv scrolling
Comment puis-je faire en sorte que le jaune n'apparaisse que sur le rouge et que tout le reste du jaune disparaisse ?
Comme ceci :
Si vous avez une idée de procédé ou de technique connue avec de la doc, je suis preneur :p.
Le 23 mars 2019 à 09:03:14 Azertore a écrit :
Voilà https://assetstore.unity.com/packages/3d/vegetation/speedtree/free-speedtrees-package-29170 je crois le bug viens de moi car j’ai essayer un autre pack d’arbre et il sont tous en rose
Tu utilises HDRP/LWRP ? (si oui, il te faut changer tes "materials" par ceux du SRP de ton choix sinon tout restera rose).
Merci ! Pour votre aide vous m’avez sauver la vie j’ai relancer un nouveau projet et les arbres ont une texture comme par magie !
Diayz tu peut m’expliqer Comment on change la version si le bug reviens Merci !
Hello, j'ai besoin d'un coup de pouce sur un script vraiment simple
Ce que j'essaye de faire, c'est avoir un objet qui suit le player. Le meilleur exemple, c'est un tir plus ou moins auto guidé vers un joueur. Je tiens a utiliser uniquemet AddForce
J'ai bien complété les infos dans unity (speed et transform).
Mais l'objet ne bouge pas malgres le rb.AddForce.
Je precise que je débute sous Unity
@Azertore :
Il faut juste cocher les bonnes options lors de la création de ton projet.
Pour être didactique et simple , Unity dispose de deux modes de rendus utilisant des technos de shaders complètement différentes.
Une standard et une plus évoluée (je résume hein).
Tu as créer un projet en mode évolué et utilisé des assets qui utilisent des shaders de bases. C'est pas incompatible mais demande une compréhension et certaines manipulations de ta parts.
@messide :
Ta référence à target est mauvaise dans ton Start....
Dans ton code tu fait alors référence au transform de ton GameObject sur lequel est ton script.
D'autre part, la notion de speed est erroné, puisque c'est une force.
Et ton calcul de direction même s'il est valable devrait être ensuite normalisé de façon à réellement appliquer une force dans une direction mais non pas appliquer une force à un vecteur de grandeur de direction.
On en rediscute si tu ne pige pas la nuance...
Voici le code qui fonctionne, même si à mon avis c'est pas la bonne formule...
public class SharkCharge : MonoBehaviour
{
public float speed;
private Rigidbody2D rb;
public Transform target;
private void Start()
{
rb = GetComponent<Rigidbody2D>();
//target = gameObject.transform;
}
private void FixedUpdate()
{
Debug.Log(target.position - transform.position);
rb.AddForce((target.position - transform.position) * speed);
}
}
Bonne continuation à vous deux.