9월 24, 2017의 게시물 표시

[UNITY3D] 쉐이더 내에서 "행렬 * 벡터" 연산

mul(UNITY_MATRIX_MVP, *)  <== 이런 형태의 "행렬 * 벡터 연산"에서 행렬과 벡터길이가 맞지 않으면, PC 에선 적절히 변형해서 적용되지만 안드로이드, iOS 같은 모바일 기기에서 쉐이더 에러발생함. (쉐이더를 이용하는 모델링들이 분홍색으로 출력됨) mul( (float3x3)UNITY_MATRIX_MVP, vector3 ) <== 이렇게 행렬과 벡터 크기를 정확히 맞춰줘야함.

[Unity3D] Use 32-bit Display Buffer. 옵션

이미지
RenderTexture 사용해서 알파값을 조절할 경우 ( 캐릭터 렌더링, 아이템 등드ㅇ ) "Use 32-bit Display Buffer" 체크를 끄면 안됨. 끌경우 RGBA 에서  RGB 텍스쳐로 변경됨 ( 32 bit --> 24 bit ) //- Unity 5.4.x , Unity 2017 1.x 에서 확인.

[메모] Dot product 의미

 Dot( A, B ) = |a||b| cos θ - A,B 벡터 크기가 1 이면 , A,B 벡터의 Dot product == cos θ - 이 특성과 Normalize 를 같이 이용한 3D 계산에서 활용도가 높음 . - Cosine 그래프 특성상 좌 , 우 각도 차이없이 동일한 값 유지   예시 ) Dot( Normal vector, Light dir ) è 3D 도형과 빛과의 명암 처리 Dot( View dir, reflection vector ) è specular 수치 Dot( View dir, enemy dir ) è 시야에 상대방이 보이는지 여부 판단   결론 ) 두 벡터사이의 각도차이를 쉽게 구함 .