302호 컴퓨터실
-
[Unreal 5] 블루프린트 1 - 프로젝트 생성 및 노드 생성302호 컴퓨터실/언리얼 엔진 5 기초 2024. 11. 3. 23:25
기본 게임 프로젝트 생성 광활한 타일 평야가 펼쳐질건데 아래에 보이는 콘텐츠 드로어를 클릭해 기본 맵을 호출해본다.3개 모두 골고루 확인해보자. 상단 툴바에 네모들 끼리 연결된 아이콘을 클릭하면 현재 레벨에서의 블루프린트를 확인할 수 있다. 기본 액션(기능)들이 뭐 많이 들어 있다.블루프린트가 생성될 저 배경을 event graph 라고 하며 추가될 내용들은 액션 or 기능(function) 이다. 'print string' 을 검색해서 기능 하나를 추가해본다.그렇게 생성된 저 박스를 'Node' 라고 부른다.노드는 프로젝트내에 포함된 이미 만들어진 기능(Premade functionality)의 일부를 뜻한다. 'BeginPlay' 를 검색해서 또 다른 기능 하나를 추가한다.생성된 저 빨간색..
-
ReaderWriterLock Sample302호 컴퓨터실/강의 자료 2024. 10. 2. 00:30
namespace ServerCore;// 재귀적 락을 허용 (Yes) WriteLock -> WriteLock OK, WriteLock -> ReadLock OK, ReadLock -> WriteLock No// 스핀락 정책 (5000번 -> Yield)public class Lock{ private const int EMPTY_FLAG = 0x00000000; private const int WRITE_MASK = 0x7FFF0000; private const int READ_MASK = 0x0000FFFF; private const int MAX_SPIN_COUNT = 5000; // [Unused(1)] [WriteThreadId(15)] [ReadCount(16..
-
C# 델리게이트란 무엇인가? 이해하기 쉽게 풀어보는 메서드 참조302호 컴퓨터실/QnA 2024. 10. 1. 15:00
델리게이트(Delegate)를 사용하여 메서드를 호출하는 것과 직접 메서드를 호출하는 것은 실행 방식과 활용 목적에서 중요한 차이가 있습니다. 이 차이는 특히 비동기 프로그래밍, 이벤트 처리, 스레딩과 같은 상황에서 두드러집니다.1. 실행 시점과 컨텍스트의 차이직접 메서드 호출:메서드를 직접 호출하면 현재 스레드에서 즉시 실행됩니다.예:void MyMethod() { // 작업 내용 } // 직접 호출 MyMethod(); // 현재 스레드에서 즉시 실행 델리게이트를 통한 메서드 호출:델리게이트를 사용하면 메서드에 대한 참조를 저장하고, 이를 나중에 다른 시점이나 다른 스레드에서 실행할 수 있습니다.예:// 델리게이트 선언delegate void MyDelegate(); void MyMethod() {..
-
[유니티] MacOS(M1), 유니티에 Protobuf 적용하기302호 컴퓨터실/강의 자료 2024. 6. 20. 20:29
Node.js + Unity 강의 제작 중 프로토콜 버퍼 적용하는 과정이 꽤나 까다로웠기때문에 공유. 이 가이드를 따라오기 위한 전제조건MacOS유니티 설치가 완료된 상태 (.Net Framwork or .Netstandard 2.x or 4 or 6 or 8...)윈도우는 오히려 설치가 더 쉽기때문에 그냥 패키지매니저를 통해서 다운로드 받아 사용하면 된다. 처음에는 다른 플러그인들을 사용해보다가 결국에는 protobuf-net을 사용하기로 했다.사용한 플러그인은 protobuf-net아래와 같이 주고받을 패킷 구조 정의가 가능하다. 서버에서도 물론 protobufjs 를 사용해서 같은 형태로 보내주고 있다. [ProtoContract]public class CommonPacket{ [ProtoMe..
-
1바이트는 어떻게 0부터 255 사이의 정수값을 가질 수 있나요?302호 컴퓨터실/QnA 2024. 6. 11. 19:56
바이트(byte)는 8비트(bit)로 구성각 비트는 0 또는 1의 값을 가질 수 있기 때문에, 1바이트는 총 2^8(=256)개의 서로 다른 값을 표현할 수 있습니다.1바이트의 비트 구성1바이트는 8개의 비트로 이루어져 있으며, 각각의 비트는 다음과 같이 위치합니다[ b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 ]여기서 각 비트는 0 또는 1의 값을 가질 수 있습니다.가능한 값의 범위1바이트는 2^8(2진수) = 256개(10진수)의 고유한 값을 표현할 수 있습니다. 결론0부터 255까지의 256개의 값이 가능한 이유는 각 비트가 0 또는 1의 값을 가질 때, 모든 비트가 0인 경우부터 모든 비트가 1인 경우까지 모든 조합을 만들 수 있기 때문입니다.최소값 (모든 비트가 0인 경우..