Level Builder
Level Builder
Bonjour,
Alors voila, je pèche complétement sur une fonctionnalité que j'aimerais donner a mon jeu : le fait de pouvoir créer son propre niveau.
Pour vous donner une idée, sur les jeux de village de guerre style clash of clans, vous pouvez créer votre structure, a partir d'objets que vous avez en votre possession (les murs, tours de combats, le tralala).
Dans mon cas, j'ai le sol qui peut être de 3 types différents, et des objets a mettre dessus, rien de plus, mais je ne sais pas du tout comment m'y prendre pour faire ça...
Existe-t-il des tutos sur des jeux similaires ?
Alors voila, je pèche complétement sur une fonctionnalité que j'aimerais donner a mon jeu : le fait de pouvoir créer son propre niveau.
Pour vous donner une idée, sur les jeux de village de guerre style clash of clans, vous pouvez créer votre structure, a partir d'objets que vous avez en votre possession (les murs, tours de combats, le tralala).
Dans mon cas, j'ai le sol qui peut être de 3 types différents, et des objets a mettre dessus, rien de plus, mais je ne sais pas du tout comment m'y prendre pour faire ça...
Existe-t-il des tutos sur des jeux similaires ?
Re: Level Builder
Que cherche tu? comment faire un éditeur ou comment pouvoir sauvegarder les données?
______________________________________________________________
\_______________________ Impossible is nothing _______________________/
Re: Level Builder
Les 2
Pour le moment je tente de faire un editeur...
J'ai un cube, il représente le sol, mais il peut avoir 2 états différents (donc 3 au total, le sol, la glace, ou l'escalier).
J'essaie de lui donner un script avec un booléen isStairs et isIce, il doit pouvoir changer d'état et de mesh selon ce que le joueur choisi.
Ce cube peut également monter ou descendre sur l'axe y de la valeur d'un entier (avec un max et un min).
Est-ce que vous connaissez un moyen de dire "si l'objet est cliqué" puis "si c'est un autre qui est cliqué" ? pour ajouter les outils monter, descendre, et les booléens, et que ces outils agissent sur le cube selectionné...
Edit : l'escalier peut egalement etre tourné sur l'axe y donc rotation 0, 90, 180 ou 270.
Re: Level Builder
Pour savoir si l'object est cliqué, il faut qu'il ai un collider, ensuite regarde du coté de OnMouse Down/Over/Enter/Exit...
Tu aura déjà pas mal de piste je pense
Tu cherche a faire tout ça en mode Play je suppose ( si tu veux les autres puissent créer) ?
Il te faudra aussi de GUI par exemple, pour pouvoir assigner les paramètre souhaiter.
En gros avec le OnMouseDown, tu peux récupérer le GameObject sur lequel tu as cliqué.
Sur ton GameObject tu as un script, qui affiche des GUI correspondant au paramètres qui lui sont propre et qui permettent de le modifier.
Tu aura déjà pas mal de piste je pense
Tu cherche a faire tout ça en mode Play je suppose ( si tu veux les autres puissent créer) ?
Il te faudra aussi de GUI par exemple, pour pouvoir assigner les paramètre souhaiter.
En gros avec le OnMouseDown, tu peux récupérer le GameObject sur lequel tu as cliqué.
Sur ton GameObject tu as un script, qui affiche des GUI correspondant au paramètres qui lui sont propre et qui permettent de le modifier.
______________________________________________________________
\_______________________ Impossible is nothing _______________________/
Re: Level Builder
Pour ce qui est du clic, pas de soucis, mais comment lui dire "lorsque tu n'est plus sélectionné" ?
Parce que ici, si je clique sur 2 gameObjects différents l'un après l'autre, il faut que les GUI du premier disparaissent lorsque je clique sur le 2ème.
EDIT : Oui c'est bien pour que les joueurs puissent créer leur niveau.
Re: Level Builder
Perso je ferai un script dédié a l'éditeur, avec une variable static GameObject Selected:, sur un GameObject unique, et un script de sélection sur chacun de GameObject sélectionnable.
lorsque tu clique sur un object, tu assigne au script Editeur le GameObject qui a été cliqué pour la variable Selected, et c'est ce script Editeur qui s'occupera d'afficher GUI et modifier le GameObject selectionné. Dès que tu cliquera sur un autre gameObject, , Selected changera et le script affichera le bon GUI
lorsque tu clique sur un object, tu assigne au script Editeur le GameObject qui a été cliqué pour la variable Selected, et c'est ce script Editeur qui s'occupera d'afficher GUI et modifier le GameObject selectionné. Dès que tu cliquera sur un autre gameObject, , Selected changera et le script affichera le bon GUI
______________________________________________________________
\_______________________ Impossible is nothing _______________________/
Re: Level Builder
C'est exactement ce que je suis en train de faire ça me rassure !djulio74 a écrit : ↑06 Nov 2018 16:44Perso je ferai un script dédié a l'éditeur, avec une variable static GameObject Selected:, sur un GameObject unique, et un script de sélection sur chacun de GameObject sélectionnable.
lorsque tu clique sur un object, tu assigne au script Editeur le GameObject qui a été cliqué pour la variable Selected, et c'est ce script Editeur qui s'occupera d'afficher GUI et modifier le GameObject selectionné. Dès que tu cliquera sur un autre gameObject, , Selected changera et le script affichera le bon GUI
Je vous tiendrais au courant de mon avancée. (Après, ma version vous donnera probablement des vertiges tant on aurait pu faire mieux mais bon )
Re: Level Builder
Oui pas de soucis montre nous ça quand tu voudra.
tu peux aussi choisir quel type de GUI ( quelles type de donnée ) à afficher (modifier) en te servant du tag de tes gameObject.
tu peux aussi choisir quel type de GUI ( quelles type de donnée ) à afficher (modifier) en te servant du tag de tes gameObject.
______________________________________________________________
\_______________________ Impossible is nothing _______________________/
Re: Level Builder
J'aimerais savoir comment faire pour transformer mon gameObject cube en mon gameObject escalier lorsque je veux le faire...
Dans le script de mon gameObject, j'ai mis :
J'ai eu une erreur avec mesh et l'erreur dit d'utiliser sharedMesh, ce qui ne donne rien.
En plus mon gameObject stairs n'a pas de mesh, c'est une pile de cubes enfants qui forment l'escalier...
Comment faire ?
Dans le script de mon gameObject, j'ai mis :
Code : Tout sélectionner
public GameObject grass;
public GameObject stairs;
public GameObject ice;
void Update () {
if (isIce)
{
transform.GetComponent<MeshFilter>().mesh = ice.GetComponent<MeshFilter>().sharedMesh;
}
}
En plus mon gameObject stairs n'a pas de mesh, c'est une pile de cubes enfants qui forment l'escalier...
Comment faire ?
Re: Level Builder
tu donne la réponse toi même " ton Gameobject stair n'as pas de mesh". donc impossible de lui en assigné un...
peut être plus simple de modéliser tes différents objet en un seul mesh ( blender ou autre)
de plus si tu met ton changement de mesh en Update, ça va ramer sec, vu que tu vas demander au moins 60 fois par seconde de changer le mesh...
peut être plus simple de modéliser tes différents objet en un seul mesh ( blender ou autre)
de plus si tu met ton changement de mesh en Update, ça va ramer sec, vu que tu vas demander au moins 60 fois par seconde de changer le mesh...
______________________________________________________________
\_______________________ Impossible is nothing _______________________/