[Unity] 트러블슈팅

2025. 2. 20. 14:44·Game Engine/Unity

배경

Obstacle이 제대로 생성되지 않았다.

해결 방법

SetRandomPlace 함수의 위치 

  • SetRandomPlace가 정상적으로 위치를 반환을 하지않았던 것이 문제였다.
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class BgLooper : MonoBehaviour
{
    public int numBgCount = 2;

    public int obstacleCount = 0;
    public Vector3 obstacleLastPosition = Vector3.zero;

    void Start()
    {
        Obstacle[] obstacles = GameObject.FindObjectsOfType<Obstacle>();
        obstacleLastPosition = obstacles[0].transform.position;
        obstacleCount = obstacles.Length;

        for (int i = 0; i < obstacleCount; i++)
        {
            obstacleLastPosition = obstacles[i].SetRandomPlace(obstacleLastPosition, obstacleCount);
        }
    }

    public void OnTriggerEnter2D(Collider2D collision)
    {
        Debug.Log("Triggered: " + collision.name);

        if (collision.CompareTag("BackGround"))
        {
            BoxCollider2D bgCollider = collision.GetComponent<BoxCollider2D>();
            if (bgCollider != null)
            {
                float widthOfBgObject = bgCollider.size.x; // 백그라운드의 width를 가져옵니다.
                Vector3 pos = collision.transform.position;

                pos.x += widthOfBgObject * numBgCount;  // 백그라운드 객체를 이동시킵니다.
                collision.transform.position = pos;
                Debug.Log("Updated Background position: " + pos);  // 디버깅 로그 추가
            }
            return;
        }

        Obstacle obstacle = collision.GetComponent<Obstacle>();
        if (obstacle)
        {
            // 장애물이 충돌했을 때 새로운 위치로 설정
            obstacleLastPosition = obstacle.SetRandomPlace(obstacleLastPosition, obstacleCount);
            Debug.Log("Obstacle position updated: " + obstacle.transform.position);  // 디버깅 로그 추가
        }
    }

}

 

 

오브젝트의 충돌 및 위치 갱신 처리가 올바르게 이루어지는지 확인하는 것이 중요할 것 같다.

'Game Engine > Unity' 카테고리의 다른 글

코루틴 사용법  (0) 2025.02.25
[Unity] 2D 무한 맵 생성  (0) 2025.02.24
[Unity] 플레이어를 따라오는 카메라 구현  (0) 2025.02.19
[Unity] 이동구현  (0) 2025.02.18
[Unity] Stack  (0) 2025.02.17
'Game Engine/Unity' 카테고리의 다른 글
  • 코루틴 사용법
  • [Unity] 2D 무한 맵 생성
  • [Unity] 플레이어를 따라오는 카메라 구현
  • [Unity] 이동구현
Xenawn
Xenawn
제넌 게임개발 블로그
  • Xenawn
    Xenawn
    Xenawn
  • 전체
    오늘
    어제
    • 분류 전체보기 (77)
      • Language (24)
        • C++ (4)
        • C# (20)
      • Game Engine (32)
        • Unity (19)
        • Unity API (1)
        • Game Project (12)
      • Git (2)
      • Algorithm (9)
        • BOJ [C++] (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    카메라 움직임
    POTION
    내일배움캠프
    스파르타내일배움캠프 #스파르타내일배움캠프til
    C++
    유니티
    fps cam
    FPS
    BOJ
    CPP
    Unity
    1181
    c#
    블랙잭
    배열
    string format
    백준
    문자열 보간
    headbob
    알고리즘
    걸음fps
    프로퍼티
    FizzBuzz
    게임개발
    객체
    프레임
    리스트
    포션
    클래스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Xenawn
[Unity] 트러블슈팅
상단으로

티스토리툴바