분류 전체보기 159

AssetPostprocessor.OnPostprocessPrefab 프리팹, 생성전, 저장전에 호출되는 함수

https://docs.unity3d.com/ScriptReference/AssetPostprocessor.OnPostprocessPrefab.html Unity - Scripting API: AssetPostprocessor.OnPostprocessPrefab(GameObject root) To use this function, add it to a subclass. It lets you modify the imported GameObject. GameObjects only exist during the import and Unity destroys them immediately after import. This function is called before the final Prefab is crea..

Unity/기타 2021.11.26

CalculateRelativeRectTransformBounds

public static Bounds CalculateRelativeRectTransformBounds(Transform root, Transform child) public static Bounds CalculateRelativeRectTransformBounds(Transform child) 결론은 어렵다.. root가 없으면 는 스크린크기를 기준으로 값이 오는거 같다. 결과는 child의 하위 오브젝트 까지 Bounds 를 검색한 결과가 나온다. void Update() { if(Input.GetKeyUp(KeyCode.A)) { var b = RectTransformUtility.CalculateRelativeRectTransformBounds(root, a1); Debug.LogWarning($..

Unity/UI 2021.08.04

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

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..