런타임 중에 스크립트로 게임오브젝트의 머터리얼을 변경하려는데
skinned.materials[1] << 디버그 로그 찍으면 내가 원하는 머터리얼이 맞음.
outlineMaterial << 전역변수로 유니티 에디터에서 변경하려는 머터리얼을 세팅함.
아래와 같이 코드로 머터리얼을 변경하려는데 바뀌지 않는데 왜 이러는지 아는 사람...?
SkinnedMeshRenderer skinned = hero.GetComponentInChildren<SkinnedMeshRenderer>();
skinned.materials[1] = outlineMaterial;
Material[] mat = hero.gameObject.GetComponentInChildren().materials; mat[0] = hero.gameObject.GetComponentInChildren().materials[0]; mat[1] = outlineMaterial; hero.gameObject.GetComponentInChildren().materials = mat;
짜잉나네.. 진작에 검색해볼걸.. 아무리 생각해도 위 코드가 논리적으로 이상하지가 않으니깐 괜히 삽질했네
해당 댓글은 삭제되었습니다.
ㅠㅠ 감사붸리...