반응형 개발880 Unity)2021) 모바일 게임 성능 최적화 팁-1 모바일 게임 성능 최적화 팁 Unity Korea에서 발표한 모바일 게임 성능 최적화 팁 관련돼서 정리 내용이다. [유니티 TIPS] 모바일 게임 성능 최적화 - 1편 : [링크] 맹목적으로 최적화를 하지 마라( Dont' optimize blindly ) 무조건적으로 최적화를 하는게 좋은 게 아니다 상황을 보고 진행해야 한다. 인력, 일정, 스펙, 하고자 하는 목적 등 여러 가지에 따라 달라질 수 있다. (프로토타입에서는 좀 덜 신경 쓰는 것처럼) 프로파일러를 하는 주체가 어떻게 되냐? 에 대한 이야기도 잠깐 나온다. ( 개인적으로는 모든 사람이 다 연관돼서 하면 좋다고 생각한다. 그러나 프로그래머가 주가 되어야 한다는 말에 동의한다. TA도 하면 베스트이다.) 프로파일러를 진행할 때 타깃을 잡고 진행.. 2022. 3. 3. Unity) Project Structure (유니티 프로젝트 구조 및 모범 사례) Project Structure (유니티 프로젝트 구조 및 모범 사례) Unity Project의 파일에서 실질적으로 구성하는 폴더는 Asset, Packages, ProgjectSetting 3가지로 구성된다. 나머지는 유니티를 실행하는 과정에서 해당 환경에 맞게 생성된다. (기본적인 프로젝트같은경우에는 Git 같은 저장소에 커밋할경우에도 3가지만 업로드하면 된다.) .vscode Visual Studio Code 설정파일 Assets 필수 Unity 프로젝트의 리소스가 들어갈 기준 파일 Library Unity 에서 포함될 Library 폴더 Logs Unity 에서 기록되는 Log 폴더 obj 연결되지 않은 컴파일된 바이너리 파일의 중간 파일 저장소 [참고 링크] Packages .. 2022. 3. 3. 문제해결)Unity)Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema 갑자기 윈도우 업데이트 이후에 빌드시 해당 에러가 뜨는 상황이 생겼다. 확인해보니 JAVA_HOME 환경변수가 없어진 상황이었다. 다시 환경변수 셋팅을 해주니 에러가 없어지고 빌드가 성공했다. JAVA_HOME 설정 방법 : [링크] Unity) Android Resolver ERROR: JAVA_HOME ~ Android Resolver ERROR: JAVA_HOME ~ Unity에서 Android Resolver를 사용하다 보면 ERROR: J.. 2022. 2. 27. Unity) Android Google Play -입앱 결제 테스트 및 환불(IAP) Android Google Play -입앱 결제 테스트 및 환불(IAP) 결제 관련되서 테스트로 진행할때는 테스트 계정 등록 및 환불을 진행해야 한다. 환불방법은 Goolge Play Console - 주문관리에 들어가면 모든 앱의 주문정보를 확인이 가능하다. 주문관리의 환불할 앱의 주문 ID를 선택해서 환불을 누르면된다. 이때 중요한건 환불을 할때 '자격삭제'를 해야지 재구매가 가능하다(비소모성) 자격 삭제를 하지 않으면 환불되고 난 뒤에 재구매가 안된다. 소모성에 대해서는 재구매에 대한 제약이 없기 때문에 상관이 없다. 테스트는 Google Console에 업로드된 형태(내부/베타/알파/프로덕션)등에 포함되어야 기능이 동작한다. ★☆☆☆☆ 2022. 2. 23. Unity) Resources 모든 오브젝트 Missing(null) 확인 현재 Scene의 모든 오브젝트 Missing(null) 확인 현재 Scene 기준으로 모든 Component를 찾아서 null인지 판단하는 코드이다. 작업을 하다보면 중간에 삭제가되서 연결이 자동으로 끊어지는 Missing 난 상태가 종종 생긴다. 그런경우에 Missing난 걸 일일이 찾는데는 오래걸리기 때문에 에디터툴을 하나 만들어 두고 사용하는게 좋아보인다. using UnityEngine; using UnityEditor; public class FindMissingScripts : EditorWindow { [MenuItem("Window/FindMissingScripts")] public static void ShowWindow() { EditorWindow.GetWindow(typeof(Fi.. 2022. 2. 23. Unity) Unity Project .Gitignore 파일 Unity Project .Gitignore 파일 Unity 프로젝트에서 사용하는 Git ignore 파일을 매번 만들기 귀찮아서 포스팅겸 정리해두려고 한다. 옵션은 필요한 설정을 추가해서 사용하면되고 기본 값이라고 생각하면 된다. # =============== # # Unity generated # # =============== # Temp/ Obj/ UnityGenerated/ Library/ # ============ # # Build generated # # ============ # **/Builds/ # ===================================== # # Visual Studio / MonoDevelop generated # # =====================.. 2022. 2. 19. Unity) Unity C# 내부 소스(Unity C# reference source code.) Unity C# 내부 소스(Unity C# reference source code.) Unity Engine에서 실제 사용되고 있는 소스를 볼 수 있는 GitHub이다. 지금은 2022.1.0b8 C# Reference Source Code까지 업로드되어 있다. [링크] GitHub - Unity-Technologies/UnityCsReference: Unity C# reference source code. Unity C# reference source code. Contribute to Unity-Technologies/UnityCsReference development by creating an account on GitHub. github.com 구현부분이나 여러 가지 동작을 볼 수 있어서 혹시 작.. 2022. 2. 18. Unity) Scroll Snap - Page 처리 (From UI-Extension) Scroll Snap, Horizontal Scroll Snap (From UI-Extension) Unity에서 사용하는 UI Extension(UI 확장) 기능 중 Scroll Snap의 사용법을 정리하는 포스팅이다. Horizontal Scroll Snap은 가로 스크롤 뷰에 Snap 기능이 추가된 것으로 스크롤을 하고 난 이후에 Item이 딱 그 사이즈에 맞게 정지하는 기능이다. 참고로 포함되는 Item을 강제로 Page 형태로 사이즈를 늘린다. UI-Extension : [ 링크 ] GitHub - JohannesDeml/unity-ui-extensions: pulling daily from bitbucket repo pulling daily from bitbucket repo. Contribu.. 2022. 2. 16. 기본기)c#) 자동으로 구현된 속성 자동으로 구현된 속성 C# 3.0 이상부터는 자동으로 속성을 구현이 가능하다. 예전에는 get, set을 메서드를 따로 구성해주곤 했는데 C# 9 이상부터는 init 접근자를 자동으로 구현 속성으로 선언이 가능하다. struct Point { public int X { get; init; } public int Y { get; init; } } var p = new Point() { X = 42, Y = 13 }; 다양한 형태로 속성을 처리할 수 있다. public class DateClass { private int year {get;private set;} private int _month = -1; // Backing store public int Month { get => _month; set {.. 2022. 2. 11. Unity) Android Google Play -입앱 결제(IAP) Code Android Google Play -입앱 결제(IAP) Code 구매 절차 프로세스는 다음과 같다. Code 튜토리얼 : [링크] Unity IAP - Unity Learn Unity IAP (In App Purchases) lets you sell a variety of items directly within your free or paid game including premium content, virtual goods and subscriptions. In this tutorial, we are going to look at how to add IAP to an existing game project. This tuto learn.unity.com 코드로는 해당 IAP의 상품을 AddProduct.. 2022. 2. 8. Unity) Android Google Play - 인앱 결제(IAP) 설정 Android Google Play - 인앱 결제(IAP) Unity를 활용해서 인앱 결제를 하는 방법을 정리한다. In-App Purchasing 를 사용하기 위해서는 Unity Service 등록 및 조직도 설정과 Google Play Console에서 결제 상품이 등록되어 있어야 가능하다. Unity IAP 설정 : [링크] Unity - Manual: Setting up Unity IAP Configuring for Apple App Store and Mac App Store Setting up Unity IAP Note: Screen shots and menu choices may differ between release versions. Overview This document explains.. 2022. 2. 8. 개인생각) 깃허브 코파일럿(Copilot) 깃허브 코파일럿(Copilot) 코파일럿은 마이크로소프트에서 제공하는 Visual Studio Code에서 플러그인으로 사용할 수 있다. 계정을 인증하면 바로 사용이 가능하다. 사용하는 방법은 '내가 원하는 기능'을 작성하면 AI가 코드를 작성한다. 지원하는 언어는 '파이썬, 자바스크립트, Go, 루비 등 지원한다. 주석을 코드로 변환을 하거나 반복 코드 자동완성, 테스트 코드 여러 가지 형태로 지원을 해준다. 결국은 AI가 코드를 도와준다는 개념으로 사용하게 되는 건 괜찮은 것 같다. 지금도 많이 사용하는 코드 어시스트에서 좀 더 확장한 개념으로 받아드리면 될 것 같다. 코파일럿 공식 사이트 : [링크] GitHub Copilot · Your AI pair programmer GitHub Copilot.. 2022. 2. 4. Unity) 달력 만들기 코드 (Make Calendar) 달력 만들기 코드 (Make Calendar) 간단하게 달력을 만드는 코드를 정리 겸 포스팅하게 되었다. 달력을 만드는 코드는 간단하게 DateTime을 활용해서 구현했다. 이전 달과 현재 달을 선택할수 있고, 토요일과 일요일을 구분했다. 현재 날짜(22.02.03일)를 기준으로 선택을 못하게 버튼으로 처리를 했고 Text Color를 좀 더 연하게 구성했다. Prefab과 Inspector의 속성은 다음과 같다. OrgNumber를 기준으로 dayNumber를 계산했다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngin.. 2022. 2. 3. 개발관련)로컬라이징때 다국어의 길이 변화 참고 로컬라이징때 다국어의 길이 변화 참고 현지화에서 특히 제품을 다양한 언어로 번역해야 하는 경우 텍스트 길이 문제는 거의 피할 수 없다. 번역된 텍스트는 원본 텍스트보다 길거나 짧아질수도 있어서 소프트웨어 및 문서 레이아웃을 다시 배치해야하는 경우도 종종 생기는데 이를 텍스트 길이의 패턴을 기준으로 텍스트 길이 변화 다이어그램을 만든 것 이라고 한다. 로컬라이징할때 결국 어떤 언어를 지원할것인지 결정이되면 길이의 증가와 감소에 대한 고려된 UI/UX 디자인을 해야 한다. 원본 : [링크] DTP Tips & Tricks #3 intext.eu ★☆☆☆☆ 2022. 2. 3. Unity) 앱 업데이트(App Update) 앱 업데이트(App Update) 구글에서 지원하는 App Update SDK으로 상위 버전이 있으면 앱 실행 도중에 설치 -> 업데이트 과정까지 가능한 기능이다. 스토어에 가서 업데이트 버튼을 누르지 않고 게임 실행 도중에서 업데이트 및 재시작까지 가능해서 편리한 기능이다. 테스트한 버전은 1.6.0으로 유연한 업데이트(FlexibleAppUpdate), 즉시 업데이트(ImmediateAppUpdate) 2가지를 테스트 했다. 해당 기능은 Android 5.0(API 21)이상 / Play Core 라이브러리가 1.5.0 이상 에디터가 아닌 내부 테스트에서 테스트가 가능하다. IEnumerator CheckForUpdate() { PlayAsyncOperation appUpdateInfoOperatio.. 2022. 1. 29. 이전 1 ··· 29 30 31 32 33 34 35 ··· 59 다음 반응형