-
[Unity 3D] Physics.OverlapSphere (주변 콜라이더 추출하기) Physics.OverlapSphere - 중점과 반지름으로 가상의 원을 만들어 추출하려는 반경 이내에 들어와 있는 콜라이더들을 반환하는 함수 함수의 반환 값은 Collider 컴포넌트의 배열로 넘어옵니다. 또한 OverlapSphere 함수는 특정 레이어만 검출할 수도 있어요. 예제 위 예제는 주변 동료 몬스터가 공격당했을 때 같이 공격 태세로 전환하기 위한 코드입니다. 특정 레이어만 검출할 수 있도록 "ENEMY" 레이어를 추가했으며, 레이어는 비트 연산 표기법을 사용해서 10번째 레이어를 의미하는 1
-
[소프트웨어공학] 폭포수 모델(waterfall model) 폭포수 모델(waterfall model) 소프트웨어 프로세스 중 하나로 개발의 흐름 단계가 마치 폭포수처럼 흐른다 하여 폭포수 모델이라고 하며, 선형 순차 모델 또는 고전적 소프트웨어 생명주기라고도 한다. 폭포수 모델의 특징 수행되는 활동들이 서로 겹치지 않음 단계들이 병행 수행되거나 거슬러 올라가지 않음 매 단계에서 끝날 때마다 결과를 확인 후 다음 단계로 가야 함 수정을 위한 재작업을 위해 앞 단계의 피드백 필요 폭포수 모델은 다음과 같은 단계를 가진다. 타당성 조사 요구분석 설계 개발 통합과 시스템 테스트 이행과 유지보수 타당성 조사 먼저 첫 번째 단계에서는 개발할 소프트웨어 시스템의 세부 사항을 확인하는 것이다. 이것을 확정 지어야 다음 설계 단계로 넘어갈 수 있다. 즉, 소프트웨어 개발 시나리..
-
[소프트웨어공학] 소프트웨어 프로세스 개요 프로세스(process) 프로세스는 간단히 말해서 '일의 과정이나 공정'이다. 하지만 소프트웨어 프로세스는 소프트웨어 시스템을 개발하거나 유지보수의 목적으로 수행되는 활동들의 절차를 의미한다. 소프트웨어 프로세스의 목적 소프트웨어 공학에서 프로젝트를 수행할 때 프로세스의 존재가 왜 필요한지 생각해보자면 생산성 향상과 공통의 개발 문화와 공통의 기술을 제공하기 때문이다. 또한 조직 구성원들 간의 활발한 의사소통은 높은 추적성을 뒷받침해준다. 전체 프로세스를 이해하는데 도움을 줌 시스템 개발 진행과정 추적 자원 사용에 대한 사전 계획 가능 구조화된 방법을 개발에 적용 이전에 얻은 노하우를 통한 시행착오 감소 빠른 적응 소프트웨어 프로세스 활동 섬머 빌(Sommerville) 1. 소프트웨어 명세: 소프트웨어..
-
이것이 C# 16장 연습문제 풀이 이것이 C# 이다 연습문제 풀이는 총 16장 까지 입니다 :)
-
[C#] 인터페이스의 프로퍼티 인터페이스의 프로퍼티 - 인터페이스는 메서드뿐만 아니라 프로퍼티와 인덱서도 가질 수 있다. 프로퍼티나 인덱서를 가진 인터페이스를 상속하는 클래스가 반드시 해당 프로퍼티와 인덱서를 구현해야 하는 것은 당연하며, 인터페이스에 들어가는 프로퍼티는 구현을 갖지 않는다. 선언 위 선언 모습을 보면 알 수 있듯이 인터페이스의 프로퍼티 선언이 클래스의 자동 구현 프로퍼티 선언과 그 모습이 동일하다. 프로퍼티를 가진 인터페이스의 상속 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56..
-
[Unity 3D] 유니티 빌드 에러(Your project path contains non-ASCII characters) 유니티 빌드를 하다 보니 빌드 실패 에러가 떴다. 에러의 내용을 보아하니 [Your project path contains non-ASCII characters...] 프로젝트의 경로가 아스키코드가 아닌 문자를 포함하고 있다고 한다. 그래서 경로를 확인한 결과 내 이름(한글)으로 되어있었다. 해결 : 프로젝트 경로를 영문으로 바꾼다.
-
[C#] 구조체 구조체 - 구조체는 데이터를 담기 위한 자료 구조이다. 클래스와 상당 부분 비슷한 데이터 형식인데, 간단한 데이터를 구조화해서 다룰 경우에는 클래스보다 구조체가 좀 더 적합하다. 또한 구조체는 클래스와 마찬가지로 메서드, 프로퍼티 등 거의 비슷한 구조를 가지고 있지만 상속은 할 수 없으며 값 형식이고 인터페이스는 구현 가능하다. 선언 클래스 VS 구조체 특징 클래스 구조체 키워드 class struct 형식 참조 형식 값 형식 복사 얕은 복사 깊은 복사 인스턴스 생성 new 연산자와 생성자 필요 선언만으로도 생성 생성자 매개 변수 없는 생성자 선언 가능 매개 변수 없는 생성자 선언 불가능 상속 가능 모든 구조체는 System.Object 형식을 상속하는 System.ValueType으로부터 직접 상속 받..
-
[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..
-
[C#] Null 병합 연산자 (Null-Coalescing Operator) Null 병합 연산자(Null-Coalescing Operator) - Null 조건부 연산자처럼 프로그램에서 변수/객체의 null 검사를 간결하게 만들어주는 역할을 한다.?? 연산자는 두 개의 피연산자를 받아들이고 왼쪽 피연산자가 null인지를 평가한다. null이 아닌 것으로 나타나면 왼쪽 피연산자를 그대로 반환하고, 왼쪽 피연산자가 null이라면 오른쪽 피연산자를 반환한다. 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 using System; namespace NullCoalescing { class MainApp { static void Main(string[] args) { int? num = null; Console.WriteLin..