Unity3 Unity Addressable을 활용하여 이미지 로드하기 Addressable은 Unity 에디터 및 런타임 에셋 관리 시스템으로, 게임을 출시할 때를 대비하여 에셋을 유동적으로 바꿀 수 있도록, 에셋들에 주소(address)를 대입하여(약한 참조) 에셋을 관리할 때 불필요한 로드를 방지한다. 장점 런타임 메모리를 개선할 수 있다. 참조된 에셋이 메모리 내부 및 외부에 로드되는 시점을 제어할 수 있다. 사용예시 addressable을 활용하여 이미지를 로드해 띄우는 법을 알아보자. 우선, Package Manager에서 Addressables를 다운로드한다. 그리고 불러오고자 하는 이미지의 Addressable에 체크한다. (식별이 편하도록 이름을 바꾸어주어도 기능상 상 문제되지 않는다) 소스코드 그리고 코드를 작성해 준다. 받아오는 과정을 비동기로 진행해 주.. Unity 2023. 1. 11. Unity Json으로 저장, 로드하는 법 Json은 정보를 저장할 수 있는 파일형식으로, xml의 느린 속도를 개선하기 위하여 만들어졌다. 그 대신 저장 규칙이 {"이름1":값1,"이름2":값2,"이름3":값3}으로, 이 형식에서 하나라도 틀리면 오류가 난다. 물론 유니티에서 지원해주는 Scriptable Object가 유니티상에선 월등히 편하긴 하지만, 서버와 연결되거나 할 땐 Json으로 저장하는 것이 서버와 연결할 때 도움이 된다. Json에 덧붙여 조금 더 안전하게 저장을 하기 위하여 이전에 다루었던 AES128 암호화/복호화스크립트를 사용하였다. 코드 전문 using System.IO; using UnityEngine; public class JsonManager : MonoBehaviour { private static string .. Unity 2023. 1. 4. 유니티 C# 버튼 가려짐 해결 게임을 만들면서 이미지를 넣은 버튼을 여럿 만들 것이다. 그러나 이미지가 사각형 범위로 입력을 판단하기 때문에 이미지 상 눌려야 할 버튼이 눌리지 않는 경우가 발생한다! 오늘은 이 문제를 해결할 간단한 솔루션을 살펴보자. 유니티 상에서 확인하면 역시나 다음과 같이 넓은 투명범위가 뒤의 캐릭터를 가리고 있는걸 확인할 수 있다. 해결 방법 이미지의 alphaHitTestMinimumThreshold를 작은 값으로 맞춰주면 된다! 우선, 우리는 코드에서 이미지 설정을 만질 것이기 때문에 이미지를 Advanced에 있는 Read/Write Enabled를 true로 바꾸어준다. 그리고 아래의 코드를 작성하여 버튼에 넣어준다. using UnityEngine; using UnityEngine.UI; [Requir.. Unity 2022. 11. 21. 이전 1 다음