Rookiss님의 유니티 엔진 강의를 보고 정리한 내용입니다. 한 지점에서 특정 방향으로 레이저를 발사하여, 맞은 물체를 파악하는 방식입니다. 원래는 컴퓨터 그래픽스의 기술이기도 합니다. 기본적인 사용 방법은 Physics.Raycast(~~~~);입니다만 안에 들어가는 방식은 매우 다양합니다. if (Physics.Raycast(transform.position, Vector3.forward, out hit, 10)) { Debug.Log($"RayCast!{hit.collider.gameObject.name}"); } 이번 방식은 레이저에 닿는 모든 물체를 감지하는 방식입니다. RaycastHit[] hits; hits = Physics.RaycastAll(transform.position + Vec..
Rookiss님의 유니티 엔진 강의를 보고 정리한 내용입니다. 공식 문서 : https://docs.unity3d.com/kr/530/Manual/CollidersOverview.html 콜라이더 - Unity 매뉴얼 콜라이더(Collider) 컴포넌트는 물리 충돌 처리를 위한 오브젝트의 형태를 정의합니다. 콜라이더는 보이지 않는 요소이므로 오브젝트의 메시와 정확히 동일한 모양일 필요는 없으며, 실제로는 게 docs.unity3d.com 먼저 Collision이란 충돌을 의미하는 것이고, 유니티에서 물리적인 충돌을 발생시키는 것을 말합니다. 그래서 유니티의 각 오브젝트들에 충돌 여부를 부여하기 위해서 Collider, RigiBody가 존재합니다. 먼저 충돌의 조건에는 세가지가 필요합니다. 위 공식문서에..
정말 간단한 키보드 후킹 프로그램을 만들었습니다. 작동 원리는 간단합니다. 1. SetWindowsHookEx() API를 통해서 클라이언트 측 키보드 값을 후킹합니다. 2. 서버 측에 입력받은 키보드 값을 DWORD 형태로 전달합니다. 3. 서버 측에서는 입력받은 키보드 값을 출력해줍니다. SetWindowsHookEx의 형태는 검색을 해보시면 다양한 자료들을 얻으실 수 있겠지만, 간단하게만 말씀드리면 _hook = SetWindowsHookEx(WH_KEYBOARD_LL, UseFunction, hInstance, NULL); 이런 형식으로 됩니다. 사용할 함수에는 키보드를 입력받았을 때 행동할 함수를 작성하여 넣어주시면 됩니다. 아래는 기본형태입니다. LRESULT CALLBACK AnyName(i..
DebugGame - 자세한 디버깅을 위해 최적화가 안 된 결과물을 생성하는 빌드 구성. 게임 실행을 위한 exe 파일을 생성한다. DebugGame Editor - DebugGame과 동일한 수준의 에디터용 DLL 파일을 생성한다. Development - 중간 수준의 최적화와 디버깅도 가능한 결과물을 생성하는 구성이다. Development Editor - 에디터용 DLL 파일을 생성한다. 설정의 기본값이다. Shipping - 게임의 최종 배포를 위해 최적화된 코드를 만들어내는 구성이다. exe 파일을 생성한다. 스태틱메시 컴포넌트(StaticMesh Component) - 애니메이션이 없는 모델링 애셋인 스태틱메시를 사용해 시각적인 기능과 물리적인 기능을 제공하는 모듈이다. 주로 배경 물체에 사용..
Config - 게임 프로젝트의 설정 값을 보관하는 공간. 이 폴더를 제거하면 게임 프로젝트의 중요한 설정 정보가 날아가므로 항상 보관해야 한다. Content - 게임 프로젝트에 사용하는 에셋을 관리하는 공간이다. 항상 보관해야 한다. Intermediate - 프로젝트 관리에 필요한 임시 파일들을 저장하는 공간이다. 이 폴더는 제거해도 에디터에 의해 자동으로 재 생성된다. Saved - 에디터 작업 중에 생성된 결과물을 저장하는 공간이다. 예를 들어 세이브파일, 스크린샷은 모두 이곳에 저장된다. 이 폴더를 제거하면 수동으로 저장한 세이브 파일이나 스크린샷 등이 삭제될 수 있다. 게임 프로젝트에는 영향을 주지 않는다. Binaries - C++ 코드가 컴파일된 결과물을 저장하는 공간. 이 폴더는 삭제해..
강의 : (인프런)C++과 언리얼로 마드는 MMORPG 게임 개발 시리즈 - 게임서버 데이터를 저장하거나, 패킷으로 전달할 때 정수값이나 char 값은 그대로 저장할 수 있으나 동적으로 할당된 값은 그대로 저장할 수 없습니다. 예를 들어 아래의 구조체를 가진 데이터를 보내거나 저장하려고 할때, target이나 vector의 값을 저장해도 후에 복원시킬 때 제대로 된 값을 복원할 수 없습니다. 따라서 이러한 값을 byte나 배열로 만들어서 보내거나 저장할 수 있도록 하는 것을 직렬화라고 합니다. class Player { public: int32 hp = 0; int32 attack = 0; Player* target = nullptr; vector buffs; }; XML vs JSON javascrip..
인스타 : https://www.instagram.com/p/Chtg-yYtNbN/?utm_source=ig_web_copy_link 부산에서 진행하는 인디 커넥트 페스티벌에서, 9.1(목) ~ 9.2(금)에 컨퍼런스가 진행됩니다. 컨퍼런스 종류는 인디게임부터, 게임 엔진까지 다양하게 진행되고, 자세한 테이블은 위 인스타를 통해서 확인해보시면 됩니다. 인디 게임에 관심이 있으시거나, 게임 개발에 관심이 있으시면 온라인으로도 진행되니, 유튜브를 통해서 들으실 수 있습니다! 자세한 전체 내용은 위 인스타를 확인해주세요!
https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 풀이) 어제 풀었던 문제와 같이, 매개 변수 탐색 알고리즘을 사용해야 한다. 트리 길이를 입력받을 때 제일 큰 값을 end의 값으로 설정해두고, start를 0으로 설정한다. 그리고 구한 start와 end 값으로 이분탐색을 해 나가면서 최댓값을 찾아내면 된다. #include #include #include #include using namespace st..
- Total
- Today
- Yesterday
- 학교
- 인제대학교
- 보안
- 멀티쓰레드
- c++
- 레지스터
- Dreamhack
- 야경
- 시스템보안
- 개발
- 자료구조
- BFS
- 스레드풀
- STL
- 알고리즘
- 컨퍼런스
- 백준
- 정보보안
- 지뢰찾기
- 드림핵
- queue
- Select모델
- 링크드 리스트
- 고양이
- 워셜알고리즘
- 더블버퍼링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |