반응형

Unity 75

Unity transform.parent 보단 SetParent()를 사용하자

작업하면서 이런 경고를 본 적이 있다면! RectTransform의 부모는 부모 속성으로 설정됩니다. worldPositionStays 인수가 false로 설정된 상태에서 SetParent 메서드를 대신 사용하는 것이 좋습니다. 그러면 일반적인 UI 크기 조정 문제를 방지할 수 있는 세계 방향 및 크기가 아닌 로컬 방향 및 크기가 유지됩니다. -> 구글은 언제나 친절해 본인의 경우 요로코롬 Pool에 UI들도 넣어뒀는데 이때 코드가 public void CreatePool(GameObject go, bool isGO = true, int count = 10) { Pool pool = new Pool(); pool.isGO = isGO; pool.Init(go, count); Transform tr = i..

Unity/Tips 2022.02.20

Unity Dotween Kill()이 안될 때 확인

조금 된 일이긴 하지만 위처럼 동전이 살~짝 날아가고 위아래로 움직이는 마음이 좀 아픈 연출을 DOTween으로 구현하고 동전 같은 경우는 Pool에 미리 깔아 두고 사용하고 있었음 #if UNITY_EDITOR using UnityEditor; #endif using System; using DG.Tweening; public class Goods : GoodsBase { Sequence _effect = null; public void Init() { if (_effect == null) { _effect = DOTween.Sequence(); _effect.Append(transform.DOJump(_vec3_end, _jumpPower, _jumpCount, _jumpDuration)); _eff..

Unity/Tips 2022.02.14

Unity 애니메이션은 코드 없이 CrossFade

귀찮게 Parameters를 하나하나 만들고 애니를 하나하나 연결하지 않고 오직 코드만으로도 자연스럽게! 먼저 https://docs.unity3d.com/2021.2/Documentation/ScriptReference/Animation.CrossFade.html Unity - Scripting API: Animation.CrossFade If mode is PlayMode.StopSameLayer, animations in the same layer as animation will be faded out while animation is faded in. if mode is PlayMode.StopAll, all animations will be faded out while animation is f..

Unity/Tips 2022.02.13

Unity 확장 메서드 사용

아름다운 C#은 확장 메서드를 제공한다. https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/extension-methods 확장 메서드 - C# 프로그래밍 가이드 C#에서 확장명 메서드를 사용하면 새 파생 형식을 만들거나 다시 컴파일하거나 원래 형식을 수정하지 않고도 기존 형식에 메서드를 추가할 수 있습니다. docs.microsoft.com doc 또한 아름답다. [ 여러 블로그나 google로 정리되어있는 내용을 찾아보는 것은 당연하지만 doc는 항상 체크 ] -> doc 가장 마지막 내용이 핵심 => List 또는 Array와 같은 IEnumerable 형식의 인스턴스 뒤에 "dot"를 입력하면 I..

Unity/Tips 2022.01.19

Unity delegate(대리자)와 Action 간단하지만 명확하게 + 예제

https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/delegates/ 대리자 - C# 프로그래밍 가이드 C#의 대리자는 매개 변수 목록 및 반환 형식이 있는 메서드를 나타내는 형식입니다. 대리자는 메서드를 다른 메서드에 인수로 전달하는 데 사용됩니다. docs.microsoft.com Delegate (대리자) - microsoft의 docs를 보면 delegate는 특정 매개 변수 목록 및 반환 형식이 있는 메서드에 대한 참조를 나타내는 형식이다. delegate는 메서드를 다른 메서드에 인수로 전달하는 데 사용된다. 요런 내용으로 설명하고 있다. 코드로 예를 들면 using System.Collections; using System.C..

Unity/Tips 2022.01.02

Unity 메모리 관리 간단한 [ UnloadUnusedAssets(), Singleton 사용 시 ]

1. Resources 폴더 사용 시 Load, Instantiate를 사용하게 되는데 GameObject의 경우야 Destroy를 하면 되지만 Texture 같은 녀석들을 Load 해서 사용할 경우 예로 RawImage.texture = Resources.Load("경로"); 이럴 때는 Destroy가 아니라 RawImage.texture = null; 요런 식으로 끝내는 경우가 있는데 이렇게 되면 로드된 리소스는 계속 로드되어 있는 상태이므로 추가로 -> Resources.UnloadUnusedAssets()를 사용해서 사용되지 않는 리소스들을 언로드 시키도록 하자 * 작업하면서 많은 texture 등을 로드한 뒤 추후 언로드 할 경우에도 사용하긴 했지만 주로 씬 전환 시 사용하였음 2. Single..

Unity/Tips 2021.12.16

Unity Script 한글 깨짐 현상

간혹 위처럼 한글이 깨지는 경우가 있는데 파일 형식이 UTF-8이 아니라 다른 형식이라 그럴 수 있음 행복한 Notepad++로 하나하나 UTF-8로 바꿔주면 좋음좋음 (메모장에서도 가능하고) 근데 이거 좀 한 번에 챠라라락 하는 방법이 좀 없나 후.. **** 별거 아닌 것 같지만 ISO 빌드 시 문제 야기할 수 있음! + 요딴 식의 파일을 추가할 것 (.txt 파일 생성 후 이름을 저렇게 한 뒤 .txt 지우면 됨) 안에 내용은 root = true [*] charset = utf-8 요딴 식으로 (이런 거 굳이 .txt로 바꿔서 다시 읽기보단 걍 notepad 깔아서 키면 다 읽어줌) + 이 부분 체크가 해제되어있어서 C# script를 Unity에서 생성할 때 인코딩은 UTF-8로 잘 저장됐지만 ..

Unity/Tips 2021.12.06

Unity 순서대로 초기화하고 싶을 경우 코드를 이런 식으로 ~---~_~-~-

#if UNITY_EDITOR using UnityEditor; #endif using System; using UnityEngine; public class Initialize : MonoBehaviour { /// /// 초기화 해야하는 스크립트들의 이름을 그대로 선언 /// -> 먼저 적은 순으로 초기화 진행 /// enum Scripts { } [Tooltip("초기화 해야 할 스크립트를 지닌 게임오브젝트")] [SerializeField] GameObject[] _go_initialze = null; private void Awake() { foreach (Scripts script in Enum.GetValues(typeof(Scripts))) { foreach (GameObject item ..

Unity/Tips 2021.11.30
반응형