Jump to content
DarkcomWired

Problemas al compartir mallas y materiales

Recommended Posts

Buenos Días a todos, hace poco estaba siguiendo los primeros tutoriales de Catlike Coding 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

Share this post


Link to post
Share on other sites

UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...