분류 전체보기 504

[C#] 제네릭 형식 제약 조건(Where)

목차 목차 제네릭 제약 조건 추가 제네릭 제약 조건 종류 new 제약 조건 notnull 제약 조건 unmanaged 제약 조건 기반 클래스 이름 제약 조건 인터페이스 이름 제약 조건 U 제약 조건 멀티 제약 조건 제네릭(Generic)은 특정 데이터 타입(Data Type)에 국한되지 않고 모든 타입을 허용하는 제네릭 메서드와 제네릭 클래스를 구현할 수 있지만, 특정 조건에만 대응되는 데이터 타입이 필요한 경우가 있습니다. 이러한 경우 where 키워드를 사용하여 제약 조건을 추가할 수 있으며, 제약 조건을 만족하지 않는 경우 컴파일 에러가 발생하도록 할 수 있습니다. 이번 포스팅에서는 제네릭 제약 조건이 무엇인지 정리하였습니다. 목차 제네릭 제약 조건 추가 제네릭 제약 조건 종류 멀티 제약 조건 제..

VisualStudio/C# 2022.10.05

[Unity][방법] 프리팹 C#에서 생성 Instantiate

Instantiate(프리팹)를 사용하면 프리팹 객체를 인스턴스화 할 수 있다. public GameObject prefab; void Start() { Instantiate(prefab); } Destory(프리팹, 몇초후 사라질지)를 사용하면 프리팹 객체 인스턴스 메모리를 해제할 수 있다. public GameObject prefab; GameObject tank; void Start() { tank= Instantiate(prefab); Destroy(tank, 3.0f); } 프로젝트의 규모가 컨진다면 프리팹을 GameObject에 직접 연결하여 사용하기 힘들어진다. 그렇기 때문에 Resources파일에 Load를 사용하여 프리팹을 연결하여 사용한다. Resources파일에는 소스를 제외한 모든 ..

Unity 2022.10.04

[Unity][개념,방법] Rotation과 캐릭터 회전

Unity에서는 Quaternion을 사용하여 회전을 하는데 Vector3와 다르게 W 값이 추가로 존재한다. 이는 짐벌락이란 문제를 해결하기 위해 나온 방법이라고 한다. Quaternion과 짐벌락 관계는 이런 내용이다 1.x축, y축, z축 각각의 회전행렬을 만든다.yaw(y축 회전각) pitch(x축), roll(z축) 2. 회전 행렬을 객체의 변환행렬과 각각 순서대(x, y, z)로 곱한다.(오일러각) 3.x축을 90도 틀고난 후 y축으로 90도 튼 것과 y축을 90도 틀고난 후 z 축으로 90도 튼 것과의 회전 값이 같다. 4. 세 개의 축 각을 이용하여 항상 순서대로 회전을 하면 위와 같이 한 개의 축이 쓸모없게 된다. 이 현상이 짐벌락이다. 5. 이 문제는 계산을 한 번에 하지 않아서(세 번..

Unity 2022.10.04

[Unity][개념,방법] 오브젝트 이동 (Vector, Normalized, Magnitude)

Vector는 사용에 따라 위치와 방향 두 가지를 표현할 수 있다.크기 공식Length  = sqrt( X*X + Y*Y + Z*Z ) 방향(Normalize) 공식Normalize  = (X / sqrt(Length), Y / sqrt(Length), Z / sqrt(Length)) 로컬포지션과 월드포지션 변환Word포지션 -> Local포지션 && Local포지션 -> Word포지션 변환TransformDirection -  word포지션에서 local포지션으로 변경할 경우//Local -> Wordtransform.TransformDirection(Vector3.forward);//Word -> Localtransform.InverseTransformDirection(Vector3.forward)V..

Unity 2022.10.04