본문 바로가기
반응형

유니티 Unity/유니티 기능 구현20

월드 UI가 플레이어 입장에서 항상 보이도록 만들기 void Update() { transform.forward = Camera.main.transform.forward; } 3D 게임인 경우 캐릭터명이나 상대방의 체력바가 각도에 상관없이 항상 보여야할 필요가 있을 수 있다. 플레이어가 존재하는 방향으로 항상 자동으로 회전해야하는 UI에 해당스크립트를 넣으면, 플레이어가 어떤 각도에서든 UI를 읽을 수 있다. 2021. 6. 19.
유니티 C# : 타임어택 - 시간이 줄어드는 UI 구현 // 시간을 표시하는 text UI를 유니티에서 가져온다. public Text gameTimeUI; // 전체 제한 시간을 설정해준다. 여기서는 180초. float setTime = 180; // 분단위와 초단위를 담당할 변수를 만들어준다. int min; float sec; void Update() { // 남은 시간을 감소시켜준다. setTime -= Time.deltaTime; // 전체 시간이 60초 보다 클 때 if (setTime >= 60f) { // 60으로 나눠서 생기는 몫을 분단위로 변경 min = (int)setTime / 60; // 60으로 나눠서 생기는 나머지를 초단위로 설정 sec = setTime % 60; // UI를 표현해준다 gameTime.text = "남은 시간 .. 2021. 6. 18.
유니티 C# : 일정시간마다 랜덤한 좌표에 오브젝트를 생성하기 // 시간을 담당할 변수를 하나 만들어준다. float currTime; // 반복되는 작업이므로 업데이트 함수 안에서 코드를 입력한다. void Update(){ // 시간이 흐르게 만들어준다. currTime += Time.deltatime; // 오브젝트를 몇초마다 생성할 것인지 조건문으로 만든다. 여기서는 10초로 했다. if (currTime > 10) { // x,y,z 좌표값을 각각 다른 범위에서 랜덤하게 정해지도록 만들었다. float newX = Random.Range(-10f, 10f), newY = Random.Range(-50f, 50f), newZ = Random.Range(-100f, 100f); // 생성할 오브젝트를 불러온다. GameObject monster = Instan.. 2021. 6. 17.
유니티 C# : 일정 범위에 존재하는 오브젝트 검출하는 방법 유니티로 게임을 만들다보면 일정 범위 안에 존재하는 오브젝트를 찾아야하는 경우가 잦다. 예를 들면, VR에서 플에이어가 무언가를 잡을때 잡을 수 있는 반경을 설정하거나 폭발효과로 일정 주변을 날려버려야할 때 등등 사용할 방법이 굉장히 많기 때문에 잘 알아두어야한다. 이럴 때 사용하는 것이 Physics.OverlapSphere이다. Collider[] colls = Physics.OverlapSphere(transform.position, 100.0f); 첫번째 값 : 위치 두번째 값 : 작용 반경 즉, 설정한 위치로부터 100f거리의 모든 Collider를 배열로 담는다. 범위 안에 존재하는 오브젝트들이 colls라는 이름의 배열에 담겨있으므로, 조건문이나 반복문 등을 활용해서 다양한 상호작용을 일으킬.. 2021. 6. 5.
반응형