일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- RSA
- adfit
- 직장인자기계발
- Framework
- Dots
- sha
- 암호화
- DotsTween
- 오공완
- job
- 2D Camera
- AES
- 환급챌린지
- Tween
- Custom Package
- 샘플
- 가이드
- base64
- 커스텀 패키지
- 패스트캠퍼스
- 프레임워크
- TextMeshPro
- 직장인공부
- C#
- 최적화
- Job 시스템
- Unity Editor
- unity
- ui
- 패스트캠퍼스후기
- Today
- Total
목록unity (102)
EveryDay.DevUp
https://www.youtube.com/watch?v=QRlz4-pAtpYhttps://www.youtube.com/watch?v=UsyvT36vqpULegacy와 URP의 차이- Legacy는 메인 스레드에서 게임 엔진 프레임워크로 오브젝트를 그리는 요청 (렌더)을 하거나 OnPrecull과 같은 후킹 기능을 통해 렌더 파이프라인에 요청을 하는 형태- URP에서는 렌더 파이프가 엔진안에서 외부로 나오게 되어 RenderContext를 직접 수정할 수 있게됨URP 란?- SPR (Scriptable Render Piple) 를 기반으로 한 렌더 파이프라인 템플릿- URP -> Renderer -> Pass, Pass... Pass 하나 하나가 독립적이고 실시간으로 패스 변경도 가능함URP의 장점1)..

Project-ML에서 SPUM을 통해 만들어진 캐릭터는 스프라이트 애니매이션을 통해 화면에 보여주고 있음Q. 스프라이트 아틀라스를 사용할 때와 사용하지 않을 때 어떤 차이가 있을것인가?.1. 이론- 스프라이트 아틀라스를 통해 스프라이트를 합칠 경우 메모리에 합쳐진 한 장의 스프라이트 이미지가 올라갈 것으로 예상- 현재 캐릭터는 Move / Attack / Idle / Die 4개의 애니매이션과, 각각 스프라이트 한 장씩 총 4장을 사용함2. 검증 방법2.1. 스프라이트 아틀라스를 사용할 때와 사용하지 않을 때 윈도우 환경으로 빌드 후 메모리 프로파일러 실행: 각 빌드는 Clean Build를 사용2.2. Unity Objects 를 비교한 결과 확인 3. 결론- 스프라이트 아틀라스를 사용할 경우 4M..

ML 초안에서 게임을 제작할 때 필요한 부분에 대해 기술적으로 필요한 부분을 고민했지만, 게임의 전체 프로세스에서 필요한 내용으로 프로토 버전에 반드시 필요한 시스템은 무엇일까에 대한 정리를 다시하고자 함.프로토 정의- 근본적으로 프로토 버전에서 검증이 필요한 것은 게임의 "재미" : 여기에는 기술적으로 데이터 시리얼 라이즈를 어떻게 할 것인가?. 게임의 기반 구조는 어떻게 잡을 것인가?에 등 기술적 고민보다는 빠르게 재미를 검증할 수 있는 최소한의 구현에 중점: 최소한의 구현은 게임의 핵심 시스템을 정의하고 핵심 시스템에 필요한 리소스, 데이터를 가져와서 로직을 구현하는 것: 벤치마크할 게임이 있다면 해당 게임을 예시로 사용하는 것이 좋음1) Resources에 필요한 리소스를 넣고, 프리팹의 링크를 ..

목표 - Unity 6 신규 기능 경험- C# 클라이언트/서버 구현 경험- 초기 버전부터 상용 서비스까지의 전체적인 개발과정 경험게임 컨셉- 로그라이크 / 머지- 2D Pixel게임 개발을 위해 고민이 필요한 것1. 데이터 직렬화1) 기획 데이터의 직렬화- 기획 데이터를 클라/서버가 사용할 때, 프로젝트에 따라서 데이터 처리가 다름: 기획 데이터는 현재까지 경험상 엑셀 외의 것을 사용하는 것을 경험한 적이 없음: 엑셀 데이터를 직렬화하는 포맷으로 json, csv, xml, message pack 을 사용했던 경험이 있음-> 데이터 직렬화를 위한 타입 정의를 어떻게 할것인가.-> 어떤 직렬화 라이브러리를 사용해서 엑셀 데이터를 파싱할 것인가에 대한 고민 필요2) 클라 서버 통신 시 어떤 직렬화 라이브러리..

