FoliMesh

Podwodny świat w stylu Realistyczny do Babylon.js

Realistyczna roślinność z teksturami PBR kory i liści, mapami normalnych i liśćmi z alpha testem. Roślinność dla Babylon.js w formacie GLB: zaimportuj przez SceneLoader, podłącz poziomy LOD i buduj lasy działające w przeglądarce. Ta grupa obejmuje podwodne rośliny i formy rafowe do den morskich, lagun i płytkich wód: koral jeleni róg, koral czerwony, koral mózgowy i wachlarze morskie, a także laminarie, wodorosty i lilie wodne. Razem tworzą warstwowy wygląd rafy lub osłoniętego dna jeziora. Każdy model zawiera poziomy LOD0–LOD3, kolizję i punkt pivot u podstawy, dzięki czemu korale pozostają przytwierdzone do dna i nie unoszą się. Laminarie i wodorosty mają wagi kołysania dla delikatnego ruchu. Każde nowe ziarno seed daje inny kształt rozgałęzień lub układ liści, a modele eksportowane są jako GLB, FBX i OBJ dla Unity, Unreal Engine, Godot i Bevy. Liczba modeli w tym zestawieniu: 7. Każdy model ma LOD0–LOD3, kolizję i pivot u podstawy, a każdy nowy seed daje nowy wariant tego samego gatunku.

Modele
7
Poziomy szczegółowości
LOD0 – LOD3
Formaty
GLB · FBX · OBJ

O stylu Realistyczny

Realistyczne modele korzystają z workflow PBR metal/roughness, który glTF 2.0, Unity, Unreal, Godot i three.js czytają bezpośrednio.

  • Kora: mapy koloru, normalnych i chropowatości na pniu i gałęziach.
  • Liście: karty z alpha testem (masked) i teksturami kęp liści, a nie alpha blend — zapisują głębię, nie wymagają sortowania i rzucają poprawne cienie.
  • Kora i liście mają osobne materiały, więc liczba draw calli jest przewidywalna, a GPU instancing działa bez problemów.
  • LOD0 służy do zbliżeń; LOD1–LOD3 usuwają gałęzie i karty liści, a ostatni poziom jest dość lekki na duże odległości.

Najlepiej sprawdzają się w grach FPP i TPP, survivalach, otwartych światach i symulatorach na PC i konsole. Na urządzeniach mobilnych zacznij od LOD1 lub LOD2 jako najbliższego poziomu i pilnuj overdraw liści.

Użycie w Babylon.js

Babylon.js ładuje GLB przez loader glTF z @babylonjs/loaders: ImportMeshAsync (lub SceneLoader.ImportMeshAsync w starszym kodzie) albo LoadAssetContainerAsync, gdy potrzebujesz wielu kopii przez instantiateModelsToScene.

  • LOD: lod0.addLODLevel(30, lod1), addLODLevel(80, lod2) itd.; null zamiast siatki ukrywa obiekt powyżej tej odległości.
  • Tysiące drzew: thin instances (thinInstanceAdd z macierzami) rysują się jednym draw callem na siatkę; zwykłego createInstance użyj, gdy każde drzewo potrzebuje własnego pickingu lub logiki.
  • Liście: MASK z glTF staje się PBRMaterial z alpha testem (MATERIAL_ALPHATEST).
  • Siatka kolizji: isVisible = false i użycie z checkCollisions lub fizyką Havok (PhysicsAggregate z kształtem MESH).

Inne kategorie

To samo w innych stylach

To samo dla innych silników