728x90

분류 전체보기 360

C# & Unity Code Convention

Unity 에서 Microsoft와 Google의 C# Code Convention을 기반으로 Unity 권장 Coding 규칙을 정리해준 문서를 제공한다. Create a C# style guide: Write cleaner code that scales Get tips from industry experts on how to create a C# code style guide. A style guide can help your team develop a codebase to support the growth of your project to a commercial-scale production. resources.unity.com 아래 링크에서 번역중 ~ C# Coding Convention C# C..

🎮 Unity Study/C# 2023.08.29

[Unity] Json 로컬 데이터 불러오기

JSON 직렬화 - Unity 매뉴얼 JsonUtility 클래스를 사용하여 Unity 오브젝트를 JSON 포맷으로 상호 전환할 수 있습니다. 예를 들어 JSON 직렬화를 사용하여 웹 서비스와 상호작용하거나, 데이터를 텍스트 기반 포맷으로 쉽게 패킹 docs.unity3d.com json, xml 등 다양한 형태의 데이터 포맷이 있다. 그 중 보기도 처리도 편한 Json 데이터 포맷으로 데이터를 처리하는 법을 알아보자. Json 포맷을 지원하는 라이브러리는 Unity 에서 기본으로 제공하는 JsonUtility 클래스, Newtonsoft의 Newtowsoft.json, Asset Store에서 다운받을 수 있는 JSON.NET(현재 지원종료) 등이 있다. 라이브러리 별로 지원하는 기능이 다른데, 간단한..

[Tistory] 코드블록 테마, 폰트 변경

설정 > 플러그인 > 코드문법강조 플러그인을 적용해주면 기본 테마는 바뀐다. (Visual Studio 테마, Github 테마, Xcode 테마 등) 근데 폰트는 안바껴서 이거 말구 html/css 코드를 custom 했다. 1. 코드 문법 강조 플러그인 설정 취소 코드 문법 강조 설정을 취소해주자. 2. 테마명 가져오기 https://highlightjs.org/examples Examples - highlight.js Language CategoryAll (190)Assembler (5)Common (37)Config (15)CSS (4)Database (2)Enterprise (9)Functional (14)Graphics (5)Lisp (5)Markup (3)Misc (59)Protocols (..

카테고리 없음 2023.08.22

[Unity] 병목현상과 메모리 관리

메모리 최적화가 왜 필요한지 근본적인 원인을 알아보자. #PC의 경우 Storage(HDD, SSD, SD)에 있는 데이터를 CPU 메모리로 올라가고 그 중에 렌더링이 필요한(Texture, Shader 등) 데이터면 GPU 메모리에 올라가게 된다. 이 때 PC는 64bit, 32bit가 존재하는데 64bit = 2^64 = 16EB(엑사바이트) 32bit = 2^32 = 4GB 의 메모리를 말한다. 즉, 물리적 PC 기계의 메모리는 10GB인데 게임에서 메모리를 12GB를 쓴다면, Storage의 일부공간을 가상메모리로 쓰는 Swap Paging 이 일어난다. (더 많은 공간을 쓸 수 있도록 지원하는 것) 이 Swap Paging이 많이 일어나면 병목현상이 일어나는 것이다. GPU Memory에서도 모..

[C#] 문법 Keyword

? readonly : 인스펙터창에서 수정할 수 없는 변수를 의미함. sealed : 봉인된. 더이상 상속이 불가능한 클래스/속성/함수를 의미함. : 상속, 인터페이스 등으로 클래스 구조가 복잡해질 때 상속의 깊이를 제한하기 위해 다른사람에게 이 클래스, 속성, 함수는 상속이 안된다고 명시하기 위해 사용. public class LoginInterface() { } public sealed class LoginImplementation { } partial static 1) static 메서드 : 클래스로부터 객체를 생성하지 않고 '클래스명.메서드명'으로 바로 호출하는 메서드. 2) static 속성, 필드 : 클래스로부터 객체를 생성하지 않고 '클래스명.속성명'으로 바로 호출함. : non-static..

🎮 Unity Study/C# 2023.08.19

[C#][상속과 인터페이스] virtual, abstract, interface

상속과 클래스 설계 시 흔히 사용하는 virtual, abstract, interface 가 무엇인지, 무슨 차이가 있는지 알아보자 virtual (함수, 속성, 인덱서, 이벤트) : 파생 클래스에게 상속으로 완벽한 기능을 제공하는 것. public class Animal(){ public virtual void Speak(){ Console.WriteLine(""); } } public class Dog : Animal(){ public override void Speak(){ Console.WriteLine("멍멍"); } } Dog maltize = new Dog(); maltize.Speak(); virtual 한정자를 사용하는 함수는 파생 클래스에게 완벽한 기능을 제공할 수 있다. 파생 클래스에..

🎮 Unity Study/C# 2023.08.19

[Unity] Asset, Library 선택 기준

Asset 및 Library 선택 기준을 애니메이션 Asset 툴인 DOTween과 iTween으로 알아보자. DOTween (HOTween v2) | 애니메이션 도구 | Unity Asset Store Use the DOTween (HOTween v2) tool from Demigiant on your next project. Find this & more animation tools on the Unity Asset Store. assetstore.unity.com iTween | 애니메이션 도구 | Unity Asset Store Use the iTween tool from Pixelplacement on your next project. Find this & more animation tools ..

[Unity] 프로젝트 성능 확인 지표, FPS(Frame Per Second)

FPS = 1 / TIme.deltaTime 초당 프레임 수 FPS(Frame Per Second)는 성능을 확인할 수 있는 지표 중 하나이다. 초당 프레임 수가 많을 수록 더욱 부드러운 화면(애니메이션) 효과를 볼 수 있다. 참고로 오브젝트를 생성하면 프레임이 급격히 떨어지는 걸 볼 수 있는데, 그만큼 오브젝트 생성이 무거운 연산이라는 뜻이다. 참고) https://bloodstrawberry.tistory.com/795 유니티 - OnGUI로 실시간 초당 프레임 수 확인하기 (FPS Status based on OnGUI) Unity 전체 링크 참고 - OnGUI, ProfilerRecorder로 런타임 드로우 콜 확인하기 초당 프레임 수 FPS(Frame Per Second)는 성능을 확인할 수 있..

728x90