728x90

Unity 4

코루틴(Coroutine)

코루틴(Coroutine)특정 작업을 여러 프레임에 걸쳐 실행할 수 있도록 지원하는 기능이다.Unity에서 시간 지연이나 비동기적 작업을 쉽게 처리할 수 있게 해주며, 주로 애니메이션, 타이머, 지연 실행 같은 작업에서 많이 사용된다.일반적인 함수와 달리, 호출 시 즉시 종료되지 않고 중간에 실행을 멈추고 나중에 다시 재개될 수 있는 함수이다. Unity에서는 주로 특정 지연 작업이나 프레임 기반의 반복 작업을 처리할 때 코루틴을 사용한다.C#에서는 IEnumerator를 반환하는 함수로 코루틴을 구현하며, 이 함수는 특정 시점에서 실행을 멈추고 다음 프레임 또는 지정된 시간이 지나면 다시 실행된다.특징비동기적 실행 : 다른 작업을 블로킹 하지 않고 비동기적으로 실행되므로, 프레임 드롭없이 지연이나 반복..

Unity 2024.11.21

3. Bullet, Gizmos, TrailRender, Particle

게임에서 총기류 발사 방식은 Projectile 방식과 Raycast 방식으로 크게 두 가지 방식으로 구현된다. - Projectile 총알이 물리적으로 발사되는 방식으로 총알이 직접 날아가 적에게 타격을 입힌다. 따라서 총알이 시각적으로 표현되지만 짧은 시간 동안 여러 개의 총알을 생성하게 되면 게임의 속도가 저하되는 단점이 있다. 이 단점을 보완하기 위해 총알은 될 수 있으면 로우폴리(Low Poly) 모델이나 평면 Mesh 모델에 텍스처를 입혀 사용한다. 총알 역시 동적으로 생성하기보다는 오브젝트 풀(Object Pool) 개념을 도입해 총알을 미리 생성해 두고 번갈아 가며 발사되도록 구현하는 편이 속도 향상에 유리하다. - Raycast 방식 Raycast 방식은 FPS 게임에서 저격총 발사 루틴..

Unity/TPS 2023.10.24

2. Ctrl, Animation, Shadow, LODGroup

플레이어 객체를 만들어주고, PlayerCtrl 스크립트를 만들어주어 움직임을 구현했다. 상하좌우 대각선 움직임을 구현했다. 추가로 애니메이션을 추가하고 움직임 Horizontal, vertical 값에 따라 애니메이션이 변하도록 스크립트를 짜줬다. 애니메이션이 갑작스럽게 변경된다면 어색함이 느껴질수 있기 때문에, CrossFade함수를 적용해서 자연스럽게 애니메이션이 변하도록 해줬다. 원래있던 그림자를 지워주고 새로운 객체를 만들어서 그림자 처럼 보이게 만들어주었다. 그림자가 원래 있지만 실시간 그림자 처리 부담이 매우 크다. 그러기 떄문에 cast shadow를 꺼줬다. LOD(Level of Detail) 설정을 해줬다 LOD는 화면을 렌더링하는 카메라로부터 멀리 떨어질수록 낮은 폴리곤으로 변경해서..

Unity/TPS 2023.10.22
728x90