Unity의 RenderTexture의 알파 혼합 고통 이야기
1410 단어 Unity
알파가 포함된 렌더텍처를 대상으로 대상을 그리면서 알파가 기대대로 섞이지 않았을 때의 이야기
문제가 되는 행위
다음 장면을 준비합니다.
위쪽 카메라의 객체를 렌더링하고 아래쪽을 흰색 텍스처로 그리는 간단한 장면
テクスチャ1
,テクスチャ2
α0.5,テクスチャ3(黒)
α1.0.위쪽 카메라 안의 무늬 순서는 맨 뒷면 3, 맨 앞 1이다.
구상적 행위
뒷면에
テクスチャ3
가 배치되어 있기 때문에 자연 무늬 3이 그려진 범위는 α1이다유닛 로고가 안 보여요.
실제 행동
그러나 실제 행위가 다르다
テクスチャ1
와テクスチャ2
의 α값이 왜 テクスチャ3
에 반영되었는가해결책
해결 방법을 먼저 그렸다면 블렌드
Blend SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
의 마스크는 렌더텍스터에 낙인된 모든 텍스쳐로, 촬영된 카메라의 비침색(solidColor)은 #000000FF
으로 설정했다.RenderTexture 내용을 그리는 대상(이번에는 아래쪽이 흰 무늬)을 섞어
Blend One SrcAlpha
주시면 됩니다.까닭
여기서부터 상상, 알파 혼합은 보통 뒷면에서 앞까지 순서대로 진행된다
RenderTexture에서 묘사한 경우 먼저 RenderTexture 내의 α 혼합을 한 다음에 실제 프레임 버퍼로 묘사할 때 계산한다.
따라서 이번 해법은 렌더텍처 측의 투명색 α값을 1로 삼아 상기 α혼합 설정이 구상한 α혼합식과 결합하는 것이다.
Reference
이 문제에 관하여(Unity의 RenderTexture의 알파 혼합 고통 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/luckin/items/43a8a98a88a3ba20e92b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)