전체 글113 유니티 - Isometric 2D 에 관하여.. 이 글에서는 앞으로 Isometric 프로젝트를 만들어보면서 발생했던 이슈나 알게된 점들을 공유하고자 한다. 2D는 어디까지나 3D 하위호환이라고 생각했지만, 생각보다 2D 도 머리 쓸 일이 많았다. 2023. 11. 1. 유니티 - 런타임에 이미지 로드하여 스프라이트 생성하기 프로젝트에 필요한 스프라이트가 포함되어 있어도 괜찮지만, 빌드된 프로그램이 재빌드 없이 내부 리소스가 교체되어야 할 때에는 지정된 폴더에서 리소스를 읽어 동적으로 로드해야한다. 이런 과정에서 동적으로 스프라이트를 생성하는 방법을 적어본다! private Sprite MakeSprite(string filePath, Vector2 pivot) { if (string.IsNullOrEmpty(filePath) == true) return null; // Get File Name FileInfo fileInfo = new FileInfo(filePath); // Read image byte[] bytes = File.ReadAllBytes(filePath); // Create Texture Texture2D .. 2023. 11. 1. 유니티 UI 이미지가 보이지 않을 때 Maskable 옵션 확인하기 하이어라키 상에 Image GameObject 는 켜져있고, 씬 뷰에서도 아웃라인이 보이지만 이미지가 보이지 않는다면 Image 컴포넌트 옵션에 Maskable 을 확인한다. (해제하면 보통 보임) Image 컴포넌트 두개가 부모-자식간의 관계로 설정되어 있을 때 Maskable 옵션에 따라 마스킹이 적용된다. 이것 때문에 하위 이미지가 안보이는 경우가 있어서 삽질하다가 적는다. 마찬가지로 하위에 있는 TextMeshProUGUI 컴포넌트도 Extra Settings 에 Maskable 옵션이 있다. 텍스트도 보이지 않는다면 꺼주면 된다. 2023. 11. 1. 유니티 - 씬 이름을 Enum 으로 관리하기 [InitializeOnLoadMethod] 사용 유니티에서 빌드 세팅에 추가된 씬들을 Enum 으로 관리하고 싶다는 Needs 가 생겼다. 유니티에서는 씬에 접근할 때, 씬의 이름 string 이나, 씬의 BuildIndex int 로 접근하는데, 해당 방식이 코드 상에서 명확하지 않다는 점이 존재한다. 그렇다고 씬이 많아지면 일일히 빌드 인덱스에 대치되는 Enum을 손수 작성하기는 귀찮다. 따라서, 씬을 빌드 세팅에 추가하면, 자동으로 Enum Class 를 생성해주는 스크립트를 작성해보았다. 필요한 분이 계시다면 도움이 되었으면 합니다. using System.Collections.Generic; using System.IO; using UnityEditor; public class SceneNameEnumCreator { [InitializeOn.. 2023. 10. 26. 유니티 - Define Symbol 코드로 제어하기 PlayerSettings 클래스에는 Define Symbol 을 제어할 수 있는 함수가 있다. 이것들을 제어하여 원하는 Symbol 만 빌드에 추가하여 빌드 자동화에 도움을 줄 수 있다. PlayerSettings.SetScriptingDefineSymbolsForGroup(currentBuildTarget, defines); currentBuildTarget 은 BuildTargetGroup Type 인데 이것을 가져오는 방법은 아래에 있다. https://wildgoosechase.tistory.com/92 유니티 - 현재 BuildTargetGroup, BuildTarget 을 가져오는 방법 먼저, BuildTarget 을 가져온다. EditorUserBuildSettings.activeBuild.. 2023. 10. 24. 유니티 - 현재 BuildTargetGroup, BuildTarget 을 가져오는 방법 먼저, BuildTarget 을 가져온다. EditorUserBuildSettings.activeBuildTarget 가져온 BuildTarget 을 BuildPipeline.GetBuildTargetGroup() 의 인자로 넣어준다. BuildTargetGroup currentBuildTarget = BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget); 이렇게 하면 현재 BuildTargetGroup 을 가져올 수 있다. 이걸 무엇에 쓰냐? 코드로 현재 프로젝트의 Define Symbol 등을 제어할 때, BuildTarget 이나 BuildTargetGroup 이 필요하다. 2023. 10. 24. 이전 1 2 3 4 5 6 7 ··· 19 다음