분류 전체보기 115

[리듬게임/Unity/C#] 동적으로 생성되는 오브젝트의 위치가 이상하다?!?

게임 내에서 동적으로 생성하는 100x100 오브젝트의 위치가 자꾸 50씩 엇나갔다.(화면 상단 노란색 막대기들) 그래서 아래처럼 위치를 localposition대신 position으로 하고, 부모 오브젝트를 설정해주니까 제 자리를 찾아갔는데 GameObject note = Instantiate(notePrefab, noteAppearLocation.position, Quaternion.identity, transform); 문제는 아래처럼 하니까 다시 이상한데에 생성되더라. 부모 오브젝트를 기준으로 Vector.zero 포지션에 생성되길 바랬던건데, 바람과는 다르게 화면 저~~~~~ 아래에 생성된다. GameObject note = Instantiate(notePrefab, Vector3.zero, Q..

[문제 해결] RenderTexture 에 화면이 뒤집혀서 출력될 때

모니터 화면을 가진 3D 오브젝트를 만들던 중에 RenderTexture에 출력되는 화면이 거꾸로 출력되는 문제를 발견했습니다. 1. 원인 Direct3D 타입과 OpenGL 타입 플랫폼의 수직 텍스쳐 좌표 규칙은 서로 다른데, RenderTexture는 Direct3D를 사용해서 렌더링하기 때문에 뒤집혀서 렌더링되는 것 입니다. 2. 해결 아래 Unity Manual을 참고해서 해결했는데 아직 쉐이더에대한 지식이 부족해서 모든 내용을 이해하고 따라하진 못하고, 나름 이해한 내용들만 짜깁기해서 적용시켰습니다. 아래는 제가 적용시킨 코드입니다. # if UNITY_UV_STARTS_AT_TOP IN.uv_MainTex.y = 1 - IN.uv_MainTex.y; IN.uv_MainTex.x = 1 - IN..

카테고리 없음 2022.02.03

[궁금증] HDR 이란?! 0보다 작거나 1보다 큰 상태의 색상은 모니터에 어떻게 보여질까?

o.Emission = float3(1, 0, 0) + float3(1, 0, 0); 예를 들어 위와 같은 연산을 해주게되면 (2, 0, 0)이란 값이 되게 된다. 그럼 모니터에서 더 빨간 색깔로 표현이 될까?? 그렇지 않다. 기본적으로 모니터에서는 0보다 작거나 1보다 큰 색상은 표현을 못하기 때문에 (1, 0, 0)과 같은 빨간색으로 표현되게 된다. 하지만 표현을 못할 뿐, 값은 여전히 (2, 0, 0)으로 저장되어있는 상태이고 이런 0보다 어둡거나 1보다 밝은 색이 존재하고 계산되는 상태를 HDR(High Dynamic Range) 라고 한다.

카테고리 없음 2022.02.03

[정보] 몰랐던 사실 기록! 1. 쉐이더 2. 랜더링 파이프라인

1. Shader == Meterial (심지어 언리얼엔진에서는 쉐이더가 없고 모두 메터리얼이라고 부른다고 한다! 충격...!) 2. Rendering Pipeline (랜더링이 이루어지는 순서. 아래의 모든 과정이 매 프레임 이루어지는 것이다.) 1. 오브젝트 데이터 받아오기: 그래픽카드가 Vertex로 이루어진 오브젝트의 데이터 값을 받아와서 Vertex 정보에 따라 Vertex들 사이를 이어서 면을 생성한다. 2. Vertex 쉐이더: 1. 모든 오브젝트들의 로컬 좌표계를 월드 좌표계로 변환해준다. 2. 월드 좌표계로 변환된 모든 버텍스들에 '카메라 행렬'을 곱해서 모든 버텍스들이 카메라로부터 얼마나 떨어져있는지 알아낸다. - 여기까지가 Orthographic Projection 3. 만일 Pers..

[문제 해결] RenderTexture 에 보여지는 화면에 UI를 띄워주고 싶은데 안되길래 봤더니...

쉬운걸로 한참 고민했다 ^^;; 분명히 Canvas의 Render mode를 screen space - camera로 설정하고, 카메라까지 제대로 설정해줬는데 RenderTexture에서 UI만 안보이는 것이다!! 왜 이러지 한참 검색하고 찾아봤는데... 이런!! 실수였다!!! xD! 잠시 잊고 있었는데 내가 카메라에 특정 오브젝트들만 나오게 컬링마스크를 수정한 과정에서 UI Layer가 안보이게 설정했던 것이다 ㅋㅋㅋ 이러니 아무리 distance값을 조절해봐도 안보였던것이다. 허무한 결말

카테고리 없음 2022.02.01

[문제 해결] FirebaseFirestoreException: PERMISSION_DENIED: Missing or insufficient permissions. 메세지 해결.

https://ardmos.tistory.com/entry/Firestore-Cloud-Firestore-Rules-%EC%9D%B8%EC%A6%9D%EC%97%90-%EB%94%B0%EB%A5%B8-%EC%95%A1%EC%84%B8%EC%8A%A4-%EC%A0%9C%EC%96%B4?category=535888 [Firestore] Cloud Firestore Rules - 인증에 따른 액세스 제어 위 규칙은 일반적인 인증 패턴으로 사용자가 자신의 데이터만 읽고 쓸 수 있도록 허용하는 방식입니다. match /users/{userID} { allow read, update, delete: if request.auth != null && request.auth.uid.. ardmos.tistory.com ..

[Firestore] Cloud Firestore Rules - 인증에 따른 액세스 제어

위 규칙은 일반적인 인증 패턴으로 사용자가 자신의 데이터만 읽고 쓸 수 있도록 허용하는 방식입니다. match /users/{userID} { allow read, update, delete: if request.auth != null && request.auth.uid == userID; allow create: if request.auth != null; } 이 부분이 중요한데 우선 첫 번째 줄의 {userID} 는 와일드카드로, /user/ 컬렉션 아래에 존재하는 다큐먼트들을 뜻합니다. 두 번째 줄의 allow는 if문의 조건이 만족될 경우 허용할 내용을 나타냅니다. 두 번째 줄에서는 if문의 조건이 만족하는 사용자에게 /users/{userID}다큐먼트를 read, update, delete할 권..