본문 바로가기

Unity27

[C#] 스레드(Thread)의 기본 개념 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. Thread의 개념과 관련 용어 Thread의 개념을 알기 위해서는 운영체제와 프로세스의 의미에 대해서 먼저 알아야한다. 운영체제윈도우, 리눅스 등 사용자의 하드웨어와 시스템 리소스를 제어하고 프로그램에 대한 일반적인 서비스를 지원하는 시스템 소프트웨어다. 프로세스 프로세스는 운영체제 안에서 실행되는 프로그램이다. 프로세스들은 서로 독립된 객체이기 때문에 각각 메모리를 할당받고 서로에게 접근할 수 없다. 서로의 상태 정보를 받기 위해서는 별도의 커뮤니케이션 필요하다. 이러한 프로세스는 반드시 하나 이상의 스레드로 구성되어있다. 스레드프로세스 내부에서 실행되는 작은 작업 단위이다. 위에서 말했듯이 프로세스는 반드.. 2025. 8. 19.
[C#] Boids 군집 알고리즘 공부 : 구현 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. [C#] Boids 군집 알고리즘 공부 : 개념과 구현 방법공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. Boids란?새들이 떼를 지어 다니는 행동에 대한 군집 이동 알고리즘(시뮬레이션)을 의미한다. Boids는hungrykang.tistory.com -Cohension(응집) -Alignoment(정렬) Separation(분리) 규칙 기반으로 Boids를 구현해본다.준비 나의 경우에는 1. 객체 1000개 2. VR(Quest 3)에서 돌아갈 것을 고려 3. 특정 오브젝트 위치로 도달해야함 (= Target Object Position 존재) 등을 조건으로 진행.. 2025. 8. 18.
[C#] 인터페이스 vs 추상 클래스 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 두 가지의 차이점은 알고 있지만, 자꾸 언제 어떻게 써야하는지 헷갈려서 공부할겸 작성하게되었다. 추상화란?어떤 클래스의 공통된 기능을 추출하는 것을 의미한다. 예를 들어 학교를 생각해보자. 국어 선생님은 국어를, 수학 선생님은 수학을, 과학 선생님은 과학을 가르친다. 모든 선생님이 '수업'을 하지만 수업의 타입은 전부 다르다. 이때 공통된 기능인 '수업'을 추상화 시키고 이를 각 선생님이 상속받게 한 다음 과목에 맞게 재정의하여 구현하는 과정을 거치게 된다. 추상 클래스 (abstract Class) 추상 클래스는 abstract 함수를 선언할 수 있다는 점을 제외하면 일반 클래스와 크게 다를 바가 없다. 여기.. 2025. 8. 18.
[C#] Boids 군집 알고리즘 공부 : 개념과 구현 방법 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. Boids란?새들이 떼를 지어 다니는 행동에 대한 군집 이동 알고리즘(시뮬레이션)을 의미한다. Boids는 기본적으로 Separation(분리)-Alignoment(정렬)-Cohension(응집) 단계로 나눠진다. 1. Separation (무리를 피하는 방향으로 이동) 자신 주변의 객체들이 붐비는 것을 피하기 위해 주변 객체들에게 벗어나는 규칙 2. Alignoment (무리의 진행 방향으로 이동) 주변 객체들의 평균 방향으로 이동하는 규칙. 3. Cohesion (무리의 중심 방향으로 이동)모든 객체 사이의 평균점을 찾고 평균점을 향해 이동하는 규칙 이 규칙들이 동시에 고려되면서, 동료들과 비슷한 방향으로.. 2025. 8. 6.
[VR] Meta XR SDK Building Block 기반 멀티 만들어보기 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. Meta XR SDKMeta XR SDK의 가장 좋은 점은 빌딩블록 덕분에 VR Interaction 구현이 쉬워진다는 점이다. 설치 및 빌딩 블록 사용Meta XR All-in-One SDK를 다운받은뒤, Meta- Tool에서 Building Block을 선택해서 사용할 수 있다. 이전에 Grab, Passthrough, Ray등을 사용해본 바가 있는데 오늘은 빌딩 블록을 사용해서 멀티플레이를 만들어보려고 한다. Colocation이란?코로케이션은 데이터 센터에서 기업이 자신의 서버와 기타 IT 장비를 설치, 운영할 수 있도록 공간, 전력, 냉각, 그리고 네트워크 연결을 제공하는 서비스를 의미하는데 Meta.. 2025. 8. 4.
[Normcore] Normcore와 VR Multi 테스트 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. VR 프로젝트에 적합한 멀티 플레이 SDK가 어떤건지 테스트해보고 있는 중이다. 사용 기기는 Meta Quest3이다.Normcore란? Normal에서 만든 멀티 플레이 SDK로, 다른 멀티플레이 SDK에 비해서 VR 친화성이 높은 것이 특징이다.또한 RPC 방식으로 동기화하지 않고 데이터베이스에 모든 상태를 저장하는 방식을 사용한다. 이 방식이 어떻게 가능한지 의아했는데 Normcore 에서는 Room 단위로 세션을 관리하고 실시간 데이터만 저장해두고, 마지막 인원이 퇴장하는 동시에 Room 상태를 삭제하며 모든 데이터를 삭제하는 방식으로 굴러간다. 사실 제일 궁금했던 점은 몇 명까지 지원이 되냐는 것.. 2025. 8. 3.
[Unity] 내장 함수 정리 : Vector3 & Mathf 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 매번 구글링하기도 귀찮아서 Vector 관련 함수를 정리해봤다. 찾아보지 않아도 될 정도로 익숙해지면 더 좋고! Vector Function 이름의미Vector3.zeroVector3(0,0,0)Vector3.oneVector3(1,1,1)Vector3.downVector3(0,-1,0)Vector3.rightVector3(1,0,0)Vector3.leftVector3(-1,0,0)Vector3.forwardVector3(0,0,1)Vector3.backVector3(0,0,-1)Vector3.nomalizedVector3의 magnitude를 1로 만들어 반환 (정규화)Vector3.sqrMagnitudeVec.. 2025. 7. 23.
[Shader] Bubble Shader 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 비눗방울 표현 원리 비눗방울의 특징을 생각해보면 전체적으로 투명하고 주변 물체들이 비치는(reflect) 것이다. 대신, 비치는 현상 때문에 가운데 부분은 약간 불투명한 모습을 보여주며, 전체적으로 불규칙하고 무지개를 연상시키는 색상으로 이루어져있다.요약하자면 반사(주변부를 비춤) + 무지개 색(가장자리로 갈수록 강해짐) 핵심이다. 그 밖에도 비눗방울 자체의 성질상 고정되지 않고 일렁이는 특징도 표현하고자 하려면 쉐이더 파트에서 묘사 할 수 있다. 제작 방법 생각해보기 완벽한 물리 계산을 하기 어렵다면 Texture를 사용해서 제작하는 방법도 있다.계산식이 복잡하다는 이유도 있고, 색상 계산이 따로 필요.. 2025. 6. 18.
[Photon] Photon Fusion 102 #1 씬 전환 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. Photon Fusion을 기반으로 Host Server가 작동하는 것은 확인하였다.그러나 예제 그대로 사용하기 보다는 내가 원하는대로 만들고 싶기도 하고, 아무래도 네트워크 기반이다 보니기존에 만들어둔 input 함수들이 제대로 동작하지 않는 슬픈 상황이 발생했다. 글로 기록하면서 구조도 함께 살펴보며 진행하려한다. 게임 시작 및 호스팅하기 의 멤버 함수인 StatGame(StartGameArgs args)로 Fusion 네트워크가 시작된다.아래는 photon에서 복사해왔던 스크립트다. 기존에는 테스트씬에 할당되어 게임 화면 옆에 버튼이 뜨는 형식이었다. #BasicSpanwer async v.. 2025. 6. 15.