본문 바로가기

분류 전체보기57

[벡터] 선형대수학을 위한 벡터 스칼라와 벡터 스칼라 - 크기만 갖는 양(방향이 없음) ex) 길이, 넓이, 질량, 숫자, 속력... 벡터- 크기와 방향 ex) 속도, 힘, 3시 방향.... 먼저 벡터와 스칼라에 대한 구분이 필요하기 때문에 간단하게 벡터와 스칼라에 대한 간단한 정의와 예시 나타내 보았다. 벡터는 크기와 방향을 동시에 나타낸다. 벡터가 되지 못하는 것을 설명해보자면, 어떤 물체가 시속 5마일의 속도로 이동한다고 하자. 하지만 이 물체가 어느 방향으로 시속 5마일을 움직이는지 알 수 없다. 속력이라고 불리는 이 수치는 그 자체로는 벡터가 아니다. 이것은 앞에서 설명한 스칼라이다. 위 값이 벡터가 되기 위해서는 방향을 가져야 한다. 위 물체가 이제 시속 5마일의 속력으로 동쪽으로 움직이고 있다고 한다면, '시속 5마일로'와.. 2019. 12. 11.
[C#] 인덱서 인덱서 - 인덱스를 이용해서 객체 내의 데이터에 접근하게 해주는 프로퍼티 선언 class 클래스이름 { 한정자 인덱서형식 this[형식 index식별자] { get { // index 를 이용하여 내부 데이터 변환 } set { // index 를 이용하여 내부 데이터 저장 } } } 위 인덱서 문법을 보면, 인덱서는 프로퍼티처럼 식별자를 따로 가지고 있지 않다. 프로퍼티가 이름을 통해 객체 내의 데이터에 접근하게 해준다면, 인덱서는 인덱스를 통해 객체 내의 데이터에 접근하게 해준다. 인덱서의 선언 class MyList { private int[] array; public MyList() { array = new int[3]; } public int this[int index] // 인덱서 { get .. 2019. 11. 3.
[Unity 3D] Physics.OverlapSphere (주변 콜라이더 추출하기) Physics.OverlapSphere - 중점과 반지름으로 가상의 원을 만들어 추출하려는 반경 이내에 들어와 있는 콜라이더들을 반환하는 함수 함수의 반환 값은 Collider 컴포넌트의 배열로 넘어옵니다. 또한 OverlapSphere 함수는 특정 레이어만 검출할 수도 있어요. 예제 위 예제는 주변 동료 몬스터가 공격당했을 때 같이 공격 태세로 전환하기 위한 코드입니다. 특정 레이어만 검출할 수 있도록 "ENEMY" 레이어를 추가했으며, 레이어는 비트 연산 표기법을 사용해서 10번째 레이어를 의미하는 1 2019. 11. 2.
[C#] 컬렉션 (Collection) 컬렉션 - 같은 성격을 띠는 데이터의 모음을 담는 자료 구조. Collections ArrayList Queue Stack Hashtable ArrayList ArrayList는 배열과 비슷한 컬렉션이다. 컬렉션의 요소에 접근할 때는 [] 연산자를 이용하고, 특정 위치에 있는 요소에 데이터를 임의로 할당할 수 도 있다. 한편, 배열과는 달리 컬렉션을 생성할 때 용량을 미리 지정할 필요가 없이 필요에 따라 자동으로 그 용량이 늘어나거나 줄어든다. 가장 중요한 메서드는 Add(), RemoveAt(), Insert() 세 가지이다. Add() 이 메소드는 컬렉션의 가장 마지막에 있는 요소 뒤에 새 요소를 추가. RemoveAt() 특정 인덱스에 있는 요소를 제거. Insert() 원하는 위치에 새 요소를 삽.. 2019. 10. 31.
[Unity3D] 레이캐스트 정리 레이 캐스트 - 눈에 보이지 않는 광선(Ray)을 쏘아서 해당 광선에 맞은 물체가 무엇인지 여부를 판단한 뒤 여러 가지 후처리를 하는 방식. 그림과 같이 광선의 발사 원점과 발사각, 그리고 거리 등의 인자로 광선을 발사할 수 있습니다. 주로 레이 캐스트는 FPS 장르 게임에서 사격 시 실제 총알이 날아가지 않고 발사와 동시에 적이 명중해서 혈흔 효과와 같은 이펙트를 연출하고 사망하는 방식으로 구현되는 방식에 흔히 사용되곤 합니다. 실제로 디아블로나 리지니 같은 쿼터뷰 시점 방식 게임에서도 플레이어를 마우스 왼쪽 클릭으로 조작해 이동시킬 때 마우스 포인트 위치로 레이 캐스트 해서 3차원 좌표값으로 읽어온 후 해당 좌표로 이동시킵니다. Physics.Raycast Physics.Raycast 함수는 Ray를.. 2019. 10. 23.
[C#] 추상 프로퍼티 추상 프로퍼티 - 추상 클래스는 클래스처럼 구현된 프로퍼티를 가질 수도 있는 한편, 인터페이스처럼 구현되지 않은 프로퍼티도 가질 수 있다. 추상 프로퍼티 역시 인터페이스의 프로퍼티와 다를 것 없다. 왜냐하면 파생 클래스가 해당 프로퍼티를 구현하도록 강제하는 것뿐이다. 선언 인터페이스처럼 구현을 비워놓은 것만으로는 추상 프로퍼티를 만들 수 없다. 왜냐하면 C# 컴파일러가 자동 구현 프로퍼티로 간주하고 구현을 자동으로 채워놓기 때문이다. 추상 프로퍼티는 abstract 한정자를 이용해서 선언한다. 추상 프로퍼티를 갖는 추상 클래스 상속 추상 클래스는 구현을 가진 프로퍼티와 구현이 없는 추상 프로퍼티 모두를 가질 수 있다. 또한 파생 클래스는 부모 추상 클래스의 모든 추상 메서드뿐 아니라 추상 프로퍼티를 재정.. 2019. 10. 15.