역시 이번에도 영원한 스승님인 스킬트리랩의 이득우 스승님의 도움을 받았습니다.
모르는게 없어 이 분은....
일단 문제가 뭐냐면, 유니티에서 라이트 맵을 구울때 투명도인 부분의 문제입니다.
이런 맵이 있다고 칩시다. 실시간 그림자예요.Shader 는 Cutout 계열.
그림자가 잘 나옵니다.
그런데 이걸 라이트맵으로 구우면 이렇게 나옵니다. 사각형으로...알파가 적용이 안돼요...
여기에는 여기 좋은 답변이 있습니다. 사실 검색만 해도 나오긴 하는군요.
http://answers.unity3d.com/questions/49537/can-transparent-textures-be-lightmapped.html
방법은,
Properties에
_TransparencyLM ("Transmission LightMap", 2D) = "white" {}
만 추가해 주면 된다는 겁니다.
이 녀석이 칼라로 그림자를 만들어 준데요 글쎄.
즉
이런 이미지를 넣었다면.
그대로 칼라 그림자를 만들어 준다지 뭐예요 글쎄!!!!!!
그러므로
이런 흑백 이미지를 만들어 넣어준다면
이렇게 라이트맵을 구울 수 있다는 말이지요!!!!
이건 스테인드 글라스에도 응용 할 수 있겠어요!!! 엄청 유용하네요!!!!!
이렇게 만든 라이트맵은, 다른 일반적인 라이트맵과도 혼용해서 쓰는데 아무 문제가 없습니다. 짱이다 이거.
ps.
pragma debug 옵션으로 내부 코드도 보려 했었는데 보는데 실패했습니다. 왜 프래그먼트가 안생기지...?
ps2.
남기영님의 제보에 따르면 , 이름에 Transparent Cutout 이라고만 되어 있으면 투명도가 빠진다고 한다.
Beast에서 왠지 Cutout이란 단어를 찾는것 같다는 말씀.
'유니티 엔진' 카테고리의 다른 글
유니티(Unity) 의 뷰 프러스텀 (View frustum)컬링 (0) | 2015.02.06 |
---|---|
UNITY_INITIALIZE_OUTPUT( ) (0) | 2015.01.25 |
유니티 OpenGL로 실행시키기 (0) | 2014.11.25 |
유니티 단축키 모음 (0) | 2014.11.13 |
유니티 실시간 거울반사 (1) | 2014.11.13 |
댓글