ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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번째 레이어를 나타내는 비트마스크를 생성하는 데 사용된다.

    이를 통해서 특정 레이어에 대한 연산을 쉽게 수행할 수 있다.

     

    이 방법은 물리적 충돌과 레이캐스팅, 카메라 렌더링 등을 제어하는 데 사용된다.

    • 충돌 검사: 비트마스킹을 사용하여 특정 레이어에 속한 오브젝트만을 대상으로 충돌 검사를 수행할 수 있다.
    • 레이캐스팅 제어: 레이캐스트가 특정 레이어의 오브젝트에만 반응하도록 비트마스크를 설정할 수 있다.
    • 카메라 렌더링 설정: 카메라가 특정 레이어의 오브젝트만을 렌더링하도록 설정하여, 게임의 시각적 요소를 세밀하게 제어할 수 있다.
Designed by Tistory.