-
[Unity 3D] Physics.OverlapSphere (주변 콜라이더 추출하기)
Physics.OverlapSphere - 중점과 반지름으로 가상의 원을 만들어 추출하려는 반경 이내에 들어와 있는 콜라이더들을 반환하는 함수 함수의 반환 값은 Collider 컴포넌트의 배열로 넘어옵니다. 또한 OverlapSphere 함수는 특정 레이어만 검출할 수도 있어요. 예제 위 예제는 주변 동료 몬스터가 공격당했을 때 같이 공격 태세로 전환하기 위한 코드입니다. 특정 레이어만 검출할 수 있도록 "ENEMY" 레이어를 추가했으며, 레이어는 비트 연산 표기법을 사용해서 10번째 레이어를 의미하는 1
2019.11.02
-
[소프트웨어공학] 소프트웨어 공학의 정의
소프트웨어 공학의 정의 소프트웨어의 개발, 운용, 유지보수 등의 생명 주기 전반을 체계적이고 서술적이며 정량적으로 다루는 학문이다. NATO 소프트웨어 공학 콘퍼런스 이후로 고품질 소프트웨어의 경제적이고 빠른 생산과 유지보수를 위한 전문 작업과 연구 분야로 발전되었다. 즉, 소프트웨어 위기 현상을 부각하고 해결책으로 표현하기 위해서 만든 용어. 소프트웨어 공학의 여러 정의들 NATO 바우어 교수 "신뢰성 있고 요구기능을 효율적으로 수행하는 소프트웨어를 경제적으로 생산하기 위해 건전한 공학적 원리와 방법을 만들고 사용하는 것이다." IEEE 소프트웨어 공학 표준 용어집 "소프트웨어의 개발, 운영, 유지보수에 체계적이고 제어 가능하며 정량화된 접근 방법을 적용하는 것, 즉 소프트웨어 개발에 공학 기술을 적용..
2020.04.04
-
이것이 C# 14장 연습문제 풀이
1번 문제 10 + 30 * 2 = 70 2번 문제 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 using System; using System.Collections; using System.Linq; using System.Text; using System.Threading.Tasks; using static System.Console; using System.IO; namespace Practice2 { class MainApp { static void Main(string[] args) { int[] array = { 11, 22, 33, 44, 55 }; int result = 0; Action acti..
2019.12.20
-
[벡터] 실좌표공간
Rⁿ(real coordinate spaces) - n차원 적인 실수 공간을 의미 R² 는 이차원 실수 좌표 공간을 의미한다. 단순하게 우리 알고 있는 2차원 좌표평면을 이용해서 이미 다루어왔던 공간이다. 2차원 실수 좌표 공간에서 R² 는 분리시켜서 생각해 볼 수 있는데, 먼저 R은 실수 공간을 의미하며 2차원 실수 좌표 공간은 실수 값을 가진 모든 2-튜플(all possioble real valued)을 말한다. 그렇다면 2-튜플은 무엇일까? 튜플은 순서가 정해진 숫자들의 리스트라고 한다. 즉, 실수들의 순서 리스트이다. 위 그림에 보이는 a 2차원 벡터에 대해 생각할 수 있다. 성분 가 실수 값을 가지는 2-튜플이다. 둘 중 어느 것도 허수가 아니면서 순서대로 4와 5를 가지고 있기 때문이다. 그..
2019.12.19
-
[Unity3D] 레이캐스트 정리
레이 캐스트 - 눈에 보이지 않는 광선(Ray)을 쏘아서 해당 광선에 맞은 물체가 무엇인지 여부를 판단한 뒤 여러 가지 후처리를 하는 방식. 그림과 같이 광선의 발사 원점과 발사각, 그리고 거리 등의 인자로 광선을 발사할 수 있습니다. 주로 레이 캐스트는 FPS 장르 게임에서 사격 시 실제 총알이 날아가지 않고 발사와 동시에 적이 명중해서 혈흔 효과와 같은 이펙트를 연출하고 사망하는 방식으로 구현되는 방식에 흔히 사용되곤 합니다. 실제로 디아블로나 리지니 같은 쿼터뷰 시점 방식 게임에서도 플레이어를 마우스 왼쪽 클릭으로 조작해 이동시킬 때 마우스 포인트 위치로 레이 캐스트 해서 3차원 좌표값으로 읽어온 후 해당 좌표로 이동시킵니다. Physics.Raycast Physics.Raycast 함수는 Ray를..
2019.10.23
-
[C#] 정적 필드와 메소드
static - 사전적으로 '정적'이라는 뜻을 갖고 있다. 움직이지 않는다는 뜻이며, C#에서 static은 메서드나 필드가 클래스의 인스턴스가 아닌 클래스 자체에 소속되도록 지정하는 한정자이다. static 속성, 필드 정적(static) 속성 및 필드는 [클래스명. 필드명]과 같이 사용한다. Non static 필드들은 클래스 인스턴스를 생성할 때마다 메모리에 매번 새로 생성하게 되는 반면, static 필드는 프로그램 실행 후 해당 클래스가 처음으로 사용될 때 한번 초기화되어(프로그램 종료 시 해제) 계속 동일한 메모리를 사용하게 된다. 그렇다면 정적 필드를 만들어서 얻게 되는 이득은 무엇일까? static으로 수식한 필드는 프로그램 전체에 걸쳐 하나밖에 존재하지 않는다. 프로그램 전체에 걸쳐 공유..
2019.05.18
-
[Unity 3D] FixedUpdate (유도탄 만들기)
FixedUpdate - FixedUpdate도 Update와 마찬가지로 프레임마다 보통 여러 번 불리게 된다. 하지만 각각의 호출은 고정된 시간 간격을 기반으로 규칙적으로 표준화되어 일어난다. 가장 흔히 사용하는 경우는 유니티의 물리 기능을 사용할 때다. 시간에 따라 Rigidbody 컴포넌트의 속도나 속성을 업데이트하는 경우 Update보다 FixedUpdate가 더 적합하다. Update는 안 되는 것일까? Update는 프레임 속도에 영향을 받기 때문에 불규칙하게 호출되어서 물리 검사가 제대로 되지 않을 수 가있으며, 또한 과도한 Update 호출을 막기 위하여 FixedUpdate를 사용하는 것이다. Time.deltaTime과 같이 계산해야 할까? FixedUpdate의 움직임을 적용하여 계산..
2019.05.13