간단한 회전. 위로 바로 보고 있는 오브젝트 회전 float angle = GetAngle(startPos, endPos); float GetAngle(Vector2 start, Vector2 end) { return Quaternion.FromToRotation(Vector3.up, end - start).eulerAngles.z; } obj.transform.rotation = Quaternion.Euler(0, 0, angle); Unity/코드 예제들 2022.06.23
bloom 껐다 켜기 _postProcessVolume.profile.TryGet(out var tmp); tmp.active = !tmp.active; Unity/코드 예제들 2022.06.22
프리팹 저장하기 에디트 상에서 선택된 프리팹이 저장할 일이 있을때 사용. 컴퍼넌트 데이터들이 변경되어도 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.. Unity/코드 예제들 2022.06.21
TextMeshPro Tag 또는 텍스트 색상굵은 글씨기울임밑줄취소선상단 글자하단 글자하이라이트 글자 사이의 간격, 크기만큼 띄어짐크기가 0이면 글자 사이의 간격이 없어짐개행 간격 크기만큼 글자의 사이즈가 작거나 커짐글자의 정렬 기능미리 정의한 tag가 설정됨하나의 TextMeshPro에서 다른 폰트를 사용할 수 있음 Unity/코드 예제들 2022.04.18
캐릭터 경사면에 서 있는상태 체크(미끄러질수있는 곳) 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(.. Unity/코드 예제들 2021.12.20
GUI textField 폰트 크기 조정. 폰마다 해상도가 달라 해상도에 맞게 폰트 크기의 조절이 필요해서 UnityEngine.Screen.width / 10 로 해상도에 대응한 폰트 크기를 셋팅했다. GUIStyle temp = new GUIStyle(GUI.skin.textField); temp.fontSize = UnityEngine.Screen.width / 10; GUI.TextField(new Rect(0, 0, 300, 100), $" : 가나다", temp); Unity/코드 예제들 2021.07.06
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.. Unity/코드 예제들 2021.05.31
글로벌용 글자 좌표 수정 각 언어별 폰트의 좌표가 미묘하게 다른 경우가 발생해서 인스펙터 창에서 조정가능하게 작업. 가장 좋은 방법은 폰트마다 달라지는 원인을 해결하면 최고지만 안되면 이렇게 해결 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.. Unity/코드 예제들 2021.05.04
타일맵 타일맵 좌표 얻어서 적용 시키기 int x = 0, y = 0; Vector3 pos = mTilemap.GetCellCenterLocal(new Vector3Int(x, y, 0)); charBase.transform.localPosition = pos; Unity/코드 예제들 2021.04.02
com.unity.localization 로컬라이징 가이드 문서 docs.unity3d.com/Packages/com.unity.localization@0.10/manual/QuickStartGuide.html 로컬라이징 동영상 www.youtube.com/watch?v=lku7f4KNFEo 로컬라이징 문서 phrase.com/blog/posts/localizing-unity-games-official-localization-package/ Unity/코드 예제들 2021.03.15