comment combiner plusieurs objets en un seul?

Pour les scripts écrits en C#
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
Kaloverian
Messages : 155
Inscription : 10 Août 2016 03:03

comment combiner plusieurs objets en un seul?

Message par Kaloverian » 06 Oct 2020 15:30

bonjour,

Comment combiner plusieurs objets en un seul?

par exemple:

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class damier_scalable: MonoBehaviour {

	public GameObject objet_1,objet_2_objet_3;
	
	void Start () {
	
	//je souhaite créer un objet de nom combinaison qui fusionne objet_1,objet_2 et objet_3
	//que dois-je écrire?
	
	}
	
}

merci de votre aide

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 5505
Inscription : 28 Avr 2014 11:57
Localisation : Toulouse

Re: comment combiner plusieurs objets en un seul?

Message par boubouk50 » 06 Oct 2020 17:01

Combiner des meshs est un terme spécifique. Il permet d'avoir un seul mesh à partir d'autres. Si tu souhaites obtenir un nouveau mesh, alors c'est bien le bon terme.
Si le mesh ne t'intéresse pas en soi, alors, la création d'un nœud parent null qui possède les 3 gameObjects en enfant pourrait être plus approprié.

Pour la combinaison de mesh, tu as une fonction toute faite:
Mesh.CombineMeshes ()
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
Kaloverian
Messages : 155
Inscription : 10 Août 2016 03:03

Re: comment combiner plusieurs objets en un seul?

Message par Kaloverian » 10 Oct 2020 02:05

Apparemment,il n'existe ne fonction de combinaison de meshs mais pas de fonction de combinaison d'objets.
Partant d'objets,dois-je alors les convertir en mesh pour créer un combineMesh à convertir en objet?
autre façon?

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

Re: comment combiner plusieurs objets en un seul?

Message par Max » 10 Oct 2020 10:14

Bonjour,
Kaloverian a écrit :
10 Oct 2020 02:05
Apparemment,il n'existe ne fonction de combinaison de meshs mais pas de fonction de combinaison d'objets.
Partant d'objets,dois-je alors les convertir en mesh pour créer un combineMesh à convertir en objet?
autre façon?
Combiner deux Objects n'a pas vraiment de sens en soit. Ce ne sont que des containers dans lesquels on vient ajouter des components, comme des MeshFilter par exemple.
Donc si c'est bel et bien les meshs de plusieurs GameObjects que tu souhaites combiner, passer par Mesh.CombineMeshes() est une bonne approche. D'ailleurs, la doc fournis un exemple de combinaison basée sur les meshs des GO enfant d'un GO.
Après, si ce n'est pas cela, il faut exposer de manière plus précise ce que tu cherches à faire.
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
Kaloverian
Messages : 155
Inscription : 10 Août 2016 03:03

Re: comment combiner plusieurs objets en un seul?

Message par Kaloverian » 19 Nov 2020 23:49

j'ai crée un script qui génère dynamiquement des objets.Une fois générés,ils deviennent enfant d'un parent empty de nom donné.
Les enfants du parent empty apparaissent bien lorsque j'appuie sur Play...mais je n'arrive pas à récupérer ce parent (avec ces enfants) pour en faire un préfab à réutiliser par la suite(lorsque Play est désactivé)
Y a-t-il une solution?
Dernière édition par Kaloverian le 20 Nov 2020 14:21, édité 1 fois.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 5505
Inscription : 28 Avr 2014 11:57
Localisation : Toulouse

Re: comment combiner plusieurs objets en un seul?

Message par boubouk50 » 20 Nov 2020 10:50

La création de prefab nécessite PrefabUtility qui n'est accessible qu'en Editeur. (nameSpace UnityEditor)
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Répondre

Revenir vers « (C#) CSharp »