목차

반응형



갑자기 유니티로 작업을 하다보니 한번 에러가 틱나고 꺼져서 다시 켜보니까 쉐이더 관련해서 아주그냥 개판이 되버리는 경우가 있다.

아무 말도 없이 개판인건 아니고 아래와 같은 에러메시지가 나온다.

failed to open source file ~ 못불러오는 파일이름


나같은 경우는 쉐이더 자체는 잘 불러오지만 쉐이더에서 추가적으로 필요로하는 .cginc 파일을 못읽어와서 아래와 같은 상황이 발생하였다.



빨리 에셋번들 만들고 자려는데 ...

해본것

- 쉐이더 에셋번들도 다시 불러오기

- 프로젝트 오른쪽클릭 -> reimport all (시간만 개잡아먹고  해결안됨)


아무래도 스스로 해결하기는 어려울 것 같아서 인터넷에 찾아봤지만 별 도움되는 글이 안나오다가 한번 불러오지 못해서 에러인 파일의 위치를 움직여보라는 말이 나왔다.



에러인 파일의 위치를 움직여보니(.cginc파일들) material을 찾지못해서 보라색이 뜨는 상황이 발생하였다.

아래는 보라색이 뜨고나서 해결을 한 상태라서 정상적으로 보이지만 ...




위에서 잘 나오게 된 부분은 차량 금속부분이고 이번엔 차량의 창문 관련 cginc파일을 움직여보았다.





그러자 위와같이 투명한 쉐이더는 전부다 보라색이 뜬다.



그러면 쉐이더로 가서 material을 더블클릭하여 상세 조회한다.



보다시피 해당 Material의 Shader가 missing이다. 이것을 다시 참조하고 있던 Shader로 잡아준다.



고러면 해당 material의 모든 쉐이더 문제가 해결된다.



그렇게 몇번만 잡아주면 잘된다.


프로젝트 경우에 따라 다르지만 수많은 material이 위와같은 일이 발생한다면 다른 방법을 찾아야 할 수도 있다.


당시 시도는 못해봤지만 지금에서야 생각난 것이 다른 프로젝트에서 해당 material 파일을 전부다 묶어서 unitypackage로 추출해서 문제가 발생한 프로젝트에서 해당 material과 shader를 동시에 임포트, 교체 해보는 것이다.


별거아닌거로 몇시간 잡아먹었다 ㅜㅜ

반응형