2024. 2. 19. 18:56ㆍSKKU DT
시작은 무조건 Data.
Data - Control - Viewer의 조합
Data에 대한 개념을 이해해야 한다.
구글 스프레드 시트의 데이터를 tsv 형식으로 받아와서 교통 시뮬레이션을 만들어서 사고가 났다면 교차로의 모든 신호등을 빨간색으로 바꿔서 차단하도록 만들어볼 것이다.
데이터를 기반으로 컨트롤하는 방식이다.
유니티 2021.3.27f1 설치
뒤에 프로젝트를 위해서 설치.
여러 팁들
*meta 파일에는 2048x2048, Mipmap 체크 등 텍스쳐라면 텍스쳐의 Inspector 정보가 들어있다. guid는 텍스쳐가 유니티에 들어갈 때 유니티에서 부여한다.
**Asset Hunter (유료)
https://assetstore.unity.com/packages/tools/utilities/asset-hunter-pro-135296
Asset Hunter PRO | 유틸리티 도구 | Unity Asset Store
Use the Asset Hunter PRO from HeurekaGames on your next project. Find this utility tool & more on the Unity Asset Store.
assetstore.unity.com
위의 기능을 설치하면 이미지가 어디어디에 쓰였는지 쉽게 알 수 있다.
***Addressable, Asset Bundle로 패치를 관리한다.
Jenkins, 프로파일링, unit test(Test Case) 수업 할 예정
Flags
[Flags]로 되어있는 것들은 연산이 된다.
enum에 Flags는 나중에 많이 쓴다.
ref와 out의 차이
ref는 전달하는 매개변수가 변경되지 않아도 상관없고
out은 변경되는 상황에서 쓰인다.
UniRx
https://c1oud9.tistory.com/306
[Unity/UniRx] UniRx의 간단한 샘플 - 1. UniRx와 Subscribe
UniRx? Reactive Extensions C#용 비동기 처리를 위한 라이브러리 디자인 패턴 중 하나인 Observer 패턴을 기반으로 설계되어 있음 시간에 관한 처리, 실행 타이밍이 중요한 곳에서 쉽게 작성할 수 있도록
c1oud9.tistory.com
문자열 trim
Split
싱글턴
씬이 바뀌어도 싱글턴이 있으면 Hierarchy가 안날아가고 남아있다.
https://www.yes24.com/Product/Goods/17525598
GoF의 디자인 패턴 - 예스24
이 책은 디자인 패턴을 다룬 이론서로 디자인 패턴의 기초적이고 전반적인 내용을 학습할 수 있다.
www.yes24.com
https://www.yes24.com/Product/Goods/11681152
Clean Code 클린 코드 - 예스24
애자일 소프트웨어의 혁명적인 패러다임을 제시하는 책이다. 저자 로버트 마틴은 오브젝트 멘토(Object Mentor)의 동료들과 힘을 모아 ‘개발하며’ 클린 코드를 만드는 최상의 애자일 기법을 정제
www.yes24.com
대리자(Delegate)
특정 함수를 재지정할 수 있다. 객체지향에 쓰임
함수에 함수를 더해서 로그인 한 번 하면 로그인+인증 메서드 같이 더할 수 있다.
Event
Delegate와 Event 차이
Action -UI에서 많이 쓰임
파라미터도 없고 리턴 값도 없다.
Anonymous Delegate
SFunc
Lambda
-실무에서는 간단한 람다만 쓰고 복잡한 람다는 잘 쓰지 않는다.
.Net Reflection
-실시간으로 여러 정보를 얻어낼 수 있다.
Heap과 Stack
데이터 크기를 잘 관리해야 StackOverFlow, HeapOverFlow가 발생하지 않는다.
List
Dictionary
Struct 구조체
프로퍼티
Value Type, Reference Type -그냥 외우기
value는 값 그대로 가고, 참조 타입은 주소로 참조된다. 직접 값이 복사 되는 것이 아니라 주소만 복사 된다.
확장 메소드 -정말 중요해! 실무에서 진짜 많이 쓰임!
IsGreaterThan은 내가 만든 것이다.
using ExtensionMethods; 를 쓰면 IntExtensions를 가져다가 쓸 수 있다.
다른 확장 메서드의 예시
생성자
상속 관계
이벤트 순서 외우기
PlayerPrefs
-로컬에 플레이어 각자가 설정한 정보들을 저장하는 것. (게임에서 전체화면 설정 등)
OnInspectorGUI
내가 원하는 방식으로 Inspector를 편집할 수 있다.
객체지향
***Rider Unity는 유료지만 매우 좋다.
https://www.jetbrains.com/ko-kr/lp/dotnet-unity/
Rider. Cross-platform С# Editor for Unity
JetBrains is a cutting-edge software vendor specializing in the creation of intelligent development tools, including IntelliJ IDEA – the leading Java IDE, and the Kotlin programming language.
www.jetbrains.com
짐벌락
Euler 회전을 하면 특정 부분에서 회전이 겹쳐 이상하게 되는 부분이 있다. 여기서 유니티는 Quaternion을 사용하여 이를 방지한다.
UniTask / UniRx
https://assetstore.unity.com/packages/tools/integration/unirx-reactive-extensions-for-unity-17276
UniRx - Reactive Extensions for Unity | 기능 통합 | Unity Asset Store
Use the UniRx - Reactive Extensions for Unity from neuecc on your next project. Find this integration tool & more on the Unity Asset Store.
assetstore.unity.com
코루틴의 불편함을 덜고 코드를 훨씬 편하게 작성할 수 있다.
'SKKU DT' 카테고리의 다른 글
[SKKU DT] 76일차 -교통 시뮬레이터(Traffic Simulator) 만들기(2) (0) | 2024.02.21 |
---|---|
[SKKU DT] 75일차 -교통 시뮬레이터(Traffic Simulator) 만들기 (0) | 2024.02.20 |
[SKKU DT] 73일차 -MySQL 데이터베이스, FastAPI (1) | 2024.02.16 |
[SKKU DT] 72일차 -웹 스크래핑(웹 크롤링)(3) Selenium 인스타그램 크롤링, 유튜브 크롤링 / MySQL 데이터베이스 (2) | 2024.02.15 |
[SKKU DT] 71일차 -웹 스크래핑(웹 크롤링)(2) 시각화, Selenium (0) | 2024.02.14 |