본문 바로가기
반응형

개발/Unity361

문제해결)Unity)The same field name is serialized multiple times in the class or its parent class. This is not supported: Base(MonoBehaviour) m_Name UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) The same field name is serialized multiple times in the class or its parent class. This is not supported: Base(MonoBehaviour) m_Name UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) 상속관계에서 여러번 같은 이름으로 직렬화(Serialized) 되는 과정에서 발생하는 에러이다. 본인은 m_Name이라는 메서드가 상속관계에서 동일하게 쓰였다. 해결방법으로 해당 이슈나는 name을 다른 name으로 변경해서 사용하거나 상속 구조를 변경하면 된다. 급하게 작업하고 빌드하다가 발생했다. ㅎㅎ. ★☆☆☆☆ 2022. 11. 30.
Unity) Custom Project Setting (SettingProvider) Custom Project Setting (SettingProvider) SettingProvider를 사용하면 Project Setting의 메뉴를 추가할수있다. 빌드 및 프로젝트의 필요한 설정을 굳이 Editor Window를 만들어서 사용하지 않아도 된다. Project 관련된 설정을 Custom 해서 추가해보자. SettingServices 를 통해서 해당 메뉴를 열수도 있다. [MenuItem("SHC_Menu/Select Custom Hierarchy")] private static void ShowProjectSetting() { SettingsService.OpenProjectSettings("Project/CusthomHierarchy form SHC"); } Unity SettingPr.. 2022. 11. 29.
Unity)No 'git' executable was found. Plase install Git on your system then restart Unity and Unity Hub No 'git' executable was found. Plase install Git on your system then restart Unity and Unity Hub Git Package로 설치되어있는 프로젝트를 여는 과정에서 UPM(Unity Package Manager)를 로드하지 못해서 생긴 이슈이다. 1 .네트워크 연결을 확인해본다. 네트워크 연결이 비정상적이거나 해당 패키지를 읽어오지 못한 경우일 수도 있다. (네트워크 연결 확인후 다시 Unity 재실행) 2. 문제가되는 것으로 파악되는 UPM (git으로 연결된 패키지)를 제거하고 다시 로드해본다. Git Package를 다른 형태로 Package를 추가할수 있으면 하는 방법도 있다. 추가로 Unity 공식 문서는 아.. 2022. 11. 27.
Unity) Unity Pro 라이선스 구분하기 (from Editor) Unity Pro 라이선스 구분하기 (from Editor) Editor를 만드는 과정에서 Pro와 Personal의 구분이 필요한 경우가 종종 존재한다. 그럴때 사용하는 코드이다. UnityEditorInternal.InternalEditorUtility.HasPro() 간단하게 코드로 Pro License를 구분이 가능하다. Pro는 기본적으로 Dark Skin이 기본이고 Personal은 기본이 Gray Skin이다. Editor를 Custom하는 과정에서 구분이 필요해서 찾게 되었다. Unity OpenSource : [링크] GitHub - Unity-Technologies/UnityCsReference: Unity C# reference source code. Unity C# reference.. 2022. 11. 23.
Unity) PlayableGraph Visualizer Unity) PlayableGraph Visualizer PlayableGraph Visualizer 패키지를 사용하면 장면에서 인스턴스화된 재생 가능한 그래프를 시각적으로 표현할 수 있다. Playables API는 동적 애니메이션 블렌딩을 허용합니다. 즉,장면 자체 애니메이션을 제공할 수 있습니다. 예를 들어 무기, 상자 및 함정에 대한 애니메이션을 PlayableGraph에 동적으로 추가하고 특정 기간 동안 사용할 수 있습니다. Playables API를 사용하면 AnimatorController 자산 생성 및 관리와 관련된 오버헤드 없이 단일 애니메이션을 쉽게 재생할 수 있습니다. 플레이어블 API를 사용하면 사용자가 혼합 그래프를 동적으로 생성하고 혼합 가중치를 프레임별로 직접 제어할 수 있습니.. 2022. 11. 22.
Unity)Plugin) Asset Cleaner PRO - Clean | Find References (유료 Asset Cleaner PRO - Clean | Find References (유료) 어셋에 대한 사용 여부와 용량 및 관리를 하는 간단한 툴이다. 가격 : 30달러 Unity Store Link : [링크] Asset Cleaner PRO - Clean | Find References | 유틸리티 도구 | Unity Asset Store Use the Asset Cleaner PRO - Clean | Find References from GameDev Tools on your next project. Find this utility tool & more on the Unity Asset Store. assetstore.unity.com Package를 Import 한다. [Window]-[ -Asse.. 2022. 11. 21.
Unity) URL 이미지 로드 하기 (UnityWebReuqestTexture) URL 이미지 로드 하기 (UnityWebReuqestTexture) UnityWebReuqest에서 URL이미지를 가져와서 처리할수있도록 지원하는 UnityWebReuqestTexture라는게 존재한다. 단순히 WebRequest 로 Byte Stream을 읽어서 이미지를 만들수도 있지만 Unity에서 지원하는것을 사용하도록 하자 이 함수는 DownloadHandlerTexture 오브젝트를 UnityWebRequest에 연결합니다. DownloadHandlerTexture는 Unity 엔진에서 텍스처로 사용할 이미지를 저장하는 데 최적화된 특수 다운로드 핸들러입니다. 이 클래스를 사용하면 원시 바이트를 다운로드하여 스크립트에서 텍스처를 수동으로 생성하는 방법에 비해 메모리 재할당이 크게 감소합니다. .. 2022. 11. 18.
Unity)Event System Manager Event System Manager 입력, RayCasting 및 전송 이벤트를 처리하는 역할을 하고 Scene 하나당 하나의 EventSystem만 사용가능 하다. 이벤트 시스템의 주요 역활은 다음과 같다. 선택된 것으로 간주되는 GameObject 관리 현재 사용중인 입력 모듈 정보 Raycasting 정보 입력 모듈 업데이트 Play Mode에서 실행을 하고 Event System의 속성을 보면 여러가지 정보를 알수있다. EventSystem의 Inspector를 선택하고 실제 Component에 클릭해보면 정보가 갱신된다. EventSystem의 속성의 정보는 다음과 같다. 속성 설명 Pointer input Module of Type 포인터의 입력된 이벤트 모듈 타입 Pointer 포인터 인덱.. 2022. 11. 17.
문제해결)Unity) TileMap 축 정렬 이슈 TileMap 축 정렬 이슈 TileMap을 사용하는 과정에서 발생한 이슈인데 TileMap를 여러개 사용하다보니 축이 달라서 레이어를 설정하는 것을 찾다가 정리한다. [Edit]-[Project Settings]-[Graphics]의 Camera Settings의 Transparency Sort Axis를 확인해봐야한다. 사용자가 지정한 축을 기준으로 렌더러를 정렬한다. 일반적으로 아이소메트릭 타일맵이 있는 프로젝트에서 타일 스프라이트를 올바르게 정렬하고 렌더링하는데 사용합니다. Unity Answer : [링크] Sorting layers according to Y axis - Unity Answers answers.unity.com Unity 2D Sort : [링크] Unity - Manual: .. 2022. 11. 10.
문제해결)DirectoryNotFoundException: Could not find a part of the path "경로". DirectoryNotFoundException: Could not find a part of the path "경로". 해당이슈는 상위 폴더가 존재하지 않는 경우에서 발생한 상황이다. 상위에 경로가 존재해야하는데 예외처리로 상위 폴더의 존재여부를 판단 이후에 없으면 생성하고 처리하면 된다. ★☆☆☆☆ 2022. 11. 8.
Unity)Import Activity Window (Asset Import 정보) Import Activity Window Unity Version 2021.2.0a1 이상에서 지원하는 기능으로 자산 데이터베이스에서 가져오는데 얼마나 걸렸는지 알수있는 기능이 공식적으로 추가되었다. [Assets]-[View in import Activity Window] 해당 Import Activtiy에서는 임포트하는 과정에서 걸린 시관과 해당 정보를 알수있다. 에셋에 대한 설명은 다음과 같다. 속성 설명 Asset 현재 선택한 에셋의 이름입니다. 이 필드를 클릭하여 프로젝트 창에서 에셋을 찾을 수 있습니다. GUID 에셋에 할당된 고유 GUID입니다. 이를 사용하여 프로젝트 전체에서 레퍼런스를 추적할 수 있습니다. Asset Size 에셋의 소스 파일 크기입니다. Path 프로젝트의 루트 폴더를 .. 2022. 11. 7.
Unity) ScriptableObject Extended(스크립터블 오브젝트 확장) ScriptableObject Extended(스크립터블 오브젝트 확장) Scriptable Object 를 확장해서 Inspector에 노출되는 Eidtor Code이다. 하위 항목이 존재하면 Folder 형태로 표시가되고 편리하다. // Developed by Tom Kail at Inkle // Released under the MIT Licence as held at https://opensource.org/licenses/MIT // Must be placed within a folder named "Editor" using System; using System.Reflection; using System.Collections; using System.Collections.Generic; usi.. 2022. 11. 3.
문제해결)Unity)ReadPixels was called to read pixels from system frame buffer, while not inside drawing frame. ReadPixels was called to read pixels from system frame buffer, while not inside drawing frame. UnityEngine.Texture2D:ReadPixels (UnityEngine.Rect,int,int) 를 사용하는 과정에서 발생한 이슈이다. 텍스쳐를 생성하고 ReadPixels을 하는 과정에서 발생한 오류로 모두 다 그려지고 난 이후에 ReadPixels을 해줘야하는데 그렇지 않은 경우이다. 이 과정을 방지하기 위해서는 ReadPixels를 하기전에 WaitForEndOfFrame을 호출해주면 된다. public IEnumerator TakeSnapShotAndSave() { ... yield return new WaitForEn.. 2022. 11. 2.
Unity) 특정 영역 스크린샷 (RectTransform ScreenShot) 특정 영역 스크린샷 (RectTransform ScreenShot) 특정 영역에 대해서 스크린샷(Screen Shot)을 찍는 코드이다. Image를 기반으로 해당 영역을 기준으로 해상도와 사이즈를 계산한다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class CanvasInImagePosition : MonoBehaviour { [SerializeField] private Canvas Canvs = default; [SerializeField] private CanvasScaler scaler = default; [SerializeField] priva.. 2022. 11. 1.
Unity)GUILable(OutLine : 외곽선추가) GUILable(OutLine : 외곽선추가) GUI를 표현하는 과정에서 단색으로 처리 하면 잘 보이지 않아서Style을 추가해서 OutLine (Stroke)처리하는 코드이다.#if UNITY_EDITORprivate GUIStyle customStyle = null; void Initalize(){ if(customStyle == null) { customStyle= new GUIStyle(GUI.skin.box); customStyle.normal.textColor = Color.white; customStyle.fontSize=11; }}void OnDrawGizmos(){ Handles.BeginGUI(); .. 2022. 11. 1.
반응형