* 특성 - Attribute 클래스는 미리 정의된 시스템 정보 또는 사용자가 정의한 정보를 대상 요소와 결합하여 메타데이터에 저장 - 메타 데이터에 저장된 정보를 런타임에서 참조하여 특별한 기능을 수행할 수 있음 - 모든 특성 형식은 Attribute 클래스에서 직간접적으로 파생됨 https://docs.microsoft.com/ko-kr/dotnet/api/system.attribute?view=netstandard-2.0 Attribute 클래스 (System) 사용자 지정 특성에 대한 기본 클래스를 나타냅니다. docs.microsoft.com - AttributeUsageAttribute는 다른 특성 클래스의 사용상의 제한 조건을 걸 수 있는 특성 클래스 - AttributeUsageAttrib..

Unity에서 빌드를 통해 나온 dll 파일을 디컴파일로 확인하면, 코드에서 확인할 수 없는 이슈를 확인할 수 있는 경우가 많다. foreach의 가비지 원인을 확인한다거나, sturct 를 interface로 가져올 때 박싱이 일어나는 이슈 등 동작원리를 좀 더 깊게 확인하기 위해 .DLL을 디컴파일해서 IL을 확인할 수 있다. .Net 디컴파일을 위해서 개인적으로 사용하는 툴은 JetBrains에 DotPeek을 사용한다. 아래의 주소에서 다운로드가 가능하고, 기능을 확인할 수 있다. https://www.jetbrains.com/ko-kr/decompiler/download/#section=web-installer 다운로드 dotPeek: JetBrains가 만든 무료 .NET 디컴파일러 www.j..

Unity 5.5 미만 버전에서 foreach를 사용할 경우 가비지가 발생하는 이슈가 있었다. 원인 - Mono C# Unity 버전에서 foreach loop 종료 시 값을 강제로 박싱 - 값 형식의 열거자를 생성하였는데, 해당 열거자를 사용할 경우 loop가 종료되는 시점에 IDisposable 인터페이스를 구현 해야 했음 - 인터페이스는 참조 형식이기 때문에, 값 형식을 인터페이스로 변환하는 중에 박싱이 발생하게 됨 참고 : https://everyday-devup.tistory.com/106 [Unity] Struct (구조체) Struct (구조체)? - 데이터와 관련 기능을 캡슐화할 수 있는 값 형식 캡슐화 : 데이터와 기능을 하나로 묶고, 구현 내용 일부를 외부에 감춤 특징 1. 매개 변수가..

매개 변수의 전달 1. 값 형식 매개 변수 - 값 형식의 매개 변수를 전달 할 경우 값 형식의 복사본이 만들어져 메서드에 전달되게 됨 public class ValueTypeSample { public int value = 0; public void AddValue( int value ) { value++; Debug.Log(" AddValue : " + value); } } public class MethodParameter : MonoBehaviour { private void Start() { ValueTypeSample valueTypeSample = new ValueTypeSample(); // 현재 value 값은 0 Debug.Log("value 1 : " + valueTypeSample.v..

액세스 한정자는 멤버 또는 형식의 선언된 접근성을 지정하는데 사용되는 키워드 키워드 접근성 public 제한 없음 protected 포함 및 파생 internal 동일 어셈블리로 제한 protected internal 동일 어셈블리 또는 다른 어셈블리여도 포함하는 클래스에서 파생된 형식 private 포함 private protected 포함 or 동일 어셈블리 내의 포함하는 클래스의 파생 ( C# 7.2 이상 ) * 네임 스페이스에는 액세스 한정자가 허용되지 않음 public class A { } // 동일 어셈블리에서는 internal만 사용할 경우 public과 접근 제어 수준이 동일함 internal class B { } // protected, protected internal, private,..

Unity의 https://docs.unity3d.com/kr/2021.1/Manual/CSharpCompiler.html 문서에 정의된 버전별 C# 컴파일러의 지원 버전을 정리하였다. C# 버전에 따라 기능의 제한이 있기 때문에 서비스 시 Unity 버전에 따른 지원 버전을 확인해야 한다. 근래 Unity는 C# 8.0을 사용하기 때문에 해당 버전을 기준으로 프로그램을 작성하면 된다. ( Unity에서 C#의 모든 기능을 제공하진 않기 때문에 서포트하지 않는 기능에 대해서는 문서를 통해 확인이 필요함 ) Unity 버전 Scripting Runtime Version 컴파일러 C# 버전 2021.2 Roslyn 9.0 2020.2 - 2021.1 .NET 4.6 Equivalent Roslyn 8.0 2..