목록Unity (60)
unihee1의 블로그

1. 개요오늘은 캐릭터가 달릴 때 발 밑에서 흙먼지 파티클을 생성하려고 한다.파티클 효과를 사용하면 캐릭터의 움직임이 더욱 생동감 있게 느껴지고 플레이어가 게임에 더 몰입할 수 있게 도와주기 때문에파티클을 적용해보기로 결정했다. 2. 파티클 생성하기먼저 Hierarchy 창에 우클릭 후 Effects - Particle System을 눌러준다.그런 다음 생성된 파티클의 이름을 원하는대로 변경한 후 캐릭터 오브젝트 하위에 넣어주고 캐릭터의 발 밑에 위치 할 수 있도록position을 적절히 설정해준다. Duration: 파티클이 재생되는 시간Looping: 반복재생 여부Start Lifetime: 파티클이 생성되고 사라질 때까지의 시간Start Speed: 파티클이 생성될 때의 초기 속도Start Si..

1. Send Messages와 Invoke Unity Events오늘 플레이어 이동을 구현하면서 Send Message와 Invoke Unity Events에 대해 알아보았다.먼저 Send Messages 방식은 PlayerInput 컴포넌트가 특정 Input 액션이 발생했을 때 해당 액션 이름과 일치하는 메서드를 자동으로 호출해주는 방식이다. 이벤트 등록 없이 자동연결이 가능하여 빠르게 구현 가능하다는 장점이 있다.Invoke Unity Events는 입력 이벤트가 발생했을 때 Player Input의 이벤트에 등록한 함수를 호줄하는 방식으로 다양한 입력에 대해 복수의 함수 연결이 가능하다는 장점이 있다. 2. Send Massages 방식으로 구현하기먼저 Player input의 Behavor를 S..

