본문 바로가기

프리팹4

게임개발 중급(19) - 유니티 엔진 활용(2) 유니티 엔진 활용(2) 저번시간은 유니티에서 게임을 만들 때 자주 사용되고, 유용하게 쓰이는 것들에 대해 알아보았습니다. 정확히 Transform, Rigidbody, Collider, Main Camera에 대해 알아보았고, 이번에도 지난시간에 이어서 진행하겠습니다. Directional Light(디렉셔널 라이트) 유니티의 Directional Light는 무한히 떨어지는 평행한 광선을 방출하는 빛으로, 태양이나 달 등의 자연광을 표현할 때 자주 사용됩니다. 3D 프로젝트를 생성하면 기본적으로 Main Camera와 함께 기본생성되는 오브젝트입니다. 씬 뷰에서 Directional Light 오브젝트를 생성하면, 오브젝트를 중심으로 일직선으로 뻗은 빛이 발사되는 것을 확인할 수 있습니다. Direct.. 2023. 5. 8.
게임개발 중급(13) - 2D 플랫포머 게임 만들기(8) 2D 플랫포머 게임 만들기(8) 이전에는 프리팹으로 생성한 오브젝트의 고정위치 생성 및 이동과 더불어 플레이어가 맵을 이탈하지 못하도록 경계를 설정해주는 작업을 하였습니다. 이번에는 프리팹으로 계속해서 생성되는 오브젝트를 플레이어가 먹지 않고 지나치게 되면 계속해서 쌓여 게임의 성능과 용량을 크게 차지하게 될 수 있으니 이를 방지하기 위한 작업을 하겠습니다. 오브젝트 삭제 저희가 사용하는 게임의 화면은 기본적으로 X축 -10 에서 10, Y축 -5 에서 5의 범위를 가지고 있습니다. 사실상 이 범위 바깥으로 나가면 보이지 않고, 게임에서 제외됩니다. 그렇지만, 오브젝트를 생성하고 삭제해주지 않는다면, 실제로 보이는 오브젝트는 몇개 되지 않아도 계속해서 보이지 않는 공간에 쌓여 메모리공간 및 성능의 영향을.. 2023. 5. 3.
게임개발 중급(11) - 2D 플랫포머 게임 만들기(6) 2D 플랫포머 만들기(6) 이전시간에는 프리팹에 대해 알아보았습니다. 이번엔 저번에 알게된 프리팹을 실제로 예제에 적용하여 3초마다 플레이어가 움직일 수 있는 공간에 랜덤하게 코인 오브젝트가 생성되도록 제너레이터 스크립트를 작성 하겠습니다. 프리팹 사용 저번에 프리팹을 만들었고, 이제는 사용을 해야 합니다. 우선 프리팹을 사용하려면 특정함수를 사용해야 합니다. 바로 Instantiate() 입니다. 이 함수는 프리팹을 게임에 생성하는 역할을 해줍니다. 하지만 함수를 사용하려면 해당 함수가 사용된 스크립트에 프리팹을 전달해주어야 합니다. 프리팹의 전달은 아주 간단합니다. 사진으로 설명하겠습니다. Step 1 우선 빈 오브젝트를 생성하고 Generator 라고 이름을 붙혀주었습니다. 이곳에 저희가 만든 스크.. 2023. 4. 30.
게임개발 중급(10) - 2D 플랫포머 게임 만들기(5), 프리팹(Prefab) 2D 플랫포머 게임 만들기(5), 프리팹(Prefab) 저번에 진행했던 코인을 먹으면 점수가 오르도록 하는 코드, 그리고 최적화에 이어서 진행하겠습니다. 코인으로 저희가 예제를 작성할 때, 콜라이더를 가진 코인 오브젝트를 여러개 만들었습니다. 예제에서는 4개정도 만드는 것에 그쳤지만, 실제로 저희가 게임을 만들다 보면 계속해서 사용되고, 등장하는 오브젝트들이 있습니다. 그 대표적인 예시가 바로 코인입니다. 근데 수많은 오브젝트를 일일이 만드는 것은 개발자 답지 않고, 쓸데없이 불편합니다. 그래서 유니티에서는 프리팹(Prefab)이라는 것을 사용합니다. 프리팹은 재사용 가능한 게임 오브젝트(Game Object)를 의미합니다. 프리팹은 게임 오브젝트와 그것이 가지고 있는 모든 컴포넌트들을 하나의 파일로 묶.. 2023. 4. 29.