Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: DarkcomWired en Abril 12, 2016, 07:43:38 PM

Título: Problemas al compartir mallas y materiales
Publicado por: DarkcomWired en Abril 12, 2016, 07:43:38 PM
Buenos Días a todos, hace poco estaba siguiendo los primeros tutoriales de Catlike Coding http://catlikecoding.com/unity/tutorials/ (http://catlikecoding.com/unity/tutorials/)en las lecciones básicas 2 y 3, es una especie benchmark para probar el rendimiento del dispositivo en el que el juego esta compilado.estuve probando una herramienta de optimización que hice algún tiempo y que voy actualizando poco a poco cada vez, sin embargo el rendimiento que obtengo no es mucho. la razón es que el benchmark instancia esferas desde 2 prefabs, generando demasiados drawcalls, a pesar de que provienen de los mismos prefabs, se crean copias de las mismas mallas y copias de los mismos materiales.he hecho pruebas con 2 esferas usando MeshFilter.sharedMesh y MeshRenderer.sharedMaterial, y esto lo unico que hace es duplicar aun mas los materiales y las mallas
using UnityEngine;

public class ComparadorMeshes : MonoBehaviour {
    public MeshFilter mesh1, mesh2;
    public MeshRenderer render1, render2;
// Use this for initialization
void Awake () {
        if (mesh1.mesh != mesh2.mesh) mesh2.sharedMesh = mesh1.mesh;
        if (mesh1.mesh == mesh2.mesh) Debug.Log("Mesh1 es igual al mesh2");
        else Debug.Log("Mesh1 es diferente al Mesh2");

        if (render1.material != render2.material) render2.sharedMaterial = render1.material;
        if (render1.material == render2.material) Debug.Log("Render1 es igual al Render2");
        else Debug.Log("Render1 es diferente al Render2");
}
}
Como verán estoy confundido, no encuentro una manera de que compartan el mismo mesh y el mismo material y hacer que se reduzcan los drawcalls Gracias de antemano