-
[TIL] 5주차 5일 팀 프로젝트 진행중 , Scriptable Object개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 17. 21:08
오늘 한 것
- 스크립터블 오브젝트 (Scriptable Object)
- 비트 연산자
- 쿼터니언과 벡터의 곱셈
- Layer
- 팀 프로젝트
오늘 배운 내용 정리
스크립터블 오브젝트 (Scriptable Object)
먼저 스크립터블 오브젝트란?
Unity에서 데이터를 저장하고 관리하는 유연한 데이터 컨테이너이다.
게임에서 재사용 가능한 데이터 또는 설정을 저장하는 데 사용되고
코드와 데이터를 분리해서 코드를 더 깔끔하고 관리하게 쉽게 만든다.
하나의 스크립터블 오브젝트를 여러 게임 오브젝트에서 참조하거나 재사용할 수 있으며,
Unity 에디터와 통합되어 인스펙터 창에서 직접 수정하고 관리할 수 있다.
한 마디로 데이터를 관리하기 좋은 데이터 컨테이너이다.
강의에서도 Scripts 폴더가 아니라 따로 폴더를 만들어서 관리를 했는데
일반적인 스크립트랑 개념들 달리 봐도 좋을 것 같다. 저장소 느낌
비트 연산자와 레이어 마스크
<<은 왼쪽으로 1만큼 보내라는 의미, 빈칸은 0으로 채운다.
Unity에서 각 게임 오브젝트는 특정 레이어에 속할 수 있다. 이는 주로 오브젝트 간의
상호작용을 관리하기 위해서 사용된다. 레이어는 비트 필드로 표현되어서 각 비트가
다른 레이어를 나타내게 된다.
비트 연산자는 레이어의 비트 필드를 조작하기 위해서 사용된다.
- AND (&): 두 비트 필드 모두에서 해당 비트가 설정되어 있을 때만 결과 비트를 설정합니다. 이를 통해 특정 레이어의 존재 여부를 확인할 수 있다.
- OR (|): 두 비트 필드 중 하나라도 해당 비트가 설정되어 있으면 결과 비트를 설정합니다. 이는 새로운 레이어를 추가할 때 유용하다.
- XOR (^): 두 비트 필드에서 해당 비트가 서로 다를 때만 결과 비트를 설정합니다. 이는 두 레이어의 차이를 찾을 때 사용된다.
- NOT (~): 모든 비트를 반전시킵니다. 이는 특정 레이어를 제외시킬 때 유용하다.
비트 시프트 연산
비트 시프트 연산은 1 << n 의 형식으로 사용하는데, 1을 n번째 위치로 시프트 한다.
이는 n번째 레이어를 나타내는 비트마스크를 생성하는 데 사용된다.
이를 통해서 특정 레이어에 대한 연산을 쉽게 수행할 수 있다.
이 방법은 물리적 충돌과 레이캐스팅, 카메라 렌더링 등을 제어하는 데 사용된다.
- 충돌 검사: 비트마스킹을 사용하여 특정 레이어에 속한 오브젝트만을 대상으로 충돌 검사를 수행할 수 있다.
- 레이캐스팅 제어: 레이캐스트가 특정 레이어의 오브젝트에만 반응하도록 비트마스크를 설정할 수 있다.
- 카메라 렌더링 설정: 카메라가 특정 레이어의 오브젝트만을 렌더링하도록 설정하여, 게임의 시각적 요소를 세밀하게 제어할 수 있다.
'개발일지 > 스파르타 코딩클럽 부트캠프' 카테고리의 다른 글
[TIL] 6주차 2일 팀 프로젝트 여전히 진행중 (2) 2024.05.21 [TIL] 6주차 1일 팀 프로젝트 진행중 랭킹 시스템 구현 과정 (0) 2024.05.20 [TIL] 5주차 4일 팀 프로젝트 시작, 객체지향 특강 , C# 문법 복습 (0) 2024.05.16 [TIL] 5주차 2일 Prefab, Instantiate, Enum (0) 2024.05.14 [TIL] 5주차 1일 개인 과제 진행 ( Animater Override Controller) (0) 2024.05.13