No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

NavMeshSurfaceModifierVolumeTests.cs 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #if UNITY_EDITOR || UNITY_STANDALONE
  2. using NUnit.Framework;
  3. using UnityEngine;
  4. namespace Unity.AI.Navigation.Tests
  5. {
  6. [TestFixture]
  7. class NavMeshSurfaceModifierVolumeTests
  8. {
  9. NavMeshSurface surface;
  10. NavMeshModifierVolume modifier;
  11. [SetUp]
  12. public void CreatePlaneAndModifierVolume()
  13. {
  14. var go = GameObject.CreatePrimitive(PrimitiveType.Plane);
  15. surface = go.AddComponent<NavMeshSurface>();
  16. modifier = new GameObject().AddComponent<NavMeshModifierVolume>();
  17. }
  18. [TearDown]
  19. public void DestroyPlaneAndModifierVolume()
  20. {
  21. GameObject.DestroyImmediate(surface.gameObject);
  22. GameObject.DestroyImmediate(modifier.gameObject);
  23. }
  24. [Test]
  25. public void AreaAffectsNavMeshOverlapping()
  26. {
  27. modifier.center = Vector3.zero;
  28. modifier.size = Vector3.one;
  29. modifier.area = 4;
  30. surface.BuildNavMesh();
  31. var expectedAreaMask = 1 << 4;
  32. Assert.IsTrue(NavMeshSurfaceTests.HasNavMeshAtOrigin(expectedAreaMask));
  33. }
  34. [Test]
  35. public void AreaDoesNotAffectsNavMeshWhenNotOverlapping()
  36. {
  37. modifier.center = 1.1f * Vector3.right;
  38. modifier.size = Vector3.one;
  39. modifier.area = 4;
  40. surface.BuildNavMesh();
  41. var expectedAreaMask = 1;
  42. Assert.IsTrue(NavMeshSurfaceTests.HasNavMeshAtOrigin(expectedAreaMask));
  43. }
  44. [Test]
  45. public void BuildUsesOnlyIncludedModifierVolume()
  46. {
  47. modifier.center = Vector3.zero;
  48. modifier.size = Vector3.one;
  49. modifier.area = 4;
  50. modifier.gameObject.layer = 7;
  51. surface.layerMask = ~(1 << 7);
  52. surface.BuildNavMesh();
  53. var expectedAreaMask = 1;
  54. Assert.IsTrue(NavMeshSurfaceTests.HasNavMeshAtOrigin(expectedAreaMask));
  55. }
  56. }
  57. }
  58. #endif