버그 해결을 위한 모든 질문을 던져
0 votes
161 views

같은 셰이더 같은 텍스쳐를 사용한 머티리얼이 에셋 폴더에 있고 이를 사용한 프리펩을 resources 폴더에서 읽어 사용하도록 한 경우

 

같은 셰이더 같은 텍스쳐를 사용한 위와 다른 머티리얼이 에셋 폴더에 있고 이를 에셋 번들로 변환하고 내려받아서 출력한 경우

 

 

사용자 생성 셰이더(A)

A를 이용한 머티리얼(B)
A를 이용한 머티리얼(C)

B와C가 사용한 텍스쳐(D)

resources 폴더의 프리펩의 자식으로 B가 포함됨.(E)
에셋번들로 묶여서 다운로드 받는 프리펩의 자식으로 E가 포함됨.(F)
--------------------------------------------------------------

A,B,C,D,E,F 각각의 옳은 위치가 어딜까요? 현재 상황은 E만 나옵니다. 

E가 나온다는 것은 A를 이용한 머티리얼 B가 정상이고 B가 참조한 D도 정상이라는 겁니다.

아마도 참조 관계에 의해서 패키징 할때 resource의 E를 읽고, E가 포함하는 B를 읽고 B가 참조하는 A와 D를 포함해서 패키징이 될것 같네요.

 

하지만 에셋 번들로 묶어서 출력하는 F는 출력되지 않습니다.

인스펙터 창에서 보면 A를 로드했고 C도 정확하게 출력 되고 있습니다만 D에 이상이 있는것 같네요.

체크 해볼만한게 있을지 알고 싶습니다.

asked (107 point) , 161 views

커스텀 셰이더는 에셋번들 로드시 다시 셋팅해주셔야해요 
해당material.shader = Shader.Find(해당material.shader.name); 이었나..?

http://www.devkorea.co.kr/bbs/board.php?bo_table=m03_qna&wr_id=38527

이런 문젠가요?

1 답변

0 votes
혹시 Android 또는 IOS 빌드로 셋팅되어있을 경우에는 번들로 로드한 shader가 설정된 device에 미리 컴파일 된 형태로 나오게되므로 에디터상에서는 정상적으로 나오지 않습니다.

설정된 디바이스에서 실행시킬경우 정상적으로 작동되리라 생각합니다.
answered (64 point)
다른데서 본 댓글도 이렇다고 이야기 하더군요..

여기서 든 의문점이 (확실하진 않지만) 캐릭터의 파츠는 전부 에셋 번들 쓰는데 문제가 없단 말이죠?

그럼 캐릭터들은 전부 다 기본 셰이더를 쓰고 있는거...겠죠??

 

출근해서 봐야겠네요

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

184 질문
286 answers
311 댓글
304 users