private void GetDefaultMaterial()
    {
        if (MaterialLinkers != null)
        {
            return;
        }

        List <Renderer> Renderers = new List <Renderer>();

        MeshRenderer[]        MeshRenderers        = gameObject.GetComponentsInChildren <MeshRenderer>();
        SkinnedMeshRenderer[] SkinnedMeshRenderers = gameObject.GetComponentsInChildren <SkinnedMeshRenderer>();

        foreach (MeshRenderer mr in MeshRenderers)
        {
            Renderers.Add(mr);
        }

        foreach (SkinnedMeshRenderer smr in SkinnedMeshRenderers)
        {
            Renderers.Add(smr);
        }

        List <MaterialLinker> materialLinkers = new List <MaterialLinker>();

        foreach (Renderer meshrenderer in Renderers)
        {
            MaterialLinker materialLinker = new MaterialLinker();
            materialLinker.meshRenderer = meshrenderer;
            materialLinker.material     = meshrenderer.material;
            materialLinkers.Add(materialLinker);
        }

        MaterialLinkers = materialLinkers;
    }
예제 #2
0
 private void HandleReset()
 {
     MaterialLinker.UnlinkAll(current.materials[0]);
 }