개인정보 취급방침 1. 개인정보의 처리 목적 <STUDIO BH>(‘https://studio-bh.blogspot.com/’이하 ‘STUDIO BH’) 은(는) 다음의 목적을 위하여 개인정보를 처리하고 있으며, 다음의 목적 이외의 용도로는 이용하지 않습니다. - 고객 가입의사 확인, 고객에 대한 서비스 제공에 따른 본인 식별.인증, 회원자격 유지.관리, 물품 또는 서비스 공급에 따른 금액 결제, 물품 또는 서비스의 공급.배송 등 2. 개인정보의 처리 및 보유 기간 ① <STUDIO BH>(‘https://studio-bh.blogspot.com/’이하 ‘STUDIO BH’) 은(는) 개인정보를 수집하지 않습니다. 3. 정보주체와 법정대리인의 권리·의무 및 그 행사방법 이용자는 개인정보주체로써 다음과 같은 권리를 행사할 수 있습니다. ① 정보주체는 STUDIO BH(‘https://studio-bh.blogspot.com/’이하 ‘STUDIO BH) 에 대해 언제든지 다음 각 호의 개인정보 보호 관련 권리를 행사할 수 있습니다. 하지만, 본 앱은 앱사용자의 사용정보를 수집 및 보유하지 않습니다. 앱 기능 활용에만 사용합니다. 4. 처리하는 개인정보의 항목 작성 ① < STUDIO BH >('https://studio-bh.blogspot.com/'이하 ' STUDIO BH ') 은(는) 다음의 개인정보 항목을 처리하고 있습니다. android.permission.INTERNET:Admob 광고를 위해 사용합니다. 5. 개인정보의 파기 < STUDIO BH >(' STUDIO BH ') 은(는) 원칙적으로 개인정보 처리목적이 달성된 경우에는 지체없이 해당 개인정보를 파기합니다. 파기의 절차, 기한 및 방법은 다음과 같습니다. 앱 사용자의 사용정보를 수집 및 보유하지 않습니다. 파기해야하는 개인정보 또한 가지고 있지...
* 발생 현상. 유니티 모바일 빌드(android, ios) 에서 쉐이더 글로벌 변수 _Time 를 사용하는곳에 프레임 지날수록 오차가 더 생겨서 폴리곤 이동, UV 애니메이션이 툭툭 끊어지는 현상 발생. 특히 폴리곤이 적은 파티클, 평면, 박스형태에서 잘 발생 * 해결방법 ( 모든 조건 충족해야함 ) 1. C# 코드에서 매프레임 업데이트로 쉐이더에 시간 넣어줌. Shader.SetGlobalFloat( "_MyTime", Time.time ) 2. 시간변수 필요한 쉐이더 내부에 float _MyTime; 정의한뒤 사용. * 발생 원인 추측. 유니티에서 사용하는 시간은 float 타입이고, 쉐이더 내부에서는 float4 형태의 벡터로 넘겨주는데 PC 에서는 제대로 사용되지만 모바일에서는 half 타입 혹은 미세한 값을 날려버리는게 아닌가 추측됨. * half 타입 계산변수와 float 타입 시간 계산이 혼재될 경우 half2 offset = half2(0.5, 0.0); half2 uv = (IN.uv_MainTex + off) * _MyTime; float 타입 _MyTime 과 half 타입 계산이 섞여있을때 PC 에서는 문제없이 작동하지만, 모바일에서 _MyTime 을 half 로 변경한뒤 계산하는걸로 추측됨 (이펙트 끊어지는 문제 발생) half2 uv = (IN.uv_MainTex + off) * float2(_MyTime, _MyTime); 이렇게 타입을 직접 지정하면 문제 발생안함 * 시간을 벡터 형태로 넘길경우 시간을 Shader.SetGlobalVector 를 이용해서 유니티 기본제공하는 _Time 변수처럼 셋팅하면 움직임이 튀는 문제 발생
(유니티 5.5.x 에서 테스트) 노멀맵을 사용하고 탄젠트 공간 정보를 파일에서 Import 하지 않고, 유니티에서 제공하는 탄젠트 공간 계산법을 사용할때 발생하는 문제이다. 특히 "노멀맵 사용 & 매우 각지고 간단한 형태의 모델링 사용" 할때 잘 발생하는 문제인데, 오브젝트의 특정 면이 빛을 강하게 받는것처럼 라이트 색상이 매우 강하게 오브젝트에 맺히는 현상. 유니티 FBX 선택한뒤 보여지는 Inspector 인데, Tangents 공간계산 옵션 기본값이 Calculate Tangent Space 이다. 이것을 Calculate Legacy 혹은 Calculate Legacy - Split Tangents 둘중 하나로 선택하면 해결됨. * 원인에 대한 이유 및 예상 나는 유니티 내부 소스코드를 볼 수 없기에 추측만 할 뿐이지만, 3D 리소스를 최적화 하는 방법에 3D 메시를 이루는 폴리곤에서 위치가 겹치는 정점은 1개만 남기고 제거하는 방식이 있다. 이런 최적화 기법이 원인이 되어 발생하는 문제라고 추측된다. 하지만 두개의 정점이 위치만 같고 노멀, 탄젠트 공간등이 다른 경우가 종종 생기는데, 폴리곤이 수천개 이상으로 둥글둥글한 형태로 이루어진 메시들은 문제가 발생하지 않거나, 발생해도 눈에 잘 안띄게 된다. (예, 캐릭터, 둥근 공, 형태감 있는 바위 등등) 박스, 계단 같이 인접한 폴리곤 사이의 각도가 작아지면 두개의 폴리곤에 맞는 노멀 방향을 각각 가지고 있지 않고 어느한쪽에 종속되어 있는 정점을 가지고 있기에 빛계산이 이상해진다. 따라서 정점의 위치만으로 통합하지 않고 노멀도 동일할 경우 통합하거나 아예 통합을 시도하지 않아야 원하는 형태의 라이팅이 들어가게 된다고 생각하기에 Calculate Legacy 혹은 Calculate Legacy - Split Tangents 둘...
댓글
댓글 쓰기