전체 글 55

유니티 유용한 단축키 3가지

유니티 버전 - 2022.3.17f1     유용한 단축키 3가지Shitft + Space해당 윈도우를 최대화 합니다, 게임 뷰를 클릭하고 수행시 게임뷰가, 씬뷰를 클릭하고 수행시 씬뷰가 전체화면으로 최대화 됩니다   Alt + Shift + AHierarchy에서 선택된 오브젝트를 활성화/비활성화 합니다   Ctrl + Shift + N빈 오브젝트를 생성합니다, 추가로 Alt + Shift + N은 자식 오브젝트로 빈 오브젝트를 추가하지만 불편해서 해당 키로는 잘 사용하지 않습니다   추가로 Edit -> Shortcuts 에서 동작 수행을 원하는 단축키로 설정이 가능합니다

마우스 커서 스프라이트가 깨져서 나올때 해결법

유니티 버전 - 2022.3.17f1     커서 스프라이트가 깨져서 나올때커서로 사용하기위해 스프라이트의 텍스쳐를 가져와서 설정해주었을때, 게임 뷰에서 아래처럼 커서 이미지가 깨져서 나오는 현상이 발생 (현재 스프라이트는 .PNG)   1. Texture Type을 Cursor로 변경   2. Read/Write 체크 및 Format을 RGBA 32 bit으로 변경   3. Cursor.SetCursor를 이용하여 커서 변경Cursor.SetCursor(Texture2D texture, Vector2 hotspot, CursorMode cursorMod)Cursor.SetCursor(A, B, C)A : 커서에 사용될 텍스쳐B : 커서의 기준점(클릭 지점)C : 커서 모드, 기본 Auto 선택     ..

The type or namespace name 'EditorWindow' 오류

유니티 버전 - 2022.3.17f1     The type or namespace name 'EditorWindow'빌드시 다음과 같은 오류가 발생하는이유는 EditorWindow는 에디터 전용 클래스이기때문에, 런타임 빌드에서는 사용할 수 없기때문입니다Assets\Scripts\스트립트명.cs(6,36):error CS0246: The type or namespace name 'EditorWindow' could not be found (are you missing a using directive or an assembly reference?) 'EditorWindow' / 'MenuItemAttribute' / 'MenuItem'    따라서, EditorWindow를 상속받는 스크립트는 Edito..

유니티 에디터에서 동영상, 사진 녹화하기

유니티 버전 - 2022.3.17f1     목차패키지 설치녹화사진     패키지 설치Window -> Pakage Manager로 이동합니다   Packages : Unity Registry로 설정하고 Recorder를 검색후 설치 합니다   Window -> General -> Recorder -> Recorder Window로 이동하여 패널을 띄워줍니다     녹화Add Recorder의 Movie를 선택해줍니다   빨간색 박스의 옵션을 먼저 조절하고 필요하다면 다른 옵션들도 조절하시면됩니다Exit Play Mode를 선택하면 녹화를 중지할때 에디터의 플레이 모드가 같이 종료됩니다     사진Image Sequence를 선택합니다   Movie와 마찬가지로 필요한 옵션들을 조절해줍니다   START..

Default Font Asset 설정하기

유니티 버전 - 2022.3.17f1     Default Font Asset 설정하기새로운 텍스트를 만들때 Font Asset이 기본으로 제공되는 에셋으로 설정되어 있기에 원하는 Font Asset을 적용시켜주기 위해서는 계속해서 선택해 주어야합니다, 기본 Font Asset을 직접 지정하여 새로운 텍스트를 만들때 원하는 Font Asset이 적용되어 있도록 해보겠습니다   Edit -> Project Settings -> TextMesh Pro -> Settings -> Default Font Asset에서 기본 값으로 설정하고자하는 Font Asset을 선택하여 줍니다   버튼을 다시 만들었을때 기본 값으로 설정한 Font Asset이 적용되어있는 모습입니다

Dotween의 OnComplete()를 여러개 사용할때 작동하지 않는 문제

