반응형 유니티 Unity29 유니티 C# : 주변 오브젝트 날려버리기 - AddExplosionForce 유니티에서 게임을 제작하다보면 폭발을 구현해야할 때가 있다. 사실 펑하고 터지면서 연기가 나는 등의 이팩트는 에셋을 이용하면 되지만, 폭발이 일어났을 때 주변에 있는 오브젝트가 밀려나거나 반동으로 날아가버리는 등 상호작용을 구현해야 할 필요가 있다. 다양한 방법들이 존재하겠지만 내가 주로 사용하는 방법을 공유해보도록 하겠다. 이전에 업로드 했던 주변 콜라이더 검출 방법에 대한 글과 그리고 Rigidbody의 AddExplosionForce함수, foreach문을 사용해서 손쉽게 코드를 완성할 수 있다. 유니티 C# : 일정 범위에 존재하는 오브젝트 검출하는 방법 유니티로 게임을 만들다보면 일정 범위 안에 존재하는 오브젝트를 찾아야하는 경우가 잦다. 예를 들면, VR에서 플에이어가 무언가를 잡을때 잡을 수.. 2021. 7. 2. 월드 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. 이전 1 ··· 4 5 6 7 8 다음 반응형