[MY-AL] Instantiation dans un parent, utilisation de vector3 locaux

Pour les scripts écrits en Javascript (UnityScript). :!: Obsolète :!:
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Avatar de l’utilisateur
thomasbrunel
Messages : 4
Inscription : 12 Juil 2017 14:52
Localisation : Toulouse
Contact :

[MY-AL] Instantiation dans un parent, utilisation de vector3 locaux

Message par thomasbrunel » 17 Juil 2017 18:49

Bonjour, mon projet est pour le moment de recréer la mécanique d'un jeu que j'aimais sur play1 " azure dreams ".
C'est un tower of druaga dans le style pour ceux qui connaissent. ( je cherche un codeur bon niveau js unity, dispo sous facebook de temps en temps pour des questions simples, pour apprendre plus rapidement ).

J'en suis au stade de coder la génération aléatoire d'un niveau type :
- Un nombre aléatoire de pièce compris entre 6 et 12, répartis dans un espace de 150x150 metre.
- Chaque pièce a une taille aléatoire compris entre largeur 4-8 et longueur 5-8.

Pour le moment ces 2 fonction fonctionnent bien à un détail près, je n'arrive pas à utiliser l'instantiation d'objet tout en spécifiant un préfab parent pour utiliser des vector3 locaux. Car pour le moment si mes prefab pièces apparaissent bien aléatoirement aux 4 coins de ma zone level, mes instances de bloc ( les dalles de sols ) du fait des vector 3, apparaissent par rapport au point 0 0 0 de mon level.

> Si quelqu'un peut m'aider en javascript pour ce point ? Car j'ai tout googeliser et je n'ai rien réussi à utiliser.
Avec la solution de unity officiel j'ai des soucis de " transform" is not a member of "object". Que je ne comprend pas.
> Idem pour l'utilisation de local vector 3.

Ensuite d'autres points que je ne trouve pas encore :

> L'utilisation de variable public d'un script à l'autre. J'ai suivit des tuto mais cela ne fonctionne pas.
si quelqu'un à un tuto à jour ou un exemple tout bête à recopier en js. Car dans l'avenir j'en aurais besoin.

Voici mon projet pour le moment :

Un prefab " generateur " qui fabrique les pièces avec ce script :

Code : Tout sélectionner

#pragma strict
private var leveltaille = 75;
private var nbpiece : int;
public var piece: Transform;

function Start () {
    nbpiece = Random.Range(6,12); 
    for (var i: int = 0; i < nbpiece; i++) {
    Instantiate(piece, new Vector3(Random.Range(-leveltaille, leveltaille), 0, Random.Range(-leveltaille, leveltaille)), Quaternion.identity);
	}
}

function Update () {
}

function OnGUI ()
{
	GUI.Box(Rect(60,50,130,50),"nbpiece :" + nbpiece);
}
Ensuite les prefab " piece " généré juste avant, qui instance à leur tour des blocks ( dalles de sol ) :

Code : Tout sélectionner

#pragma strict
import System.Collections.Generic;
private var PieceLargeurTaille : int;
private var PieceLongueurTaille : int;
public var block ;
var spacing = 2.0;

function Start () {

    PieceLargeurTaille = Random.Range(4,8);  
    PieceLongueurTaille = Random.Range(5,8); 

    for (var y = 0; y < PieceLargeurTaille; y++) {
        for (var x=0;x<PieceLongueurTaille;x++) {
            var pos = Vector3 (x, 0, y) * spacing;
            Instantiate(block, pos, Quaternion.identity);
            block.transform.SetParent(piece, false);
             }
	}
}

function Update () {
}

function OnGUI ()
{
	GUI.Box(Rect(60,200,130,50),"longueurtaille :" + PieceLongueurTaille);
	GUI.Box(Rect(60,250,130,50),"longueurtaille :" + PieceLargeurTaille);
}
Avec donc mon soucis sur la partie pour spécifier un parent, et le soucis pour le local vector.

Merci de votre aide si vous le pouvez.
Je tiendrais ce topic régulièrement à jour de mes avancés de mon coté.

Viendra après, la génération des portes et des murs, puis des couloirs pour relier les salles.
Ensuite la génération des monstres et du héro, leurs déplacement de 1 case par case etc.
Dernière édition par thomasbrunel le 17 Juil 2017 19:14, édité 2 fois.
Si à 50 ans tu n'a pas connu le jeu vidéo c'est que tu as raté ta vie ! :p

Avatar de l’utilisateur
Max
Messages : 8771
Inscription : 30 Juil 2011 13:57
Contact :

Re: Donjon aléatoire 3D

Message par Max » 17 Juil 2017 18:58

Bonsoir thomasbrunel,

Que ce soit des problèmes de compréhension ou d'erreurs dans le code, poste dans la section script qui va bien (sujet déplacé)
En suite, créé un sujet pour chaque type de problème, c'est plus clair, et permet de mieux cerner ce qui ne va pas, surtout pour ceux qui souhaite te répondre. Idem dans ce cas pour le titre du sujet, qui doit bien résumer le soucis rencontré.
Merci ;)
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Avatar de l’utilisateur
thomasbrunel
Messages : 4
Inscription : 12 Juil 2017 14:52
Localisation : Toulouse
Contact :

Re: Donjon aléatoire 3D

Message par thomasbrunel » 17 Juil 2017 19:10

Dac merci,
J'ai mis mon code dans les balises code mais il a enlevé tout les saut de lignes. C'est normal ? Pas pratique pour la lecture
Si à 50 ans tu n'a pas connu le jeu vidéo c'est que tu as raté ta vie ! :p

Avatar de l’utilisateur
Max
Messages : 8771
Inscription : 30 Juil 2011 13:57
Contact :

Re: Donjon aléatoire 3D

Message par Max » 17 Juil 2017 20:30

thomasbrunel a écrit :
17 Juil 2017 19:10
J'ai mis mon code dans les balises code mais il a enlevé tout les saut de lignes. C'est normal ?
il y a un bug la dessus en ce moment, mais les choses devrait rentrer dans l'ordre sous peu...
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Verrouillé

Revenir vers « (Js) Javascript »