유니티 버전 - 2022.3.17f1     .OnComplete() 연속 사용시 작동하지않는 문제메서드 체이닝으로 .OnComplete()를 두개 이상 사용할때 소위말하는 "씹히는" 현상이 일어나는 이유는, 여러 개의 콜백을 사용할 수 있지만, 연달아 사용한 .OnComplete()는 이전 것을 무시하고, 가장 마지막에 설정된 .OnComplete()만 실행됩니다transform.DOMoveX(0, 2f) .OnComplete(() => Debug.Log("첫 번째")) // 실행 X .OnComplete(() => Debug.Log("두 번째"));   따라서 하나의 OnComplete 내부에서 모든 동작을 처리하거나, 메서드를 따로 만들거나, Sequence를 이용하여 처리해야합니다var..

깃허브 데스크탑 체리 픽(Cherry-Pick)

유니티 버전 - 2022.3.17f1     체리 픽현재 상황은 원래 본인 브랜치에서 작업해야하지만 실수로 다른 브랜치에서 작업한 상황입니다   1. 커밋 내역을 작성하고 정확히 커밋까지만 합니다(빨간 박스 까지만 클릭)   2. 히스토리에서 해당 커밋을 클릭하고 Cherry-pick commit...을 선택합니다   3. 해당 커밋을 이동시키고싶은 브랜치를 선택하고  (Cherry-pick 00 commit to 브랜치명...)를 클릭합니다   4. 그러면 해당 브랜치로 이동하면서 커밋 내역이 옮겨지는데, 이때 Push까지 해줍니다   5. 체리픽을 시도했던 브랜치(잘못 작업한 브랜치)로 돌아가서 커밋내역을 Undo 합니다   6. 모든 Changes를 선택하고 Discard 해줍니다

URP 프로젝트에서 Y축을 기준으로 스프라이트를 앞에 정렬하기

유니티 버전 - 2022.3.17f1     목차Universal Render Pipeline Asset_RendererTransparency Sort     Universal Render Pipeline Asset_Renderer아래 경로를 통해 에셋을 생성합니다   해당 에셋을 클릭해줍니다     Transparency SortSort Mode가 Default로 되어있을때는 아래와 같이 정렬됩니다   탑다운 게임이지만 위의 나무가 아래의 나무보다 앞에 그려지기에 부자연스럽게 보여집니다     Custom Axis를 선택하고 Sort Axis를 0, 1, 0 으로 설정하여 줍니다   이제 위의 나무가 뒤에 그려져, 앞의 나무 스프라이트가 뒤의 뿌리를 가려버리기에 더 자연스럽게 보입니다

깃허브 데스크탑에서 External editor가 Visual Studio로 안 열릴 때

유니티 버전 - 2022.3.17f1     목차문제 상황Visual Studio 세팅윈도우 환경설정 세팅GitHub Deskoop 세팅     문제 상황유니티에서 스크립트를 작성할때 라이더를 사용중인데, Open with default program을 눌렀을때 라이더가 아닌 비주얼 스튜디오가 나왔으면하는 상황 완전히 근본적인 해결법은 아니기에 모두 읽어보고 하시는 것을 추천드립니다     Visual Studio 세팅1. Visual Studio Installer 실행 2. 현재 설치된 Visual Studio Community 2022 우측의 수정 클릭 3. 개별 구성 요소에 git 입력 후 Git for Windows 선택 후 우측 하단의 수정 클릭  4. 설치 완료 후 빨간 박스를 눌러 실행   ..

인벤토리 슬롯 저장/로드시 간헐적으로 아이템이 사라지는 현상

유니티 버전 - 2022.3.17f1     목차문제상황InstanceID해결법마치며     문제상황데이터 저장 / 로드시 인벤토리의 아이템 일부가 삭제되어있거나 다른 아이템이 들어있는 상황   현재 저장시에 Slot[]의 형태로 저장되어지고있음   Slot의 구조입니다, ItemSo와 itemCount는 필수로 존재해야합니다   또 ItemSO에는 ItemCode가 필수로 존재해야합니다      InstanceIDJson파일을 열어보았을때 저장된 Slot[i] 번째에 instanceID가 저장되어있습니다{ "itemSo": { "instanceID": 123456 }, "itemCount": 5}// 위와 비슷하게 나옴   여기서 문제가 발생합니다, instanceID는 유니티의 특정 상태(런타임 ..