Je peux avoir aussi ton code stp? Entier.
Besoin de conseils graphismes et performances
- boubouk50
- ModoGenereux
- Messages : 6255
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Besoin de conseils graphismes et performances
"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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Besoin de conseils graphismes et performances
Oui j'ai simplement copié le bout de code que j'ai vu dans le lien :
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CombineMeshes : MonoBehaviour {
void Start()
{
MeshFilter[] meshFilters = GetComponentsInChildren<MeshFilter>();
CombineInstance[] combine = new CombineInstance[meshFilters.Length];
int i = 0;
while (i < meshFilters.Length)
{
combine[i].mesh = meshFilters[i].sharedMesh;
combine[i].transform = meshFilters[i].transform.localToWorldMatrix;
meshFilters[i].gameObject.active = false;
i++;
}
transform.GetComponent<MeshFilter>().mesh = new Mesh();
transform.GetComponent<MeshFilter>().mesh.CombineMeshes(combine);
transform.gameObject.active = true;
}
// Update is called once per frame
void Update () {
}
}
- boubouk50
- ModoGenereux
- Messages : 6255
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Besoin de conseils graphismes et performances
Tu te doutes que c'est un exemple et qu'il n'a pas été fait pour ton jeu...
Ça serait bien quand même, arrivé à ce stade de la création de jeu, de comprendre le code. Tu risques de beaucoup ramer sinon.
Je te fais le commentaire:
Code : Tout sélectionner
//Tu récupères tous les MeshFilters (donc le mesh de base) des enfants du GameObject sur lequel ce script est posé
MeshFilter[] meshFilters = GetComponentsInChildren<MeshFilter>();
//Création/Initialisation des variables locales
CombineInstance[] combine = new CombineInstance[meshFilters.Length];
int i = 0;
while (i < meshFilters.Length)
{
//Pour chacun des meshFilters récupérés, on associe les Meshs et le transform puis on masque l'original.
combine[i].mesh = meshFilters[i].sharedMesh;
combine[i].transform = meshFilters[i].transform.localToWorldMatrix;
meshFilters[i].gameObject.active = false;
i++;
}
//On crée un nouveau mesh à partir de la combinaison que l'on affecte au mesh filter du GameObject sur lequel ce script est posé et on l'active
transform.GetComponent<MeshFilter>().mesh = new Mesh();
transform.GetComponent<MeshFilter>().mesh.CombineMeshes(combine);
transform.gameObject.active = true;
}
"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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Besoin de conseils graphismes et performances
C'est bien ce que j'ai fait, non vide.J'ai appliqué le script a Foret. Au départ j'avais une erreur, il fallait ajouter un Mesh a Foret.
Je lui ai mis un cube, et a l’exécution du jeu, le mesh passe de "cube" a "foret", mais rien de visible.
Merci pour les commentaires mais j'avais bien compris le code, c'est pour ça que je l'ai appliqué a mon empty GameObject Foret ce script et que je lui ai ajouté un mesh.
Est-ce que je passe a coté de quelque chose qui vous est évident ? Pourquoi rien n'apparait ?
- boubouk50
- ModoGenereux
- Messages : 6255
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Besoin de conseils graphismes et performances
Un scale peut-être?
"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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Besoin de conseils graphismes et performances
Tu n'as aucun autre message d'erreur ?
Un arbre contient combien de vertices, et combien de clones fais-tu au total ?
Un arbre contient combien de vertices, et combien de clones fais-tu au total ?
Re: Besoin de conseils graphismes et performances
Un Mesh Renderer
Oh j'ai honte
Par contre il faut ajouter un Material, et donc comme disait boubouk50 plus tôt, lier chaque mesh ayant le même material, mais ça reste une opti énorme.
Merci beaucoup pour votre aide.
Une petite question quand-même : Y a-t-il un moyen de faire une opti sur un objet animé ?
Par exemple, je reprend ma foret mais je veux mettre une petite animation sur les feuilles, du coup je peux plus utiliser le combine meshes ?
- boubouk50
- ModoGenereux
- Messages : 6255
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Besoin de conseils graphismes et performances
Tu crées un nouveau mesh à partir d'autres, l'animation ne saura pas retrouver les bons sommets à animer.
"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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Besoin de conseils graphismes et performances
D'accord donc du coup si j'ai des animations, je n'utilises pas le Combine Meshes...
Mais il existe un moyen de faire une opti sur les animations ? Si je sais que je vais avoir 10 objets identiques et tous animés...
Mais il existe un moyen de faire une opti sur les animations ? Si je sais que je vais avoir 10 objets identiques et tous animés...