Unity 스킬 확장

2022. 2. 22. 03:26Unity/VR

이번 포스팅에서는 지금까지 제작해온 스크립트들로 여러가지 스킬들을 조립하는 것을 해보겠다.

먼저 처음부터 스킬을 제작할 때 스킬1개라도 기능분리를 2~3개로 나눠주었다. 그 기준은 아래와 같이 나눠놓았다.

1.SkillManager에 들어갈 위임용 스크립트

2.스킬 발동조건 스크립트

3.데미지 트리거 스크립트

 


폭발타입 스킬 배리에이션

 

폭발타입은 조립순서가 명확하다. 기존의 만들었던 IceBomb의 로직을 그대로 가져가면 되었다.

하지만 한가지 추가할점이 있었는데 기존의 로직을 여러가지 모습으로 바꾸려면 정적으로 할당된 이펙트를 동적으로 할당해줄 필요가 있다.

 

그렇기에 맨처음 위임용 스크립트에 이펙트를 같이 넣어주었다.

public class Bomb : MonoBehaviour        
{
    private Transform EyeTrans;
    public GameObject Bomb_Logic_Collider;

    public GameObject Bomb_effect;
    // Start is called before the first frame update
    void Start()
    {
        EyeTrans = GameObject.Find("EyeTrans").GetComponent<Transform>();

        GameObject icebomb_Collider = Instantiate(Bomb_Logic_Collider); // 폭발 타입 전달

        Bomb_Logic_Col bomb_Logic_Col = icebomb_Collider.GetComponent<Bomb_Logic_Col>();
        bomb_Logic_Col.Bomb = Bomb_effect; //effect전달

        icebomb_Collider.transform.SetParent(EyeTrans,false);
        Destroy(this.gameObject);
    }  
}

 

이렇게 위임용 스크립트가 발동되어 발동조건 스크립트가 Instantiate가 되면 위임용 스크립트에서 전달해준 effect를 통해 실제 스킬을 Instantiate해준다.

public class Bomb_Logic_Col : MonoBehaviour
{
	//조건검사
    Instantiate(Bomb, TempTrans.transform);
    Debug.Log("발동1");
    Destroy(this.gameObject);
    
    //

 

이렇게 실제 이펙트를 생성했으면 피격처리를 하면 끝이다.

<위임용 스킬객체(FireBomb)>

<위임용 스킬객체(LigthningBomb)>


연사타입 스킬 배리에이션

 

이번 연사타입 스킬은 2가지의 경우로 나뉘는데 첫번째는 탄환이 파티클인 경우고 두번째는 탄환이 일반적인 오브젝트인 경우이다. 

 

첫번째 타입인 경우에는 원래 제작 해 놓았던 RapidFire와 완전히 제작이 동일하다.

 

두번째 타입인 경우에는 발동조건까지 RapidFire와 동일시하고 데미지 트리거를 단발 탄환 데미지 트리거 스크립트를 입혀주면 된다. 현재 제작한 IceRapid같은 경우에는 후자인 경우라 단발데미지 트리거를 넣어주었다.

<연사타입 스킬(IceRapid)>

유의할점은 당연히 연사형이라 객체가 많이 발생해 데미지를 낮춰줘야한다. 적당히 public으로 설정해 inspector창에서 변경해주면 되겠다.

 

 

이렇게 스크립트를 분리해놓아서 스크립트의 교차를 통해 더 다양한 문제를 해결할 수 있다. 이번엔 하루걸려 3개를 더 추가했지만 점점 더 제작속도를 늘려가고 또 다른 매커니즘을 가지고있는 로직등을 제작할 예정이다.

 

물론 당연하지만 SkillManager의 등록만 해도 Ui조작을 통해 스킬들을 관리하고 사용할 수 있다.

 

 

'Unity > VR' 카테고리의 다른 글

XR Interaction ToolKit Teleportation, Grab 분리  (0) 2022.06.26
VR 캐주얼 FPS제작  (0) 2022.06.26
Unity 스킬 피격 처리  (0) 2022.01.15
Unity GunShot Skill 생성  (0) 2022.01.12
XR Rig Body생성, 스킬 거리 최댓값 주기  (0) 2021.09.05