TIL

2024 11 14 TIL

noc777 2024. 11. 14. 21:47

과제를 수행하고 나서 못들었던 강의들을 듣고 개념을 정리해보는 TIL

 

파티클 시스템은 수 천 개의 작은 오브젝트를 관리하고 동작 생성 파괴를 제어하는 시스템입니다.

그리고 그 작은 오브젝트들을 파티클이라고 부릅니다.

 

파티클 시스템의 주요 컴포넌트

emitter //발사체

particles //파티클

animator //애니메이터

renderer //랜더러

 

파티클 시스템의 주요 모듈

MainModule(메인 모듈)

//파티클의 움직이는 속도와 크기, 회전, 최대 수량 등을 정할 수 있는 모듈
//값을 설정할 때 일반적인 상수말고도 Random Between Two Constant등을 이용하여 랜덤한 값을 설정해줄수도 있다.

https://docs.unity3d.com/kr/2021.2/Manual/PartSysMainModule.html

 

메인 모듈 - Unity 매뉴얼

파티클 시스템 모듈은 시스템 전체에 영향을 미치는 전역 프로퍼티를 포함하고 있습니다. 이런 프로퍼티는 대부분 새로 생성된 파티클의 초기 상태를 제어합니다. 메인 모듈을 펼치거나 접으려

docs.unity3d.com

 

RendererModule(렌더러 모듈)
//파티클의 표현 방법 설정
//Order in Layer(보이는 우선순위) 설정이 가능하다.

https://docs.unity3d.com/kr/2021.3/Manual/PartSysRendererModule.html

 

렌더러 모듈 - Unity 매뉴얼

렌더러 모듈의 설정에 따라 파티클의 이미지나 메시가 다른 파티클에 의해 어떻게 변환되고 음영 처리되고 덮어 쓰여지는지 결정됩니다.

docs.unity3d.com

 

ShapeModule(Shape 모듈)
//생성되는 모양 설정
//박스,콘, 도넛 등의 형태로 설정이 가능하다.

https://docs.unity3d.com/kr/2020.3/Manual/PartSysShapeModule.html

 

셰이프 모듈 - Unity 매뉴얼

이 모듈은 파티클이 방출될 수 있는 체적 또는 표면과 시작 속도의 방향을 정의합니다. 모양(Shape) 프로퍼티에 따라 방출 체적의 모양이 정의되고, 모듈의 나머지 프로퍼티는 선택하는 모양에 따

docs.unity3d.com

 

EmissionModule(Emission모듈)
//파티클의 생성 설정
//1초당 생성량 , 움직일 때 생성량,순간적으로 대량 생산 (Burst(양,시간,간격)) 등의 설정

https://docs.unity3d.com/kr/2022.3/Manual/PartSysEmissionModule.html

 

이미션 모듈 - Unity 매뉴얼

이 모듈의 프로퍼티는 파티클 시스템의 방출 속도와 타이밍에 영향을 줍니다.

docs.unity3d.com

 

프로퍼티와 관련 기능들의 양이 너무나 방대하여 필요할 때 공식문서를 봐가면서 기능을 찾아볼 필요가 있어보인다.

//파티클 시스템의 타입
ParticleSystem particleSystem
    [타입]        [변수 이름]
    
//주요 모듈 접근 방법
particleSystem.emission.SetBurst;
   [인스턴스]   [모듈명]   [관련 기능 메서드]
   
//실행
particleSystem.Play();

 

 

 

사운드 관련 컴포넌트

AudioClip
//사운드 파일을 넣을 수 있는 필드
//.wav,.mp3,.ogg 확장자의 오디오 파일을 지원합니다.

AudioSource
//사운드 재생 컴포넌트
//재생 외에도 볼륨 조절, 사운드 반복 등의 설정이 있습니다.

AudioListener
//사운드를 들을 수 있는 컴포넌트
//기본적으로 메인 카메라에 부착되어있다.
//게임상에선 하나의 AudioListener만 있어야한다.

 

UGUI

 

유니티에서 제공하는 기본 UI 시스템 

 

Canvas

 

모든 UI요소는 캔버스 위에 배치되어야 동작한다. 

 

Screen Space - Screen Overlay
//카메라 설정이나 월드 변화에 관계없이 화면 가장 위에 UI를 배치한다

Screen Space - Camer Overlay
//특정한 카메라의 시점에서 보여지는 것처럼 배치한다.

World Space
//월드 상에서 UI가 표현되어 게임 오브젝트처럼 사용이 가능하다. (예시: 이름표, 몬스터의 체력바)

 

 

Rect Transform

 

UI가 게임오브젝트의 Transfrom 방식 대신 사용되는 위치 지정방식입니다.

 

 

앵커

UI가 해상도와 크기에 유동적으로 조절되게 도와주는 기능

위치 지정방법:
부모가 되는 UI 컴포넌트를 기준으로 좌하단(0,0) 우상단(1,1) 로 좌표를 설정하여 해상도가 달라졌을 땐
좌표를 기준으로 비율이 조정된다.

스크레치 모드:
스크레치를 사용하면 특정방향으로 부모의 크기를 기준으로 조정된다.

 

피벗

UI 크기가 변화할 때 중심점을 정의한다.

각 축마다 0에서 1까지의 범위를 가지고 있다.

X가 0에 가까워진다면 UI크기가 변경될 때 왼쪽을 기준으로 변경 될 것이고 1에 가까워진다면 오른쪽의 기준으로 줄어들게 된다.
Y의 경우 0에 가까워진다면 아래쪽 1에 가까워진다면 위쪽을 기준으로 변경될 것이다.

 

피벗이 이해가 안된다면 Transform의 좌표를 이동할 때  왼쪽으로 가고싶으면 음수 오른쪽으로 가고싶으면 양수를 집어넣었던 것을 생각하자.  이름 0과 1에 대입하면 이해에 도움이 될 것이다.

'TIL' 카테고리의 다른 글

2024 11 18 TIL  (0) 2024.11.18
2024 11 15 TIL  (1) 2024.11.15
2024 11 13 TIL  (0) 2024.11.13
2024 11 12 TIL  (0) 2024.11.12
2024 11 11 TIL  (2) 2024.11.11