Здраствуйте! Делаю систему строительства и игрок может ставить на карте дома или бойцов. Когда игрок ставит обьект, то в точке курсора показывается как будет выглядеть поставленный обьект. Чтобы показать поставленный обьект я меняю меш.
Чтобы показать дом я делаю это примерно так:
MeshFilter.mesh = BuildingPrefab.Value.MeshFilter.sharedMesh;
Все работает нормально, но у персонажа вместо компонента MeshFilter есть компонент SkinnedMeshRenderer и чтобы получить меш у такого обьекта нужно написать:
MeshFilter.mesh = BuildingPrefab.Value.SkinnedMeshRenderer.sharedMesh;
То есть чтобы получать меш у любово обьекта, то нужно написать:
MeshFilter.mesh = BuildingPrefab.Value.MeshFilter != null ?
BuildingPrefab.Value.MeshFilter.sharedMesh :
MeshFilter.mesh = BuildingPrefab.Value.SkinnedMeshRenderer.sharedMesh;