0416 랜덤 아이템 스폰너
2021. 4. 16. 14:32ㆍunity
using UnityEngine;
public class Hero : MonoBehaviour
{
public float radius = 3f;
// Start is called before the first frame update
void Start()
{
this.OnDrawGizmos();
}
//플레이어 캐릭터는 주변에 반경만 그린다.
private void OnDrawGizmos()
{
Gizmos.DrawWireSphere(this.transform.position, this.radius);
}
}
using UnityEngine;
using UnityEngine.AI;
public class InGame : MonoBehaviour
{
public Hero hero;
public UIGame uiGame;
public GameObject[] itemPrefebs;
public int amount = 5;
// Start is called before the first frame update
void Start()
{
//히어로의 주변에 떨구는 아이템의 갯수가 5개이니, 아래의 메서드를 5번 반복
for (int i = 0; i < 5; i++)
{
this.GetRandPosition();
}
}
//랜덤 아이템을 반경 안에서 랜덤 위치에 하나 떨구기
public void GetRandPosition()
{
var pos=Random.insideUnitSphere * this.hero.radius + this.hero.transform.position;
NavMeshHit hit;
if (NavMesh.SamplePosition(pos, out hit, this.hero.radius, NavMesh.AllAreas))
{
Debug.Log(hit.position);
int randIdx = Random.Range(0, this.itemPrefebs.Length);
var prefab = this.itemPrefebs[randIdx];
var go= Instantiate<GameObject>(prefab, hit.position, Quaternion.identity);
}
else
{
Debug.LogFormat("{0}is not available.", pos);
}
}
}
'unity' 카테고리의 다른 글
0416 페이드 인으로 씬 전환 (0) | 2021.04.16 |
---|---|
0416 Saving Data in Unity (0) | 2021.04.16 |
0416 포스트 프로세싱/렌더링 파이프라인 (0) | 2021.04.16 |
0415 Line Renderer (0) | 2021.04.15 |
0415 코루틴 사용해서 자동총쏘기 구현+코루틴 연습(fadeout) (0) | 2021.04.15 |