반응형

Unity/Tips 33

Unity Canvas(UGUI) refresh

요즘은 이래 저래 뭘 만들면 나중에 바로 좀 쓸 수 있게 해 두는 편인데 요즘 게임에 자주 등장하는 UI를 만들다가 문제가 발생.. 이게 정상적인 모습이고 요게 비정상적인.. 차이를 자세히 보면 패널을 바꿀 때마다 아이콘의 위치가 가운데로 가지 않고 기존 위치에 머물러 있음 -> 분명 코드에서는 위치를 맞춰 줬음에도... 이런 경우가 UGUI에서 많이 나타나는 문제인데 이는 꼭 이 경우뿐만 아니라 Canvas안에서 active를 비활성화해서 작업을 해야 한다는 경우 등에서 흔히 나타나는 버그이다. 해결 방안은 간단 -> LayoutRebuilder.ForceRebuildLayoutImmediate(); 을 사용하면 되고 매개변수로는 refresh가 되어야 하는 RectTransform을 넘겨주면 된다. ..

Unity/Tips 2021.11.23

Unity Assets폴더에 있는 스크립트 혹은 오브젝트가 Scene의 어디에서 사용되고 있는지 보고 싶은 느낌

자주 사용하는 미리 만들어둔 UI Prefab 중에 하나인데 이게 어쩔 수 없이 좀 뭘 끼고 끼다 보면 구조가 복잡해지기 마련.. 간 혹 이러다 위에 체크 된 ScrollRect_라는 스크립트가 어디에서 사용되고 있는지 확인해 봐야 할 경우가 생길 수 있음 -> 꼭 저 스크립트가 아니라 무언가를 참조하고 있는데 그 부분을 확인해야 한다든지 해서 Assets안에 있는 스크립트들이 Scene의 어느 오브젝트에 붙어있는지 필요로 할 경우가 있는데 이럴 땐 찾고자 하는 스크립트에서 Find References in Scene으로 확인할 수 있따. 물론 꼭 스크립트가 아니라 다른 Assets폴더 아래 모든 오브젝트에 해당

Unity/Tips 2021.11.08

Unity warning 무시 (경고 무시)

간혹 아니 매번 특히 초기화할 경우 Unity는 친절하기 때문에 난 분명 이따 쓸거고 아니 쓸건데 지금 당장은 안 쓰는데 미리 좀 안 까먹으려고 선언만 좀 해둔 건데 이렇게 never used라고 경고를 뿌린다. 뭐 사실 당연한 건데 진짜 짜증날 때가 있음 이럴 때는 #pragma warning disable를 사용 -> #pragma warning disable + 0219(경고 내용) => 경고를 안 보이게 설정 가능 (사용하는 script에 삽입) 근데 썩 이렇게 닫아 놓구 쭉 냅두는 건 별로임 이러다 진짜 까먹을 수도 있어서 잠시 동안 안 보이게 하고 다시 코드 지우는 게 좋을 듯

Unity/Tips 2021.11.06

Unity 간단한 노치 대응-

Device simulator Import - Preview Package를 Import 하려면 Package Manager오른쪽 상단에 설정을 들어가서 Enable Preview Packages 체크 + https://assetstore.unity.com/packages/tools/gui/safe-area-helper-130488 Safe Area Helper | GUI 도구 | Unity Asset Store Use the Safe Area Helper from Crystal Pug on your next project. Find this GUI tool & more on the Unity Asset Store. assetstore.unity.com Safe Area Asset 다운 먼저 위처럼 Ga..

Unity/Tips 2021.07.19

간혹 열거형(enum)을 여러 개 지정할 때

https://docs.microsoft.com/ko-kr/dotnet/api/system.flagsattribute?view=net-5.0 FlagsAttribute 클래스 (System) 열거형을 비트 필드 즉, 플래그 집합으로 처리할 수 있음을 나타냅니다.Indicates that an enumeration can be treated as a bit field; that is, a set of flags. docs.microsoft.com using UnityEngine; public class EnumTest : MonoBehaviour { [System.Flags] // [System.Flags] -> 열거형 -> 비트 연산 public enum Player { None, Player_0 = 0..

Unity/Tips 2021.07.16

Unity Editor 유연하게 사용하기 [ 에디터 커스텀 확장 !?]

코드 먼저 #if UNITY_EDITOR using UnityEditor; #endif using UnityEngine; using UnityEngine.Serialization; //[RequireComponent(typeof(BoxCollider))] // 지정한 component를 요구 -> 지정한 component가 없으면 자동 추가 [AddComponentMenu ("A_CustomAddComponent/EditorTest")] // Component에 Script에서만 script찾지말고 따로 Menu만들어서 넣어 둘 수 있음 [ExecuteInEditMode] // script가 play mode가 아니라 editor mode에서도 동작 가능하게 함 public class Editor_Tes..

Unity/Tips 2021.07.15

Unity Visual Studio에서 이상한 오류?!

* Unity에서 간혹 visual Studio에서 디버깅, 컴파일을 하다 Unity Editor에서 실행은 문제가 없는데 visual Studio상에서 error가 뜰 경우가 있다. Unity와 연결이 끊겨서 그런 거 같은데 어떻게 끊기게 한 건지를 모르겠다 다시 해보려고 별 ㅈ;... (Notepad++으로 Json파일 읽어서 그런 듯?) 음 뭐 하튼 그러면 Script Editor에서 아마 솔루션 환경이 외부에서 수정되었 어쩌구저쩌구 하면서 로드 다시 할 거냐고 하는데 로드 다시 하면 된다. ​Edit - Preferences에서 쳌쳌 *[Regenerate projectfiles만 누르고 사용하는 Script Editor을 켜서 다시 로드하면 되긴 하는데 간혹 이렇게 해도 안될 때가 있어서 Ext..

Unity/Tips 2021.06.27

Shader HLSL -> Shader Graph화 할때 유용한 사이트

HLSL에서 사용하는 함수들이 보통(?) Shader Graph의 node에서 제공하는 함수와 내용이 같지만 자세히 보면 같은 함수임에도 node에서 설정을 어떻게 하냐에 따라 출력이 다르게 나올 수가 있어서 꼭 HLSL의 함수 내용과 Shader Graph의 node의 내용을 비교해가면서 작업해야 한다. https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl High-level shader language (HLSL) - Win32 apps HLSL is the C-like high-level shader language that you use with programmable shaders in DirectX. docs...

Unity/Tips 2021.06.03
반응형