NavMeshObstacle을 사용하는 코드 예시:
using UnityEngine;
using UnityEngine.AI;
public class CubeTowerObstacle : MonoBehaviour
{
void Start()
{
NavMeshObstacle obstacle = gameObject.AddComponent<NavMeshObstacle>();
obstacle.carving = true; // NavMesh가 이 오브젝트 주변을 실시간으로 업데이트
obstacle.size = new Vector3(1f, 10f, 1f); // 탑의 크기에 맞춰 사이즈 설정
}
}
NavMesh를 다시 베이킹하는 코드 예시:
using UnityEngine;
using UnityEngine.AI;
public class RebuildNavMesh : MonoBehaviour
{
public NavMeshSurface navMeshSurface;
void Update()
{
if (/* 탑이 완성되는 등의 조건 */)
{
navMeshSurface.BuildNavMesh(); // NavMesh를 다시 베이킹
}
}
}
다음 두 가지 방법 중에서 상황에 맞는 것을 선택할 수 있습니다:
동적인 장애물에는 NavMeshObstacle을 사용하는 것이 일반적으로 더 효율적이고, 성능에도 부담이 덜하므로 이 방법을 권장합니다.
유니티 랜덤으로 리스트안의 값을 섞기 (0) | 2024.10.02 |
---|---|
유니티 자동 큐브타워 만들기 테스트중_V1 (1) | 2024.10.02 |
유니티 오브젝트 부모(상위),자식(하위) 관계 만들기 (0) | 2024.09.30 |
유니티 procedural animation, rigging 연구중 (0) | 2024.09.29 |
유니티 버튼 누르면 큐브 생성하기 (0) | 2024.09.29 |