2025.04.24 - [Unity] - [TIL] Unity 최종프로젝트 몬스터 트러블 슈팅 [TIL] Unity 최종프로젝트 몬스터 트러블 슈팅2025.04.22 - [Unity] - [TIL] Unity 최종프로젝트 몬스터 애니메이션 트러블 슈팅 [TIL] Unity 최종프로젝트 몬스터 애니메이션 트러블 슈팅2025.04.21 - [Unity] - [TIL] Unity 최종프로젝트 몬스터 애니메이션(Animatunihee1.tistory.com 1. 발단우리가 만드는 게임의 지형은 플레이어가 움직이는 방향으로 동적 생성된다.이때 새로 생성된 지형에도 네브매쉬가 동적으로 생성될 수 있도록 일정시간마다 네브매쉬를 재생성 한다.여기서 문제가 생겼다. 처음 게임을 실행했을 때는 문제가 없었지만 일정 시간 ..
1. Built-in Render Pipeline(기본 렌더 파이프라인)Unity에서 오래전부터 사용되던 전통적인 렌더링 방식으로 내부 구조가 고정되어 있고 커스터마이징이 제한적이다.대부분의 Unity 튜토리얼과 에셋은 Built-in 렌더 파이프라인을 기반으로 한다. 장점- 설정이 간단하고 빠르게 결과를 확인할 수 있다.- 많은 레거시 에셋과 호환이 가능하다.- 초보자나 작은 프로젝트에 적합하다. 단점- 멀티플랫폼 최적화가 어렵다.- 고급 그래픽 효과 구현이 어렵다.- 셰이더 커스터마이징 과정이 복잡하다 사용 예시간단한 데모 프로토타입 학습용 프로젝트 2. URP(Universal Render Pipeline)경량 파이프라인으로 모바일부터 PC까지 다양한 플랫폼에 대응할 수 있으며 Scriptabl..
1. IP컴퓨터 간 데이터가 어디에서 어디로 가야 하는지 알려주는 주소 체계를 제공하고 데이터를 목적지까지 전달한다.패킷이라는 단위로 데이터를 나눠서 전송하며 각 패킷에는 출발지 IP, 목적지IP, 순번 등이 포함된다. 버전- IPv4: 32비트 주소로 현재 가장 널리 사용되고 있다.- IPv6: 128비트 주소로 IPv4 주소 부족 문제를 해결한다. 한계점- 패킷들의 도착 순서가 바뀔 수 있다.- 패킷이 유실되어도 재전송하지 않는다.- 데이터 손상 여부만 확인하고 수정은 하지 않는다. 사용 예시웹사이트에 접속하면 브라우저는 서버의 Ip주소를 알아낸 후 해당 서버에 IP 패킷을 보낸다. 2. TCPIP위에서 작동하며 데이터를 안전하게 순서대로 빠짐없이 전송하는 프로토콜이다. 주요 특징- 연결 지향(Con..
1. 개요월드 스페이스와 로컬 스페이스는 Unity에서 오브젝트의 위치, 회전, 스케일을 해석할 때 기준이 되는 좌표계를 의미한다.이동, 회전, 부노-자식 관계가 있는 경우에 자주 쓰인다. 2. 월드 스페이스(World Space)전역(Global) 좌표계를 기준으로 씬 전체의 0,0,0을 기준으로 위치, 방향, 스케일을 판단한다.예시(0, 0, 1) 방향으로 이동하면 항상 북쪽(Z) 방향으로 이동한다.부모의 회전에 영향을 받지 않는다. 주요 메서드transform.position: 월드스페이스 위치transform.rotation : 월드 기준 회전transform.Translate(Vector3 dir, Space.World) : 월드 공간 기준 이동transform.InverseTransformDi..
2025.05.01 - [Unity] - [TIL] Unity 최종프로젝트 몬스터 구현하기(오브젝트풀)_5 [TIL] Unity 최종프로젝트 몬스터 구현하기(오브젝트풀)_52025.04.11 - [Unity] - [TIL] Unity 최종프로젝트 몬스터 AI 구현하기(오브젝트풀)_ 4일차 [TIL] Unity 최종프로젝트 몬스터 AI 구현하기(오브젝트풀)_ 4일차2025.04.10 - [Unity] - [TIL] Unity 최종프로젝트 몬스터 AIunihee1.tistory.com 1. 개요오늘은 만들어둔 몬스터의 상태패턴을 참고하여 동물의 상태패턴을 구현해보았다.구현하는 도중 동물의 타입에 따라 chase 상태가 다르게 수행되게 구현해야 했다.friendly 타입: 플레이어에게 다가간 후 멈춤aggre..
1. 쿼터니언이란?4차원 복소수를 기반으로 한 수학적 구조이다.Unity에서는 Quaternion 구조체로 제공되며 내부적으로는 (x, y, z, w)의 네개 값으로 구성된다.회전을 표현할 수 잇는 방식 중 하나로 3D 회전에 적합하다. 2. 쿼터니언을 사용하는 이유- 짐벌락 방지오일러 각을 사용할 경우 특정 각도에서 회전 축이 겹쳐서 자유도를 잃는 문제가 발생하는데 쿼터니언을 통해 방지할 수 있다.※짐벌락이란축 회전 중 두 축이 겹쳐버려서 회전이 꼬여 결국 어떤 방향으로도 회전할 수 없게 되거나 엉뚱한 축으로 회전하는 현상 - 부드러운 회전쿼터니언은 두 회전 간을 부드럽게 보간할 수 있어서 자연스러운 회전 애니메이션을 만들 수 있다. - 계산 효율회전 행렬보다 메모리 사용량이 적고 복잡한 회전 연산도 ..

1. 드로우콜이란?게임 개발에서 CPU가 GPU에게 그래픽 오브젝트를 화면에 렌더링 하라고 요청하는 명령을 의미한다. 2. 중요한 이유드로우콜은 그래픽 성능과 직결된다. 그로우콜이 많을수록 CPU가 GPU에 명령을 많이 보내야 하므로 성능 저하의 원인이 될 수 있다. 특히 모바일이나 저사양 기기에서는 드로우콜 수를 줄이는 것이 중요한 최적화 포인트이다. 3. 드로우콜이 증가하는 경우하나의 오브젝트당 1개의 드로우콜이 발생하기 때문에 오브젝트가 많으면 드로우콜도 많이 발생한다.머티리얼이 다르면 GPU는 셰이더와 텍스처를 다시 로딩해야 하기 때문에 하나의 드로우콜에 같이 처리할 수 없다.텍스처, 쉐이더가 다르면 GPU는 렌더링 전에 셰이더 파이프라인을 구성해야 하는데 셰이더가 다르면 완전히 새 파이프라인을 ..
2025.04.11 - [Unity] - [TIL] Unity 최종프로젝트 몬스터 AI 구현하기(오브젝트풀)_ 4일차 [TIL] Unity 최종프로젝트 몬스터 AI 구현하기(오브젝트풀)_ 4일차2025.04.10 - [Unity] - [TIL] Unity 최종프로젝트 몬스터 AI 구현하기_ 3일차 [TIL] Unity 최종프로젝트 몬스터 AI 구현하기_ 3일차2025.04.09 - [Unity] - [TIL] Unity 최종프로젝트 몬스터 AI 구현하기(FSM)_ 2일차 [TIL]unihee1.tistory.com 위의 글의 MonsterPoolManager를 보면 한 종류의 몬스터만 생성하는 것을 알 수 있다.오늘은 여러종류의 몬스터를 생성할 수 있도록 풀링할 몬스터의 프리팹을 배열로 받을 수 있도록 ..