Comment creuser ?
-
- Messages : 6
- Inscription : 29 Déc 2010 01:21
Comment creuser ?
Bonjour,
Après de très nombreuses recherches je n'ai pas encore trouvé la réponse à mon petit "problème"... Sous les demandes d'un administrateur, je dois créer une map. J'ai entouré mon terrain de montagnes et j'aimerais faire un "tunnel secret" horizontalement pour traverser à l'intérieur de la montagne. (il est possible que je ne sois pas très clair donc si vous ne comprenez pas, voici un mimi schéma et si malgré ça ne comprenez toujours pas, je peux essayer de vous en dire plus...) Mon seul problème c'est que je ne sais pas comment "creuser" afin de faire ce "tunnel secret". J'aimerais savoir quels outils je dois utiliser pour creuser... Je suis un peu désespéré.
Merci d'avance pour vos réponses et bonne journée ^^
Après de très nombreuses recherches je n'ai pas encore trouvé la réponse à mon petit "problème"... Sous les demandes d'un administrateur, je dois créer une map. J'ai entouré mon terrain de montagnes et j'aimerais faire un "tunnel secret" horizontalement pour traverser à l'intérieur de la montagne. (il est possible que je ne sois pas très clair donc si vous ne comprenez pas, voici un mimi schéma et si malgré ça ne comprenez toujours pas, je peux essayer de vous en dire plus...) Mon seul problème c'est que je ne sais pas comment "creuser" afin de faire ce "tunnel secret". J'aimerais savoir quels outils je dois utiliser pour creuser... Je suis un peu désespéré.
Merci d'avance pour vos réponses et bonne journée ^^
Re: Comment creuser ?
Salut,
Ben tu peux tricher... Faire ta map dans un logiciel 3D (au hazard blender), tu crée déja le trou dans ta montagne et tu crée un objet qui bouchera ce trou (un genre de cylindre long).
Tu importe le tout dans unity et dans ton script tu agis sur ton objet cylindre et quand le perso creuse, tu diminue la taille du cylindre sur l'axe des y pour arriver progressivement à 0, ce qui créera le trou.
Bon c'est juste une idée que je n'ai pas testée, mais ca me parait bien, en tout cas c'est très faisable. Le principal c'est de donner l'illusion que l'on creuse.
Après si quelqu'un a une meilleure idée, a lui la parole
++
Ben tu peux tricher... Faire ta map dans un logiciel 3D (au hazard blender), tu crée déja le trou dans ta montagne et tu crée un objet qui bouchera ce trou (un genre de cylindre long).
Tu importe le tout dans unity et dans ton script tu agis sur ton objet cylindre et quand le perso creuse, tu diminue la taille du cylindre sur l'axe des y pour arriver progressivement à 0, ce qui créera le trou.
Bon c'est juste une idée que je n'ai pas testée, mais ca me parait bien, en tout cas c'est très faisable. Le principal c'est de donner l'illusion que l'on creuse.
Après si quelqu'un a une meilleure idée, a lui la parole
++
-
- Messages : 6
- Inscription : 29 Déc 2010 01:21
Re: Comment creuser ?
Tout d'abord, merci de votre réponse. Ensuite, cela m'a l'air très compliquer. Surtout que moi et les scripts on n'est pas très amis... Je sais faire les trucs de base mais, cela à l'air compliquer pour mon petit cerveau.
Re: Comment creuser ?
Bon quoi qu'il arrive il va bien falloir scripter pour creuser.
Premièrement il y a la modélisation, il faut faire une montagne avec un trou et un objet qui bloque ce trou.
Ensuite par script associé a cet objet il faut agir sur son gameObject.transform.scale.y et réduire sa valeur jusqu'a 0 pour la faire disparaitre.
On peut dire
C'est une idée.
Premièrement il y a la modélisation, il faut faire une montagne avec un trou et un objet qui bloque ce trou.
Ensuite par script associé a cet objet il faut agir sur son gameObject.transform.scale.y et réduire sa valeur jusqu'a 0 pour la faire disparaitre.
On peut dire
Code : Tout sélectionner
if (gameObject.transform.scale.y == 0)
Destroy(gameObject);
-
- Messages : 6
- Inscription : 29 Déc 2010 01:21
Re: Comment creuser ?
D'accord, mais comment faire un trou ? XD je sais, je suis bête... Pouvez-vous m'expliquer étape par étapes s'il vous plaît ?
Re: Comment creuser ?
Ca je ne sais pas faire car je ne fais pas la modélisation 3D de mes jeux, ce sont des graphistes qui s'en occupent. Il faudra donc apprendre a modéliser sur blender, il y a un bon tuto ici : http://www.siteduzero.com/tutoriel-3-11 ... ender.html
en 10 jours on sais utiliser blender !
en 10 jours on sais utiliser blender !
Re: Comment creuser ?
Bon, desole de te decevoir mais effectivement, tu vas devoir passer par un script. Ou alors.... Bon, revenons a ton probleme. 2 solutions
1/ Avec un seul terrain. Les terrains crees dans Unity sont de type 'heightfield/heightmap". Qu'est ce que ca veut dire ? Ce sont des sortes de grilles geantes ou a chaques cellules de la grille on affecte une valeur de hauteur. Tu ne peux mettre qu'une valeur pour chaque cellule de coordonnees X (Est-Ouest) Y (Nord Sud). Donc, c'est impossible de representer une grotte avec un terrain. Donc, on en revient a la solution de Error404.
2/ La deuxieme possibilite, c'est de tricher avec 3 terrains. Tu prends le premier terrain et tu fais ta montagne. Simple. Ensuite, tu crees 1 cube exactement a l'entree de ton tunnel, sans mesh bien entendu, et tu le mets en trigger. La, tu vas devoir scripter un peu. Ces cubes representeront en quelques sortes l'entree de ton tunnel. Quand ton perso rentre dans un cube, il est teleporte de qq m juste SOUS la surface du terrain (1). Donc dans ton cas de qq m sur un plan horizontal. La, le perso se retrouve sur le terrain (2), dans la grotte. En fait, en script, il faut juste rajouter un petit chouilla a ton transform.x et transform.z.
Le terrain (2) represente le sol de la grotte, c'est un tout petit terrain, tout en longueur, creuse par un canyon. La, si tu veux, tu utilises le generateur Voronoi pour faire des stalagmites au fond du canyon, si tu utilises un generateur de terrain, applique une erosion de type glaciaire a ton canyon, ca donnera une belle forme en U. Ensuite, tu duplicates ce terrain, tu rajoutes un peu de bruit (Perlin, tres leger) et tu lui appliques une rotation de 180 deg sur l'axe x ou z et ca cree le terrain (3) qui va etre ton plafond. Tu mets ce terrain (3) juste au dessus du terrain (2). Tu as cree une sorte de cylindre. Ok ?
Apres tu textures ton terrain pour avoir une belle roche humide, tu peux rajouter un lac/riviere souterraine etc.... C'est la partie fun.
Si tu t'es bien debrouille, tu vas avoir une grotte splendide avec des stalactites et des stalagmites. Pour sortir de la grotte, meme chose avec un cube trigger qui te teleporte de qq m.
L'avantage de cette methode, c'est que tu peux faire des grottes de toutes les formes, tu n'as pas vraiment besoin de te faire ch.er avec Blender (qui est loin d'etre evident, je bataille avec depuis 1 mois), tu peux tout faire dans Unity meme si ca sera pas aussi beau.
C'est tordu mais ca donne un bon resultat. Le seul point faible, c'est la transition par 'teleportation' dans ta grotte. Cela dit, tu peux creer une scene intermediaire purement passive avec une petite animation bidon du perso qui rentre/sort de la grotte.
Si c'est purement un tunnel, tu n'as pas besoin de te casser la tete avec les stalactites et les stalagmites. Mais bon, il faudra quand meme donner un peu de vie au terrain 2 et 3 en rajoutant du bruit.
Voila, cela dit, je suis un tout debutant sur Unity, il y a peut etre une solution plus simple.
1/ Avec un seul terrain. Les terrains crees dans Unity sont de type 'heightfield/heightmap". Qu'est ce que ca veut dire ? Ce sont des sortes de grilles geantes ou a chaques cellules de la grille on affecte une valeur de hauteur. Tu ne peux mettre qu'une valeur pour chaque cellule de coordonnees X (Est-Ouest) Y (Nord Sud). Donc, c'est impossible de representer une grotte avec un terrain. Donc, on en revient a la solution de Error404.
2/ La deuxieme possibilite, c'est de tricher avec 3 terrains. Tu prends le premier terrain et tu fais ta montagne. Simple. Ensuite, tu crees 1 cube exactement a l'entree de ton tunnel, sans mesh bien entendu, et tu le mets en trigger. La, tu vas devoir scripter un peu. Ces cubes representeront en quelques sortes l'entree de ton tunnel. Quand ton perso rentre dans un cube, il est teleporte de qq m juste SOUS la surface du terrain (1). Donc dans ton cas de qq m sur un plan horizontal. La, le perso se retrouve sur le terrain (2), dans la grotte. En fait, en script, il faut juste rajouter un petit chouilla a ton transform.x et transform.z.
Le terrain (2) represente le sol de la grotte, c'est un tout petit terrain, tout en longueur, creuse par un canyon. La, si tu veux, tu utilises le generateur Voronoi pour faire des stalagmites au fond du canyon, si tu utilises un generateur de terrain, applique une erosion de type glaciaire a ton canyon, ca donnera une belle forme en U. Ensuite, tu duplicates ce terrain, tu rajoutes un peu de bruit (Perlin, tres leger) et tu lui appliques une rotation de 180 deg sur l'axe x ou z et ca cree le terrain (3) qui va etre ton plafond. Tu mets ce terrain (3) juste au dessus du terrain (2). Tu as cree une sorte de cylindre. Ok ?
Apres tu textures ton terrain pour avoir une belle roche humide, tu peux rajouter un lac/riviere souterraine etc.... C'est la partie fun.
Si tu t'es bien debrouille, tu vas avoir une grotte splendide avec des stalactites et des stalagmites. Pour sortir de la grotte, meme chose avec un cube trigger qui te teleporte de qq m.
L'avantage de cette methode, c'est que tu peux faire des grottes de toutes les formes, tu n'as pas vraiment besoin de te faire ch.er avec Blender (qui est loin d'etre evident, je bataille avec depuis 1 mois), tu peux tout faire dans Unity meme si ca sera pas aussi beau.
C'est tordu mais ca donne un bon resultat. Le seul point faible, c'est la transition par 'teleportation' dans ta grotte. Cela dit, tu peux creer une scene intermediaire purement passive avec une petite animation bidon du perso qui rentre/sort de la grotte.
Si c'est purement un tunnel, tu n'as pas besoin de te casser la tete avec les stalactites et les stalagmites. Mais bon, il faudra quand meme donner un peu de vie au terrain 2 et 3 en rajoutant du bruit.
Voila, cela dit, je suis un tout debutant sur Unity, il y a peut etre une solution plus simple.
-
- Messages : 6
- Inscription : 29 Déc 2010 01:21
Re: Comment creuser ?
Merci beaucoup ^^ Je vais essayer, mais j'ai juste pas compris quelque chose. Que devrais-je scripter ? Ca à l'air malheureusement dur.Makandal a écrit :Bon, desole de te decevoir mais effectivement, tu vas devoir passer par un script. Ou alors.... Bon, revenons a ton probleme. 2 solutions
1/ Avec un seul terrain. Les terrains crees dans Unity sont de type 'heightfield/heightmap". Qu'est ce que ca veut dire ? Ce sont des sortes de grilles geantes ou a chaques cellules de la grille on affecte une valeur de hauteur. Tu ne peux mettre qu'une valeur pour chaque cellule de coordonnees X (Est-Ouest) Y (Nord Sud). Donc, c'est impossible de representer une grotte avec un terrain. Donc, on en revient a la solution de Error404.
2/ La deuxieme possibilite, c'est de tricher avec 3 terrains. Tu prends le premier terrain et tu fais ta montagne. Simple. Ensuite, tu crees 1 cube exactement a l'entree de ton tunnel, sans mesh bien entendu, et tu le mets en trigger. La, tu vas devoir scripter un peu. Ces cubes representeront en quelques sortes l'entree de ton tunnel. Quand ton perso rentre dans un cube, il est teleporte de qq m juste SOUS la surface du terrain (1). Donc dans ton cas de qq m sur un plan horizontal. La, le perso se retrouve sur le terrain (2), dans la grotte. En fait, en script, il faut juste rajouter un petit chouilla a ton transform.x et transform.z.
Le terrain (2) represente le sol de la grotte, c'est un tout petit terrain, tout en longueur, creuse par un canyon. La, si tu veux, tu utilises le generateur Voronoi pour faire des stalagmites au fond du canyon, si tu utilises un generateur de terrain, applique une erosion de type glaciaire a ton canyon, ca donnera une belle forme en U. Ensuite, tu duplicates ce terrain, tu rajoutes un peu de bruit (Perlin, tres leger) et tu lui appliques une rotation de 180 deg sur l'axe x ou z et ca cree le terrain (3) qui va etre ton plafond. Tu mets ce terrain (3) juste au dessus du terrain (2). Tu as cree une sorte de cylindre. Ok ?
Apres tu textures ton terrain pour avoir une belle roche humide, tu peux rajouter un lac/riviere souterraine etc.... C'est la partie fun.
Si tu t'es bien debrouille, tu vas avoir une grotte splendide avec des stalactites et des stalagmites. Pour sortir de la grotte, meme chose avec un cube trigger qui te teleporte de qq m.
L'avantage de cette methode, c'est que tu peux faire des grottes de toutes les formes, tu n'as pas vraiment besoin de te faire ch.er avec Blender (qui est loin d'etre evident, je bataille avec depuis 1 mois), tu peux tout faire dans Unity meme si ca sera pas aussi beau.
C'est tordu mais ca donne un bon resultat. Le seul point faible, c'est la transition par 'teleportation' dans ta grotte. Cela dit, tu peux creer une scene intermediaire purement passive avec une petite animation bidon du perso qui rentre/sort de la grotte.
Si c'est purement un tunnel, tu n'as pas besoin de te casser la tete avec les stalactites et les stalagmites. Mais bon, il faudra quand meme donner un peu de vie au terrain 2 et 3 en rajoutant du bruit.
Voila, cela dit, je suis un tout debutant sur Unity, il y a peut etre une solution plus simple.
Re: Comment creuser ?
As tu jeté un œil sur le lien posté?
JP
JP