[#3-4. Script Review] 우주 정복 프로젝트

Maengkkong·2023년 11월 25일

ItemSpawner

MonsterContrller에서 몬스터의 체력이 모두 소모되었을 경우 호출
1) 아이템 8종 프리팹을 리스트로 불러온다.
2) 랜덤으로 아이템을 생성한다.

using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;


/// <summary>
/// 기능
///     1) 아이템 8종 프리팹을 리스트로 불러온다.
///     2) 랜덤으로 아이템을 생성한다.
/// 호출 : MonsterContrller에서 몬스터의 체력이 모두 소모되었을 경우 호출
/// </summary>
public class ItemSpawner : MonoBehaviour
{
    //아이템 프리팹 리스트
    private GameObject[] _itemList;

    // 아이템 오브젝트 생성
    public void CloneItem(Transform clonePos){
        //프리팹을 리스트로 생성
        _itemList = Resources.LoadAll<GameObject>("Prefabs/Items");
        int _randomIndex =Random.Range(0,_itemList.Length);
        
        //아이템 생성
        Instantiate(_itemList[_randomIndex], clonePos.position, Quaternion.identity);
    }
}

Resources.LoadAll()

이 메서드를 이용하여 Resource 폴더에 저장된 자산의 경로를 찾을 수 있다.
해당 유형이 요청된 매개변수와 일치하는 경우 자산을 반환한다.
그렇지 않다면 null을 반환한다.

Resources.LoadAll(string path);

매개변수

  • path = 경로

  • 자산의 이름과 경로는 슬래시를 사용한다.

  • GameObject를 로드하려면, 문자열을 사용하여 로드할 수 있다.

ex)

    public void CloneItem(Transform clonePos){
        //프리팹을 리스트로 생성
        _itemList = Resources.LoadAll<GameObject>("Prefabs/Items");
        int _randomIndex =Random.Range(0,_itemList.Length)
        }

Resources.LoadAll


Quaternion

Quaternion은 unity 내부의 모든 회전을 나타내는데 사용하며, 회전을 다른 회전으로 바꾸거나 vector를 회전으로 변경할 수 있다.

Quaternion은 생성자로 주어진 x, y, z, w 구성요소를 사용하여 새로운 Quasternion을 생성합니다.

주로 사용하는 함수

  • Quaternion.LookRotation
  • Quaternion.Angle
  • Quaternion.Euler
  • Quaternion.Slerp
  • Quaternion.FromToRotation
  • Quaternion.identity

정적 변수

  • indentity : identity rotasition(readOnly)

ex)

   public void CloneItem(Transform clonePos){
       //아이템 생성
       Instantiate(_itemList[_randomIndex], clonePos.position, Quaternion.identity);
   }

Quaternion1
Quaternion2

0개의 댓글