Unity/코드 예제들 15

프리팹 저장하기

에디트 상에서 선택된 프리팹이 저장할 일이 있을때 사용. 컴퍼넌트 데이터들이 변경되어도 Save 버튼이 활성화 되지 않는 경우가 있어서 제작 PrefabUtility.SavePrefabAsset(eff.gameObject, out isSuccess); /* #if UNITY_2021_2_OR_NEWER var stage = UnityEditor.SceneManagement.PrefabStageUtility.GetCurrentPrefabStage(); #elif UNITY_2018_3_OR_NEWER var stage = UnityEditor.Experimental.SceneManagement.PrefabStageUtility.GetCurrentPrefabStage(); #endif #if UNITY_20..

캐릭터 경사면에 서 있는상태 체크(미끄러질수있는 곳)

https://docs.unity3d.com/ScriptReference/RaycastHit-normal.html Unity - Scripting API: RaycastHit.normal Success! Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable. Close docs.unity3d.com Vector3 pos1 = transform.position; Vector3 dir = new Vectire(..

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

글로벌용 글자 좌표 수정

각 언어별 폰트의 좌표가 미묘하게 다른 경우가 발생해서 인스펙터 창에서 조정가능하게 작업. 가장 좋은 방법은 폰트마다 달라지는 원인을 해결하면 최고지만 안되면 이렇게 해결 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..