Unity 53

선택한 오브젝트의 어트러서블 이름 가져오기.

private string GetAddressableName(AddressableAssetGroup group, UnityEngine.Object obj) { var setting = AddressableAssetSettingsDefaultObject.Settings; UnityEditor.AssetDatabase.TryGetGUIDAndLocalFileIdentifier(obj, out string guid, out long localid); var temp = setting.FindAssetEntry(guid); if (temp == null) { //없으면 생성하는 코드 //entry = Settings.CreateOrMoveEntry(guid, group, false, false); } retur..

ScriptableObject에서 Dictionary 처리 .

ScriptableObject에서 Dictionary 는 저장되지 않아 따로 처리 해주어야 한다. using System.Collections.Generic; using UnityEngine; using System; [Serializable] public class SerializeDictionary : Dictionary, ISerializationCallbackReceiver { [SerializeField] List keys = new List(); [SerializeField] List values = new List(); public void OnBeforeSerialize() { keys.Clear(); values.Clear(); foreach (KeyValuePair pair in thi..

OnPointerClick 관련 이것저것.

public UICharRoom : MonoBehaviour, IPointerClickHandler { public void OnPointerClick(PointerEventData eventData) { } } OnPointerClick 이 호출이 안되는 경우 1. 오브젝트가 2D 라면 카메라에 Physice 2D Raychaster, 3D 라면 카메라에 Physice Raychaster 2. Physice 2D Raychaster, Physice Raychaster에서 Event Mask 가 해당 오프젝트의 Layer 를 포함하는지 확인. 3. EventSystem 이 있나 확인. 없으면 추가. 4. BoxCollider 혹은 BoxCollider2D가 있어야 한다. Size를 확인해자. OnPoin..

Unity/기타 2021.05.12

글로벌용 글자 좌표 수정

각 언어별 폰트의 좌표가 미묘하게 다른 경우가 발생해서 인스펙터 창에서 조정가능하게 작업. 가장 좋은 방법은 폰트마다 달라지는 원인을 해결하면 최고지만 안되면 이렇게 해결 using System.Collections; using System.Collections.Generic; using UnityEngine; public enum EGlobalLanguage { Korean, Japanese, English, ChineseTraditional, } [System.Serializable] public class GlobalLanguageData { public EGlobalLanguage eGlobalLanguage; public Vector3 move; // 자간등등 추가 필요 } public clas..