변수 이름내가 의미를 쉽게 알아차릴 수 있는 직관적인 변수 이름을 사용한다.ex) 여행 비용을 나타내는 변수 : x, cost (❌) / cost_of_trip, costOfTrip (⭕)규칙변수 이름에는 영문자, 숫자, 밑줄(_) 문자만을 사용숫자를 변수 이름의 첫 문자로 사용할 수 없음변수 이름에서 대문자와 소문자는 구별됨C++의 키워드는 변수 이름으로 사용할 수 없음두 개의 밑줄 문자로 시작하는 이름이나, 밑줄 문자와 대문자로 시작하는 이름은 그것을 사용하는 컴파일러와 리소스가 사용하기로 예약되어 있음. 하나의 밑줄 문자로 시작하는 이름은 그것을 사용하는 컴파일러와 리소스가 전역 식별자(global identifier)로 사용하기로 예약되어 있음변수 이름의 길이는 제한이 없으며, 변수 이름에 쓰인 ..
C#에서의 종료자종료자 (Finalizer) / 소멸자 (Destructor) 는 해당 클래스의 인스턴스가 소멸될 때 불리는 메소드이다. 종료자의 특징종료자는 구조체에서 정의할 수 없으며, 클래스에서만 사용한다.클래스에는 종료자가 하나만 있을 수 있다.종료자는 상속하거나 오버로딩(파라미터x) 할 수 없다.종료자를 호출할 수 없다. 자동으로 호출된다.CLR의 가비지 컬렉터가 객체가 소멸되는 시점을 판단해서 종료자를 호출한다.종료자는 한정자(접근지정자x)를 사용하거나 매개 변수를 갖지 않는다.종료자 예제
유니티[C#]를 이용하여 Random.InitState()로 동일한 랜덤 값 얻기일단 랜덤 한 값을 얻고 싶다면, Random.Range()로 만들 수 있을 것이다.그렇다면 결과는 당연히 매번 다른 랜덤값이 출력될 것이다. 하지만 이 결과를 Random.InitState()를 이용하여 매번 동일하게 만들 수 있다.이 부분을 추가하고 다시 실행해 보면 이 결과 값을 기억하고 다시 실행해 봐도 이렇게 동일한 값이 나오는 것을 볼 수 있다.시드가 동일하면 동일한 값으로 동일한 알고리즘을 연산하기 때문에 값이 항상 똑같다. 게임개발로 치면, 클라이언트 하고 서버와의 랜덤 동기화를 위해서 사용하는 것이 바로 시드이다. 출처 및 참고: 강의 짱 잘하시는 울 유니티 선생님 수업
Prefab Variant 부모 프리팹을 기준으로 하는 상속의 개념 프리팹 배리언트는 프리팹의 사전 정의된 배리에이션 집합이 필요할 때 유용하다. 예를 들어 게임 내에 동일한 기본 로봇 프리팹에 기반한 여러 종류의 로봇을 만든 후 그중 일부 로봇이 아이템을 운반하거나, 다른 속도로 움직이거나, 추가 음향 효과를 내도록 만들어야 할 경우가 있다. 이러한 경우 모든 로봇이 공유할 기본 액션을 초기 로봇 프리팹이 모두 수행하도록 설정한 후 다음을 위한 여러 개의 프리팹 배리언트를 생성할 수 있다.속도를 변경하도록 스크립트에 프로퍼티 오버라이드를 사용하여 로봇이 더 빠르게 움직이도록 한다.추가 게임 오브젝트를 로봇의 팔에 연결하여 로봇이 아이템을 운반하도록 만든다.삐걱거리는 소리를 재생하는 AudioSour..
Nested Prefab 프리펩 안에 다른 프리펩이 들어가 있는 구조다른 프리팹 내에 프리팹 인스턴스를 포함할 수 있다. 이를 네스티드 프리팹이라고 부른다.네스티드 프리팹은 고유한 프리팹 에셋 링크를 보유하며 다른 프리팹 에셋의 일부를 형성한다.Ex) 사람 프리팹을 만들고 무기 프리팹을 만들어서 그 사람 프리팹 안에 넣을 수 있는 무기 프리팹을 넣고 각 프리팹을 Prefab Mode로 수정가능 (사람 1, 사람 2, 사람 3 프리팹은 따로 쓰고 무기 프리팹은 하나로 관리 가능)프리팹 모드에서 네스티드 프리팹 추가프리팹 모드에서는 씬에서와 동일한 방법으로 프리팹 인스턴스를 추가하는 등의 작업을 수행할 수 있다.Project 창의 프리팹 에셋을 Hierarchy 창 또는 Scene 뷰로 드래그하면 방금 연 ..