달력

62024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

prefab(프리팹) 만들기



  • prefab(프리팹)의 용도
    • 프리팹은 같은 몬스터개체를 여러개 만들어 둬어야 하는경우.
    • FPS의 경우는 총알 사용시 프리팹을 이용해 복제하여 생성할 경우
    • 폭탄 같은걸로 벽돌 파괴시 벽돌이 따로따로 흩날리는 효과를 주기위한 경우
    • 즉, 무수히 같은 물체,개체를 인스턴스화 시킬 수 있게 하는것이 prefab(프리팹) 입니다.



  • prefab(프리팹)의 만들기

sphere을 이용하여 만들어보겠습니다.

Hierarchy화면에서 마우스 오른쪽 클릭 -> 3D Object -> Sphere 클릭

Project화면에서 Prefabs 폴더를 하나 만들어 주고 해당 Sphere를 그대로 드래그해 폴더에 옮겨 줍니다.


그럼 Hierarchy 화면에 있던 Sphere이 파란색 글자로 변경이 되면서 등록이 됩니다.


이게 prefab(프리팹) 만들기의 끝입니다.!


만들었으니 이제 사용해



  • prefab(프리팹)의 초 간단한 사용법

사용하기 위한 스크립트 Instantiate Test 이름으로 하나 만들어 주세요(다른 이름도 괜찮습니다.)


using System.Collections;

using System.Collections.Generic;

using UnityEngine;


public class InstantiateTest : MonoBehaviour {



    public GameObject bulletObj = null; // 담겨질 오브젝트 생성


void Start () {

}


void Update () {


        if(Input.GetKeyDown(KeyCode.Space)) // 스페이스바 클릭 조건

        {

    Instantiate(bulletObj, transform.position, transform.rotation);

            // Instantiate 메소드를 통한 초간단 인스턴스 생성!

        }


    }

}



위와 같이 작성 후

생성 위치가 될  Create Empty 하나 생성하고 해당 오브젝트에다가 스크립트를 적용 합니다.
그리고 오브젝트를 클릭해 보면 아래의 그림과 같이 Bullet Obj 라는 공간이 있는데 해당공간에 만들어둔 prefab을 드래그 합니다.
그럼 아래 화면과 같이 됩니다.



그리고 유니티 실행 후 스페이스바를 열심히 누르시면 열심히 누르신 만큼 Sphere가 생성이 됩니다!!

적용화면





Posted by JakeGD
|