본문 바로가기
반응형

개발/Unity361

Unity) 화면 캡쳐(Screen Capture) 화면 캡쳐(Screen Capture) 화면을 캡처하는데 사용하는 코드이다. 화면을 가져오는 여러가지 방법이 있는데 Camera.targetTexture와 RenderTexture.active를 통해서 화면을 가져오는 코드이다. public static bool TakeScreenshot(string path, ImageFormat format, Camera cam = null) { if (cam != null || format != ImageFormat.Png) { Texture2D screenshot; if (cam != null) { var tmp = RenderTexture.GetTemporary(cam.pixelWidth, cam.pixelHeight); var cache = cam.target.. 2022. 7. 28.
Unity)Android) Device Version Infomation(디바이스 정보) Device Version Infomation(디바이스 정보) Android Device 정보를 가져오는 코드이다. public class AndroidVersion { static AndroidJavaClass versionInfo; static AndroidVersion() { versionInfo = new AndroidJavaClass("android.os.Build$VERSION"); } public static string BASE_OS { get { return versionInfo.GetStatic("BASE_OS"); } } public static string CODENAME { get { return versionInfo.GetStatic("CODENAME"); } } public s.. 2022. 7. 27.
Unity) Z-Fighting(제트 파이팅) Z-Fighting(제트 파이팅) Unity 에서 축의 좌표계중 그려지는순서를 결정하는 과정에서 Z축이 동일한 상황에서 서로 충돌나는 형태를 Z -Fight 이라고 표현한다. 설명 두 게임 개체가 동일한 픽셀로 렌더링하려고 할 때 발생하며 깊이 버퍼(예: z 깊이)의 충실도 제한으로 인해 Unity에서 다른 개체 앞에 있는 개체를 식별할 수 없습니다. 개발자는 동일한 z 깊이 값을 위해 싸울 때 두 게임 개체 간에 깜박임을 알 수 있습니다. 카메라에서 z 깊이에 대해 계산할 각 개체에 대해 더 큰 범위의 값이 있으므로 24비트 깊이 형식으로 전환하여 이 문제를 해결할 수 있습니다. 해결방법으로는 순서를 명확하게 해주는 여러가지 방법이 존재한다. Z축의 소수점 수치를 조정하는 방식 카메라의 클리핑 평면 거.. 2022. 7. 26.
Unity)문제해결)The animation state AnimationName could not be played because it couldn't be found! The animation state AnimationName could not be played because it couldn't be found! 위와같은 오류가 발생하면 해결하는 방법을 포스팅한다. Animation이 레거시방법으로 만들어진 상태일때 발생하는데 해결방법은 다음과 같다. 애니메이터를 클릭해서 인스펙터에서 Debug 모드로 변경한다. 'Legacy' 항목을 체크한다. Unity Animation을 만드는 과정에서 버전이다르게 적용되서 그런것 같다. 참고한 사이트 : [링크] 2022. 7. 19.
Unity) Lerp 와 Slerp 차이 보호되어 있는 글 입니다. 2022. 7. 19.
Unity) Web Request(WWW) Code Example Web Request(WWW) Code Example Unity 에서 Web Request 를 하는 방식의 일반적인 경우 2가지 코루틴, Task를 활용한 방식에 대한 예시코드이다. Coroutine private void Test1() { System.UriBuilder defaultUri = new System.UriBuilder(urlPath); //defaultUri.Query += StartCoroutine(GetWebRequestText(defaultUri.Uri.ToString(), (success, result) => { if (success == false) { Debug.LogError($"[WWW] :Error Url ::{defaultUri.Uri.ToString()}\n Resul.. 2022. 7. 19.
Unity)문제해결)Could not find a working python interpreter. Please make sure one of the following is in your PATH: python3 python3.8 python3.7 python2.7 python2 python Could not find a working python interpreter. Please make sure one of the following is in your PATH: python3 python3.8 python3.7 python2.7 python2 python Python이 설치가 안되어있거나 Path가 등록되어있지 않는 경우에 해당 에러가 나온다. Python 설치 사이트에서 해당 버전을 설치한다. https://www.python.org/downloads/ Download Python The official home of the Python Programming Language www.python.org Add Python xx Path를 클릭해서 환경변수를 등록하도록 해서 설치진행한다... 2022. 7. 11.
Unity)Script Template + ScriptableObject (Custom Keyword) Script Template + ScriptableObject (Custom Keyword) ScriptableObject와 Script Template를 사용하면 좀더 커스텀한 포맷으로 스크립트를 작성할수있다. 생성된 날짜, 작성자 등등 생성시점에 자동으로 만들수 있다. AssetModificationProcessor를 통해서 에셋이 변경되는 시점에서 특정 Key를 기준으로 Value로 변경한다. /** * ScriptTemplate.cs */ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; /// /// Custom Script Template 의 예약된 항목을 변경해주기위한.. 2022. 7. 10.
Unity) Serialize Dictionary (Dictionary 직렬화) Serialize Dictionary (Dictionary 직렬화) Dictionary 를 직렬화 하게되면 Insepctor에서도 해당 값을 확인이 가능하다. 시리얼라이즈된 Key, Value 형태의 커스텀 클래스이다. ISerializationCallbackReceiver 를 상속받아서 OnAfterDeserialize와 OnBeforeSerialize를 통해서 직렬화 처리를 하게 되어있다. using System; using System.Collections; using System.Collections.Generic; using UnityEngine; [System.Serializable] public class Serialization : ISerializationCallbackRec.. 2022. 7. 3.
Unity) 스크립트 템플릿 설정하기(Unity Script Template 개별) 스크립트 템플릿 설정하기(Unity Script Template 개별) 생성하는 스크립트의 기본적인 템플릿을 개별로 설정하는 방법이다. 기존의 Unity 에서 지원하는 Script Template을 기반으로 작성한다. 참고할 경로는 다음과 같다. C:\Program Files\Unity\2020.3.2f1\Editor\Data\Resources\ScriptTemplates ScriptTemplates 의 하위에 해당 스크립트 템플릿을 넣는다. 생성된 스크립트 템플릿의 전체 파일이다. 스크립트 템플릿의 명칭 (명명 규칙)은 다음과 같다. 01-C# Custom Script__NewScript-NewScript.cs [우선순위]-[메뉴이름]__[서브메뉴이름]-[기본생성이름].cs.txt 표 : Assets/.. 2022. 6. 28.
Unity)Tip) Visual Studio 사용 팁 Unity Visual Studio 사용 팁 가장 많이 사용하는 단축키 및 기능중 굉장히 유용한 사용방법에 대한 정리 포스팅이다. 주석으로 TODO / HACK 같은 주석을 기준으로 작업 목록을 따로 볼수있는 기능 나중에 해야할 기능들이나 개선 및 여러가지 기능들에 대한 주석으로 활용 그룹화된 항목에 대해서 접기/펼치기를 할수있는 단축키이다. Unity 에서 코딩시 Visual Studio 툴 최적화 팁 : [링크] Unity에서 코딩 시 Visual Studio 툴 최적화를 위한 팁 MS Visual Studio는 Unity용 기본 텍스트 에디터입니다. C#으로 코딩할 때 사용할 수 있는 무료 확장 프로그램입니다. Visual Studio를 더 쉽게 사용할 수 있는 몇 가지 팁이 있.. 2022. 6. 24.
Unity) System Info 정보 확인(배터리 잔량, 장치 모델, 그래픽 카드,운영체제 등등) System Info 정보 확인(배터리잔량, 장치 모델, 그래픽카드,운영체제등등) 시스템 및 하드웨어 정보에 액세스한다. 기본적으로 플랫폼의 정보와 하드웨어의 기능을 알수있다. 배터리 잔량, 장치모델, 그래픽카드, 운영체제, 랜더링정보 등등 여러가지 정보를 제공해준다. 간단하게 해당 SystemInfo를 GUI를 이용해서 처리하는 코드이다. using UnityEngine; using System.Reflection; public class SystemInfoLog : MonoBehaviour { private GUIStyle textStyle; private Vector2 scroll; void Start() { textStyle = new GUIStyle(); textStyle.normal.textC.. 2022. 6. 22.
Unity)iOS Resolver failed to install cocoapod iOS Resolver failed to install cocoapod Unity 실행시 cocoapod 가 intsall 을 실패했다는 error를 보게되면 Xcode를 설치를 하고 실행을 한번해주면 된다. 기본적으로 코코아팟은 Swift 및 Object -C의 종속성 관리자인데 Xcode 프로젝트 라이브러리들의 집합이다. iOS에서 개발하다보면 기본적으로 대부분 다 포함되어있다. ★☆☆☆☆ 2022. 6. 22.
Unity)iOS) AppStore App infomation(Version,ScreenShotUrls, Store data, BundleID, Price ..) AppStore App infomation(Version,ScreenShotUrls, Store data, BundleID, Price ..) AppStore 에서 상용 서비스중인 앱에 대한 정보는 URL을 통해서 가져올수 있다. App Store에서 Version정보를 가지고오게되면 현재 버전과 체크해서 AppStore에 최신 버전이 있는지(업데이트)를 확인할수 있다. 개발자면 번들정보를 아는 방법은 Appstore Connect의 [AppStore]- [App 선택] -[일반정보]- [앱 정보]에서 확인이 가능하다. //다운로드 URL의 id를 가지고 확인하는 방법 "https://itunes.apple.com/lookup?id="다운로드 URL 뒤의 ID" //Bundle ID를 아는 경우 "htt.. 2022. 6. 16.
Unity) Unity 내장 icon 종류(Editor Built-in icons) Unity 내장 icon 종류(Editor Built-in icons) Unity 에서 기본적으로 내장하고 있는 Icon 에 대한 정보 링크이다. 자주 사용하는 항목은 다음과 같다. Prefab Icon Favorite Icon Folder Icon Animation Icon Shader Icon ScriptableObject Icon Terrain Icon TextMesh Icon BoxCollider Icon Camera Icon RectTransform Icon Unity 내장 리소스에서 Icon을 가져온다. 사용방법은 다음과 같다. 필요한 Icon 의 Name을 넣으면 된다. EditorGUIUtility.IconContent("Animation Icon").image 2020.1.01f 를 기준.. 2022. 6. 15.
반응형