[Unity] GoogleSheetsForUnity 에러수정
Unity/TroubleShooting 2022. 10. 13. 09:37[Unity] GoogleSheetsForUnity 에러수정

개요 https://assetstore.unity.com/packages/tools/utilities/google-sheets-to-unity-73410 Google Sheets To Unity | 유틸리티 도구 | Unity Asset Store Use the Google Sheets To Unity from Greener Games on your next project. Find this utility tool & more on the Unity Asset Store. assetstore.unity.com 구글시트 에셋을 사용해서 몬스터 데이터를 시트에서 불러와 동적으로 몬스터 데이터 에셋을 생성하기위해 구글 시트와 유니티를 연동작업을 진행했다. 문제 간단히 시트의 열의 갯수를 계산하는 코드를짜고 실..

Unity/C# 2022. 10. 4. 21:05[Unity, C#] 오브젝트 풀링

개요 Unity 프로젝트를 처음 생성할 때 꼭 하는 우선순위들이 있다. 1. DoTween에셋 임포트 2. 오딘 인스펙터 에셋 임포트(유료) 3. 오브젝트 풀링 구현 이 글에서는 오브젝트 풀링 구현을 기록할려고 한다. 오브젝트 풀링은 메모리 최적화를 위해 빼놓을 수 없는 시스템이라고 생각한다. Instantiate와 Destroy를 쓸때마다 괜히 죄책감이들고 그렇기 때문에 항상 구현해놓고 시작하는데 이 기회에 블로그에 적어놓을려고 한다. Pool을 관리하는 PoolManager클래스 먼저 풀을 관리하며 Push와 Pop을 해주는 PoolManager 클래스이다. 딕셔너리와 스택으로 풀을 관리하고 Pop을 할때는 오브젝트나 String키값을 인수로 받아서 오브젝트를 꺼내준다. poolableList에는 풀..

[Unity, Shader] 유니티 내장쉐이더 AlwaysVisible하게 만들기
Unity/Shader 2022. 10. 2. 23:56[Unity, Shader] 유니티 내장쉐이더 AlwaysVisible하게 만들기

Transparent가 아닌 쉐이더를 가진 렌더러는 뒤에있는 렌더러를 가리게 된다. 그런데 게임을 만들다보면 항상 맨앞에 렌더링 해야할 렌더러가 있기 마련이다. 그렇지만 유니티 기본쉐이더들은 수정을 할 수 없다. EditShader를 눌러도 쉐이더파일이 열리지 않는다. 이 글에선 UI를 포함한 유니티 내장쉐이더를 수정하는 방법과 AlwaysVisible쉐이더를 만드는 방법을 적는다. 우선 유니티 다운로드 아카이브에 들어가서 자신이 사용하는 유니티 버젼의 Downloads(/운영체제/)버튼을 누르면 Built in Shaders라는 다운로드 버튼이 있다. 눌러서 받아준다. 압축을 푼 이후 "...\builtin_shaders-2020.3.24f1\DefaultResourcesExtra" 경로에 들어가면 유..

Unity/C# 2022. 10. 1. 17:30[Unity, C#] 박스 콜라이더안에 랜덤포인트 구하기

public static Vector3 GetRandomPointInsideCollider(BoxCollider boxCollider) { Vector3 extents = boxCollider.size / 2f; Vector3 point = new Vector3( Random.Range(-extents.x, extents.x), Random.Range(-extents.y, extents.y), Random.Range(-extents.z, extents.z) ) + boxCollider.center; return boxCollider.transform.TransformPoint(point); } Static클래스의 Static함수로 정의하면 어디서든 사용하기 편하다.

[Unity] UI드래그로 이동 시킬 때 범위 제한
Unity/UI 2022. 8. 29. 16:16[Unity] UI드래그로 이동 시킬 때 범위 제한

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; public class UnitContent : MonoBehaviour, IBeginDragHandler, IEndDragHandler, IDragHandler { // 부모 그리드 레이아웃 그룹 [SerializeField]private GridLayoutGroup parentGroup; // 드래그 제한 범위 [SerializeField] private RectTransform dragArea; private PointerEventData currentEventDa..

[Unity] RenderTexutre를 PNG로 저장할때 어두워지는 문제
Unity/TroubleShooting 2022. 8. 9. 10:54[Unity] RenderTexutre를 PNG로 저장할때 어두워지는 문제

렌더텍스쳐를 PNG로 저장하는 작업을 하던 중 첫번째같이 저장돼야 정상인데 아래같이 어둡게 나오는 문제가 있었다. 관련문제로 검색해보니 이미 좀 알려진 문제였다. 텍스쳐를 PNG로 인코딩할때 프로젝트의 컬러스페이스가 Linear라면 이런다고 하는데... 그렇다고 Linear를 포기할순없으니 찾아낸 방법이다. 렌더텍스쳐의 인스펙터에서 sRGB를 체크해주면 해결된다는 글을 봤는데... 여기서 방법은 2가지인데 1. ColorFormat 드롭다운을 열어서 직접 sRGB포맷 찾기 2. 디버그 인스펙터로 바꿔서 sRGB체크해주기 2번 방법이 쉽고 간편하다 인스펙터 오른쪽위 자물쇠 옆 세로점 3개를 클릭해서 메뉴를 연 뒤, 디버그 인스펙터로 진입하면 바로 체크해주고 다시 테스트해보니 이제 유니티에서 보이는 색감 그..

image