-
[Unity 3D] Physics.OverlapSphere (주변 콜라이더 추출하기)
Physics.OverlapSphere - 중점과 반지름으로 가상의 원을 만들어 추출하려는 반경 이내에 들어와 있는 콜라이더들을 반환하는 함수 함수의 반환 값은 Collider 컴포넌트의 배열로 넘어옵니다. 또한 OverlapSphere 함수는 특정 레이어만 검출할 수도 있어요. 예제 위 예제는 주변 동료 몬스터가 공격당했을 때 같이 공격 태세로 전환하기 위한 코드입니다. 특정 레이어만 검출할 수 있도록 "ENEMY" 레이어를 추가했으며, 레이어는 비트 연산 표기법을 사용해서 10번째 레이어를 의미하는 1
2019.11.02
-
[C#] ToCharArray()
ToCharArray - String 문자열을 C#의 char [] 배열로 변경해주는 메서드. 예제
2019.05.23
-
[C#] 컬렉션 (Collection)
컬렉션 - 같은 성격을 띠는 데이터의 모음을 담는 자료 구조. Collections ArrayList Queue Stack Hashtable ArrayList ArrayList는 배열과 비슷한 컬렉션이다. 컬렉션의 요소에 접근할 때는 [] 연산자를 이용하고, 특정 위치에 있는 요소에 데이터를 임의로 할당할 수 도 있다. 한편, 배열과는 달리 컬렉션을 생성할 때 용량을 미리 지정할 필요가 없이 필요에 따라 자동으로 그 용량이 늘어나거나 줄어든다. 가장 중요한 메서드는 Add(), RemoveAt(), Insert() 세 가지이다. Add() 이 메소드는 컬렉션의 가장 마지막에 있는 요소 뒤에 새 요소를 추가. RemoveAt() 특정 인덱스에 있는 요소를 제거. Insert() 원하는 위치에 새 요소를 삽..
2019.10.31
-
[C#] 중첩 클래스
중첩 클래스 - 클래스 안에 선언되어 있는 클래스를 말한다. 선언하는 문법은 매우 간단하다. 클래스 안에 클래스를 선언하는 것이 전부이기 때문이다. 중첩 클래스가 다른 클래스와 다른 점이 있다면, 자신이 소속되어 있는 클래스의 멤버에 자유롭게 접근할 수 있다는 것이다. private 멤버에도 접근 가능하다. 선언 위와 같이 중첩 클래스를 선언하는 문법은 매우 간단하다. 클래스 안에 클래스를 선언하는 것이다. 객체를 생성하거나 객체의 메서드를 호출하는 방법도 보통의 클래스와 다르지 않다. 중첩 클래스에서 자신의 소속 클래스 멤버의 접근하는 예제이다. 중첩 클래스를 이용하는 이유 클래스 외부에 공개하고 싶지 않은 형식을 만들고자 할 때 현재의 클래스의 일부분처럼 표현할 수 있는 클래스를 만들고자 할 때 다른..
2019.05.18
-
[Unity 3D] Vector3.Distance (가장 가까운 오브젝트 찾기)
Vector3.Distance(Vector3 a, Vector3 b) - a와 b 사이에 거리를 측정해 반환하는 함수 거리를 구하는 방법들 Distance 의외에도 거리를 재는 다른 방법들이 있다. Vector3.Distance 와 magnitude는 정확한 거리 계산을 하고, sqrMagnitude는 단순히 두 오브젝트 간의 거리를 비교할 때 사용한다. sqrMagnitude는 루트 계산을 하지 않기 때문에 Distance와 magnitude 보다 속도가 훨씬 빠르다. 루트 계산을 하지않고 벡터 연산만 한 후 그 벡터의 제곱근의 값만을 반환하기 때문이다. 예제 아래 예제는 Sphere를 기준으로 Sphere와 제일 가까운 큐브를 찾는것이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1..
2019.05.16
-
[소프트웨어공학] 폭포수 모델(waterfall model)
폭포수 모델(waterfall model) 소프트웨어 프로세스 중 하나로 개발의 흐름 단계가 마치 폭포수처럼 흐른다 하여 폭포수 모델이라고 하며, 선형 순차 모델 또는 고전적 소프트웨어 생명주기라고도 한다. 폭포수 모델의 특징 수행되는 활동들이 서로 겹치지 않음 단계들이 병행 수행되거나 거슬러 올라가지 않음 매 단계에서 끝날 때마다 결과를 확인 후 다음 단계로 가야 함 수정을 위한 재작업을 위해 앞 단계의 피드백 필요 폭포수 모델은 다음과 같은 단계를 가진다. 타당성 조사 요구분석 설계 개발 통합과 시스템 테스트 이행과 유지보수 타당성 조사 먼저 첫 번째 단계에서는 개발할 소프트웨어 시스템의 세부 사항을 확인하는 것이다. 이것을 확정 지어야 다음 설계 단계로 넘어갈 수 있다. 즉, 소프트웨어 개발 시나리..
2020.04.07
-
[소프트웨어공학] 소프트웨어 공학의 정의
소프트웨어 공학의 정의 소프트웨어의 개발, 운용, 유지보수 등의 생명 주기 전반을 체계적이고 서술적이며 정량적으로 다루는 학문이다. NATO 소프트웨어 공학 콘퍼런스 이후로 고품질 소프트웨어의 경제적이고 빠른 생산과 유지보수를 위한 전문 작업과 연구 분야로 발전되었다. 즉, 소프트웨어 위기 현상을 부각하고 해결책으로 표현하기 위해서 만든 용어. 소프트웨어 공학의 여러 정의들 NATO 바우어 교수 "신뢰성 있고 요구기능을 효율적으로 수행하는 소프트웨어를 경제적으로 생산하기 위해 건전한 공학적 원리와 방법을 만들고 사용하는 것이다." IEEE 소프트웨어 공학 표준 용어집 "소프트웨어의 개발, 운영, 유지보수에 체계적이고 제어 가능하며 정량화된 접근 방법을 적용하는 것, 즉 소프트웨어 개발에 공학 기술을 적용..
2020.04.04
-
이것이 C# 16장 연습문제 풀이
이것이 C# 이다 연습문제 풀이는 총 16장 까지 입니다 :)
2019.12.20
-
[벡터] 벡터의 연산
위 그림에 보이는 a 벡터와 b 벡터가 있다. 각각 a 벡터는 , b 벡터는 의 성분을 가지고 있으며, 두 벡터 모두 2차원 벡터임을 알 수 있다. 그래서 본능적으로 자리끼리 더할 수 있다는 것 또한 알 수 있다. 두 벡터를 더한 값은 가 나오며, 2차원 벡터이다. 빼기도 마찬가지이다. 이것을 시각화시켜본다면 위 그림과 같이 표현될 수 있겠다. 또한 여기서 중요한 것은 크기(벡터의 길이)와 방향이다. 또한 벡터의 장점은 '옮길 수 있다'라는 것인데 길이와 방향만 같다면 어느 곳에 벡터를 나타내도 다 똑같은 벡터이다. 그렇다면 벡터를 옮길 수 있다는 것과 벡터의 연산을 통해 구해진 새로운 벡터와 무슨 연관이 있는 것일까? 벡터는 옮길 수 있다고 하였다. b벡터를 옮겨 a벡터의 머리에 b벡터의 꼬리를 연결 ..
2019.12.19
-
[벡터] 선형대수학을 위한 벡터
스칼라와 벡터 스칼라 - 크기만 갖는 양(방향이 없음) ex) 길이, 넓이, 질량, 숫자, 속력... 벡터- 크기와 방향 ex) 속도, 힘, 3시 방향.... 먼저 벡터와 스칼라에 대한 구분이 필요하기 때문에 간단하게 벡터와 스칼라에 대한 간단한 정의와 예시 나타내 보았다. 벡터는 크기와 방향을 동시에 나타낸다. 벡터가 되지 못하는 것을 설명해보자면, 어떤 물체가 시속 5마일의 속도로 이동한다고 하자. 하지만 이 물체가 어느 방향으로 시속 5마일을 움직이는지 알 수 없다. 속력이라고 불리는 이 수치는 그 자체로는 벡터가 아니다. 이것은 앞에서 설명한 스칼라이다. 위 값이 벡터가 되기 위해서는 방향을 가져야 한다. 위 물체가 이제 시속 5마일의 속력으로 동쪽으로 움직이고 있다고 한다면, '시속 5마일로'와..
2019.12.11